Учебное руководство
Главы руководства
На этой странице

Словарь, команды, версии и первоисточники

Оглавление

Версии, закреплённые в репозитории

Это снимок manifests/Compose на 2026-10-02, а не рекомендация автоматически обновиться на «последнюю» версию.

ИнструментВерсия/веткаГде закреплён
Node.js24.xengines, Dockerfile и Actions
pnpm12.8.1root packageManager
TypeScript workspace7.0.2package manifests
Next.js16.3.8web/package.json
React web19.2.8web/package.json
Mantine core/hooks9.6.3web/package.json
tRPC client/server11.19.0web/package.json
Blocks renderer1.0.2web/package.json
parse58.0.1infra/strapi/package.json
Zod4.6.5contracts/package.json
Hatchet SDK1.33.2web и functions manifests
Garage S32.3.0compose.yaml
Hatchet Litev0.107.0compose.yaml
Strapi5.56.0infra/strapi/package.json
React / TypeScript CMS18.x / 5.xСобственный npm lockfile CMS
PostgreSQL17-alpinecompose.yaml
Caddy2-alpinecompose.yaml
Jest30.5.2web/package.json
Oxlint / Oxfmt1.86.0 / 0.71.0root devDependencies

Версии SDK и Hatchet server не обязаны совпадать номером. Обновляйте их с проверкой совместимости API и настоящего выполнения задачи. Strapi имеет отдельный lockfile; root pnpm install его не переписывает.

Все корневые команды

КомандаРеальное действие
pnpm devcontracts build → Next dev
pnpm dev:functionscontracts build → Node watch worker
pnpm setupСоздать локальный .env один раз
pnpm infra:s3Garage health → включить website bucket media
pnpm infra:upPostgreSQL + Hatchet + Garage, wait
pnpm infra:tokenПолучить token Hatchet в .env
pnpm infra:token --rotateПолучить новый token, даже если строка уже есть
pnpm stack:upProfile app, build и wait всех контейнеров
pnpm stack:downОстановить и удалить контейнеры/сеть, сохранить volumes
pnpm buildРекурсивная сборка workspace
pnpm startNext start; для standalone смотрите troubleshooting
pnpm typecheckWorkspace typecheck, включая Next typegen
pnpm lintOxlint, warnings считаются ошибками
pnpm formatOxfmt, изменяет файлы
pnpm format:checkOxfmt readonly-проверка
pnpm testСерверные тесты web
node scripts/check-static-site.mjsИзолированная CMS, полный check и production ISR smoke
pnpm checkbuild → typecheck → lint → format check → test

pnpm --filter <package> <script> выбирает пакет. Команды root и package с одинаковым названием могут иметь разный охват. Например, root build собирает workspace, а web build — только Next. Scripts infra:* и setup существуют только в корне, поэтому инструкции этого руководства используют корень по умолчанию.

allowBuilds в workspace фиксирует запрещённые install scripts отдельных зависимостей. Это осознанная install policy, а не гарантия, что любая будущая версия зависимости заработает без её lifecycle script. Не разрешайте все scripts автоматически при первой ошибке установки. Lockfile и policy рассматривайте вместе.

Карта важных файлов

Файл/группаЧто искать
package.jsonКоманды, engines, версии tooling
pnpm-workspace.yamlПакеты, install policy
tsconfig.base.jsonБазовый Node ESM TypeScript
web layoutОбщая оболочка, metadata, noindex
web next configStandalone, trace root, HTTP headers
repositoryCMS validation, published reading, media normalization
routerRead-only процедуры
contractsRuntime input и типы
workerTask definition и registration
ComposeСервисы, зависимости, volumes, local defaults
production overrideОбразы, домены и административный доступ
workflowCI и release pipeline
release.shПрименение и best-effort rollback

Schemas, controllers, routes и services CMS находятся в infra/strapi/src/api. Конфиги в infra/strapi/config описывают HTTP, БД, admin secrets, plugins и middleware. Upload plugin ограничивает типы файлов, в частности запрещает SVG для CMS upload; исходный SVG конвертируется в PNG импортёром; frontend получает CMS media.

Словарь

ТерминЗначение в этом проекте
МонорепозиторийОдин Git-репозиторий с несколькими приложениями/пакетами
WorkspaceНабор пакетов, которые pnpm устанавливает и связывает вместе
LockfileКонкретные версии и дерево установленных зависимостей
ESMМодули JavaScript с import/export
Type checkingПроверка программы до выполнения
Type strippingУдаление TS-аннотаций Node без проверки типов
Runtime validationПроверка настоящего значения во время выполнения
Zod schemaИсполняемое определение требований к данным
ContractОбщая договорённость producer/consumer о форме сообщения
App RouterФайловая модель страниц/HTTP handlers Next.js
Server ComponentКомпонент, работающий на серверной стороне дерева React
Client ComponentКомпонент внутри границы use client, с браузерной логикой
HydrationПодключение интерактивной React-логики к первоначальному HTML
SSRПодготовка HTML сервером
Prerender/SSGПодготовка страницы заранее, в том числе при сборке
RevalidationОбновление ранее подготовленного/кэшированного представления
SlugЧеловекочитаемый идентификатор в URL
MetadataЗаголовок, описание и инструкции robots страницы
CallerВызов tRPC router внутри сервера без HTTP
ProcedureОтдельная типизированная операция tRPC
Query / mutationЧтение / изменение; текущий router содержит queries
WebhookHTTP-сообщение об изменении от CMS к нашему web
ProducerТот, кто отправляет событие; route handler
ConsumerТот, кто получает и обрабатывает сообщение
EventФакт/сообщение, которое может инициировать task
TaskОпределение фонового обработчика
RunКонкретное выполнение определения
WorkerДолгоживущий процесс-исполнитель
TenantОтдельная область данных/работ Hatchet
gRPCПротокол соединения SDK/worker с Hatchet
RetryНовая попытка после ошибки
IdempotencyПовтор операции не создаёт лишний бизнес-эффект
OutboxЗапись предназначенного к отправке сообщения в одной транзакции с данными
ImageСобранная файловая система и metadata приложения Docker
ContainerЗапущенный экземпляр image
VolumeХранилище, переживающее пересоздание контейнера
Bind mountМонтирование конкретного пути хоста в контейнер
ProfileУсловная группа запуска сервисов Compose
HealthcheckПериодическая проверка контейнера
ReadinessГотовность выполнить ожидаемую операцию
Reverse proxyПринимает внешний запрос и пересылает нужному сервису
TLSЗащита сетевого соединения HTTPS
Basic AuthДополнительная HTTP-аутентификация Caddy перед панелями
JWTПодписанный token; наличие текста не означает действительность
DigestИдентификатор конкретного содержимого image
GHCRGitHub Container Registry
ReleaseНабор Compose/config/image references конкретного commit
RollbackВозврат версии приложения; здесь не откат данных
BackupСохранённая копия данных и ключей
Restore drillПроверенное восстановление в отдельном окружении

Официальные источники

Ссылки дополняют чтение нашего кода; latest-документация может описывать отличия от закреплённых версий. Начинайте с версии manifest, не копируйте пример из другого major.

Изучайте инструмент на конкретной операции: найдите определение в коде, воспроизведите в локальной среде, объясните результат и только затем расширяйте функциональность.