Одно слово — одна вещь
Шесть слов в этом продукте использовались для обозначения больше чем одной вещи, и каждое такое пересечение стоило кому-то часа. Это реестр. Слово, которого нет в этом списке, не является термином продукта, а термин из этого списка означает ровно то, что здесь сказано, — в UI, в CLI, в спецификациях и в сообщениях коммитов.
Инсталляция
Заголовок раздела «Инсталляция»Одно развёртывание Dee Wan. Admin Worker, admin UI, управляющая база данных, а также учётные записи и учётные данные за ними. Создаётся один раз установщиком.
- То, что производит
npm run setup. - Имеет ОДНУ управляющую базу данных, ОДНУ ссылку для получения прав (claim link), ОДИН набор суперадминистраторов.
- Обслуживает много сайтов.
- НЕ «инсталляция сайта». Сайт не инсталлируется; он создаётся.
Связанное, но отдельное понятие: установщик — это движок, и у него два интерфейса: веб-установщик и CLI-установщик. Оба управляют одним и тем же движком.
Один арендатор (tenant) внутри инсталляции. Имя, slug, имя хоста, собственный контент, собственные языки, собственные роли и гранты.
- Создаётся через
POST /api/sites, никогда через установщик. - В топологии «на сайт» (per-site) у сайта также есть собственная база данных
контента; в общей (shared) топологии он использует единственную базу инсталляции.
Какая из них у него есть — это строка в
site_binding, а не свойство слова. - НЕ «site» Cloudflare и НЕ зона. Когда имеется в виду объект Cloudflare, говорите зона.
Публикация
Заголовок раздела «Публикация»Делает один фрагмент контента доступным для чтения публичным read Worker. Переход жизненного цикла контента; к инфраструктуре отношения не имеет.
publish/unpublish, для каждого элемента контента, для каждой группы локалей.- Меняет то, что отвечает
/api/…на публичном имени хоста. Не меняет ни кода, ни привязки (binding), ни развёртывания. - НЕ «публикация сайта». Сайт не публикуется; публикуется его контент.
Graduation
Заголовок раздела «Graduation»Генерация автономного типизированного проекта бэкенда из модели контента сайта. Генерация исходного кода, и только она.
В UI ДЛЯ КЛИЕНТОВ ГОВОРИТЕ “GENERATE STANDALONE BACKEND”. Никто за пределами этого
репозитория не знает, что значит «graduation» сайта, и это слово описывает
механизм, а не то, что человек получает. graduation остаётся внутренним
техническим термином — имена модулей, CLI-скрипты (npm run graduate), спецификации,
сообщения коммитов, этот реестр — и никогда не появляется на экране, кнопке, в toast
или в тексте ошибки, который читает владелец. scripts/check-vocabulary.mjs роняет CI
на видимой пользователю строке, нарушающей это правило.
npm run graduateзаписывает проект: схему Prisma, миграции, Worker,wrangler.jsonc, типизированные маршруты.- Результат отсоединён — он ничего не знает об инсталляции, которая его произвела, и ничего не вызывает в ответ (SPEC.md §13.1).
- Graduation ничего не развёртывает.
graduate:allтоже ничего не развёртывает. - НЕ миграция, НЕ экспорт, НЕ развёртывание. Это генерация кода.
Развёртывание
Заголовок раздела «Развёртывание»Запуск конкретной ревизии на Cloudflare. Этим словом называют две разные вещи, и их разделяет то, на что они действуют:
| Термин | Действует на | Команда |
|---|---|---|
| развёртывание инсталляции | admin Worker и admin UI | npm run deploy |
| развёртывание сайта | собственные Worker и D1 одного сайта, прошедшего «graduation» | кнопка Deploy, через CI |
- Развёртывание сайта — это CI-конвейер из SPEC.md §13.1: выпустить учётные
данные сборки, повторно сгенерировать файлы, принадлежащие генератору, добавить миграцию,
применить миграции к D1, развернуть эту ревизию, проверить, отчитаться.
site_deployment— строка, которая его фиксирует. - НЕ graduation. Graduation производит код, который запускает развёртывание.
Провижининг
Заголовок раздела «Провижининг»Создание ресурсов Cloudflare, нужных чему-либо, и запись о том, что они существуют.
- Провижининг инсталляции: D1, R2 или Images, Pages, DNS — то, что делает
setup. - Провижининг сайта:
create → migrate → bind → redeploy → verifyдля собственной базы данных контента сайта, фиксируется вprovision_attempt/provision_ledger. - Всегда записывается в журнал (ledger), всегда возобновляем, никогда не выводится из имени.
- НЕ инсталляция, НЕ развёртывание. Провижининг создаёт ресурс; развёртывание помещает на него код.
Слова, которые мы не используем
Заголовок раздела «Слова, которые мы не используем»| Избегать | Потому что | Говорить |
|---|---|---|
| «tenant» в UI | это слово реализации; операторы думают сайтами | сайт |
| «instance» для развёртывания | content_instance — это строка, и она повсюду |
инсталляция |
| «migrate» для импорта контента | migrate — это миграция схемы |
импорт |
| «export» для «graduation» | экспорт — это контент, который уходит; «graduation» — это код, который приходит | graduate |
| «sync» | оно означало четыре разные вещи | назовите направление |
| «graduate» в UI | оно называет механизм, а не то, что получает владелец | generate standalone backend |
| «workflow» для сайта с выключенным ревью | нет ревью, в котором можно находиться | publish / unpublish |