манифест набора переименован в .conventions-suite.toml
- оба манифеста теперь данные инструмента: он их читает и переписывает целиком, комментариев они не держат — точка в начале ставит их рядом со служебными файлами, а не среди содержимого репозитория - прежнее основание из TOOL.md («в наборе файл правится при каждой новой теме, и прятать его незачем») отпало: правит его convy - ссылки в README.md, CLAUDE.md, TOOL.md и TODO.md обновлены
This commit is contained in:
@@ -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:` копий и в подписках манифестов.
|
||||
- Формат `<ПРЕФИКС>-<номер>`, нумерация сквозная внутри файла. Порядок правил
|
||||
|
||||
@@ -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` | в проекте | подключение: откуда копии, компоненты и их подписки |
|
||||
|
||||
Манифест набора — единственное место, где перечислены оба идентификатора
|
||||
|
||||
@@ -76,7 +76,7 @@ API, а норму при этом нельзя поправить, не зад
|
||||
одну копию. Это ровно та болезнь, от которой лечили тему (META-28): объявление
|
||||
без реестра проверяется только глазами.
|
||||
|
||||
Напрашивается секция в `suite.toml` рядом с `[topics.live]` и
|
||||
Напрашивается секция в `.conventions-suite.toml` рядом с `[topics.live]` и
|
||||
`[prefixes.live]` — перечень живых языков и стеков с однострочным описанием, и
|
||||
те же правила выбытия. Против: третий реестр в манифесте, а значений сегодня
|
||||
три (`go`, `ansible`, `htmx`). За: словарь общий у двух сторон — им же
|
||||
|
||||
@@ -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` не заводим: два
|
||||
|
||||
Reference in New Issue
Block a user