манифест набора переименован в .conventions-suite.toml

- оба манифеста теперь данные инструмента: он их читает и переписывает
  целиком, комментариев они не держат — точка в начале ставит их рядом
  со служебными файлами, а не среди содержимого репозитория
- прежнее основание из TOOL.md («в наборе файл правится при каждой новой
  теме, и прятать его незачем») отпало: правит его convy
- ссылки в README.md, CLAUDE.md, TOOL.md и TODO.md обновлены
This commit is contained in:
av
2026-07-28 09:54:52 +03:00
parent 9a3a89358f
commit 0d335ff58d
5 changed files with 22 additions and 14 deletions
+5 -4
View File
@@ -9,7 +9,8 @@ code in this repository.
Канон конвенций разработки для личных проектов. Сами конвенции лежат в
`conventions/{arch,lang/<язык>,stack/<стек>}/`; обвязка канона (`README.md`,
`LANGUAGE.md`, `GUIDE.md`, `READING.md`, `suite.toml`, `conv`) живёт в
`LANGUAGE.md`, `GUIDE.md`, `READING.md`, `.conventions-suite.toml`, `conv`)
живёт в
корне. К потребителю из неё едет только `READING.md` — короткое описание языка
для читателя копий.
@@ -76,9 +77,9 @@ code in this repository.
латиницей, рекомендуется нижний kebab-case, годится любой идентификатор,
пригодный для имени файла.
- META-28: тема объявлена в шапке (`topic: time`) и стоит в манифесте набора
(`suite.toml`, секция `[topics.live]`). Слои одной темы несут одно имя —
по нему собираются в один файл, как бы ни назывались их файлы; имя файла
повторяет тему из удобства.
(`.conventions-suite.toml`, секция `[topics.live]`). Слои одной темы несут
одно имя — по нему собираются в один файл, как бы ни назывались их файлы;
имя файла повторяет тему из удобства.
- META-29: имя темы не переиспользуется, снятое уходит в `[topics.retired]`
с причиной и датой. Оно живёт в `origin:` копий и в подписках манифестов.
- Формат `<ПРЕФИКС>-<номер>`, нумерация сквозная внутри файла. Порядок правил
+3 -3
View File
@@ -13,7 +13,7 @@
| [LANGUAGE.md](LANGUAGE.md) | язык записи правил: идентификаторы, модальность, обоснование |
| [GUIDE.md](GUIDE.md) | как ведут конвенции: когда заводить, механизация, отступления |
| [READING.md](READING.md) | как читать конвенцию: то, что едет к потребителю |
| [suite.toml](suite.toml) | манифест набора: язык, темы, префиксы правил |
| `.conventions-suite.toml` | манифест набора: язык, темы, префиксы правил |
| `conv` | сборка копий |
К потребителю едет содержимое `conventions/` и один файл обвязки —
@@ -142,7 +142,7 @@ prefix: KEYS
документ, как бы ни назывались их файлы. Имя файла повторяет тему из
удобства, но истина — в шапке.
Темы перечислены в манифесте набора — [`suite.toml`](suite.toml),
Темы перечислены в манифесте набора — `.conventions-suite.toml`,
секция `[topics.live]`: имя и однострочное описание. Имя темы не
переиспользуется по той же причине, что и префикс: оно живёт в чужих
репозиториях — в шапке `origin:` каждой копии, в подписке манифеста, в тексте
@@ -311,7 +311,7 @@ MIGR-6 не соблюдается в `show_history`, `queue`: составны
| Файл | Где лежит | Что описывает |
|---|---|---|
| `suite.toml` | в наборе | сам набор: язык, темы, префиксы правил |
| `.conventions-suite.toml` | в наборе | сам набор: язык, темы, префиксы правил |
| `.conventions.toml` | в проекте | подключение: откуда копии, компоненты и их подписки |
Манифест набора — единственное место, где перечислены оба идентификатора
+1 -1
View File
@@ -76,7 +76,7 @@ API, а норму при этом нельзя поправить, не зад
одну копию. Это ровно та болезнь, от которой лечили тему (META-28): объявление
без реестра проверяется только глазами.
Напрашивается секция в `suite.toml` рядом с `[topics.live]` и
Напрашивается секция в `.conventions-suite.toml` рядом с `[topics.live]` и
`[prefixes.live]` — перечень живых языков и стеков с однострочным описанием, и
те же правила выбытия. Против: третий реестр в манифесте, а значений сегодня
три (`go`, `ansible`, `htmx`). За: словарь общий у двух сторон — им же
+13 -6
View File
@@ -46,10 +46,16 @@ javascript — никогда). Уровнем CLI компонент не ст
репозитория, а не про уровень.
Манифесты названы по тому, что описывают, а не по уровню ради симметрии:
`suite.toml` в наборе — идентичность набора, `.conventions.toml` в проекте —
подключённые конвенции. Точка в проекте отделяет служебное от содержимого
проекта; в наборе файл правится при каждой новой теме, и прятать его незачем.
Отсюда же бесплатное определение контекста: по имени рядом видно, где ты.
`.conventions-suite.toml` в наборе — идентичность набора, `.conventions.toml`
в проекте — подключённые конвенции. Оба начинаются с точки, потому что оба —
данные инструмента, а не документы репозитория: они читаются и **переписываются
целиком** командами, комментариев не держат, и объяснения к ним живут в
соседних файлах. Отсюда же бесплатное определение контекста: по имени рядом
видно, где ты.
Прежде манифест набора назывался `suite.toml` и точки не имел — на том
основании, что правится он руками при каждой новой теме. Основание отпало:
правит его инструмент.
## Раскладка команд
@@ -80,8 +86,9 @@ convy suite new новая тема: шапка, префикс, запис
Три следствия для реализации:
- **контекст определяется и отказ говорится явно.** `.conventions.toml` рядом
— проект, `suite.toml` — набор. Проектная команда, набранная в наборе, не
делает ничего наугад: она отказывает и подсказывает наборный аналог;
— проект, `.conventions-suite.toml` — набор. Проектная команда, набранная в
наборе, не делает ничего наугад: она отказывает и подсказывает наборный
аналог;
- **помощь группируется заголовками** «В проекте» и «В наборе»: в плоском
списке уровни не видны;
- **синонимов нет.** `convy project pull` рядом с `convy pull` не заводим: два