diff --git a/suite.toml b/.conventions-suite.toml similarity index 100% rename from suite.toml rename to .conventions-suite.toml diff --git a/CLAUDE.md b/CLAUDE.md index fcbad95..9aba3b6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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:` копий и в подписках манифестов. - Формат `<ПРЕФИКС>-<номер>`, нумерация сквозная внутри файла. Порядок правил diff --git a/README.md b/README.md index 7e129cf..b18ddc8 100644 --- a/README.md +++ b/README.md @@ -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` | в проекте | подключение: откуда копии, компоненты и их подписки | Манифест набора — единственное место, где перечислены оба идентификатора diff --git a/TODO.md b/TODO.md index 7f1b974..d8ab2b3 100644 --- a/TODO.md +++ b/TODO.md @@ -76,7 +76,7 @@ API, а норму при этом нельзя поправить, не зад одну копию. Это ровно та болезнь, от которой лечили тему (META-28): объявление без реестра проверяется только глазами. -Напрашивается секция в `suite.toml` рядом с `[topics.live]` и +Напрашивается секция в `.conventions-suite.toml` рядом с `[topics.live]` и `[prefixes.live]` — перечень живых языков и стеков с однострочным описанием, и те же правила выбытия. Против: третий реестр в манифесте, а значений сегодня три (`go`, `ansible`, `htmx`). За: словарь общий у двух сторон — им же diff --git a/TOOL.md b/TOOL.md index 8c0c44c..8a9428a 100644 --- a/TOOL.md +++ b/TOOL.md @@ -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` не заводим: два