манифест набора переименован в .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`,
|
`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` — короткое описание языка
|
корне. К потребителю из неё едет только `READING.md` — короткое описание языка
|
||||||
для читателя копий.
|
для читателя копий.
|
||||||
|
|
||||||
@@ -76,9 +77,9 @@ code in this repository.
|
|||||||
латиницей, рекомендуется нижний kebab-case, годится любой идентификатор,
|
латиницей, рекомендуется нижний kebab-case, годится любой идентификатор,
|
||||||
пригодный для имени файла.
|
пригодный для имени файла.
|
||||||
- META-28: тема объявлена в шапке (`topic: time`) и стоит в манифесте набора
|
- META-28: тема объявлена в шапке (`topic: time`) и стоит в манифесте набора
|
||||||
(`suite.toml`, секция `[topics.live]`). Слои одной темы несут одно имя —
|
(`.conventions-suite.toml`, секция `[topics.live]`). Слои одной темы несут
|
||||||
по нему собираются в один файл, как бы ни назывались их файлы; имя файла
|
одно имя — по нему собираются в один файл, как бы ни назывались их файлы;
|
||||||
повторяет тему из удобства.
|
имя файла повторяет тему из удобства.
|
||||||
- META-29: имя темы не переиспользуется, снятое уходит в `[topics.retired]`
|
- META-29: имя темы не переиспользуется, снятое уходит в `[topics.retired]`
|
||||||
с причиной и датой. Оно живёт в `origin:` копий и в подписках манифестов.
|
с причиной и датой. Оно живёт в `origin:` копий и в подписках манифестов.
|
||||||
- Формат `<ПРЕФИКС>-<номер>`, нумерация сквозная внутри файла. Порядок правил
|
- Формат `<ПРЕФИКС>-<номер>`, нумерация сквозная внутри файла. Порядок правил
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
| [LANGUAGE.md](LANGUAGE.md) | язык записи правил: идентификаторы, модальность, обоснование |
|
| [LANGUAGE.md](LANGUAGE.md) | язык записи правил: идентификаторы, модальность, обоснование |
|
||||||
| [GUIDE.md](GUIDE.md) | как ведут конвенции: когда заводить, механизация, отступления |
|
| [GUIDE.md](GUIDE.md) | как ведут конвенции: когда заводить, механизация, отступления |
|
||||||
| [READING.md](READING.md) | как читать конвенцию: то, что едет к потребителю |
|
| [READING.md](READING.md) | как читать конвенцию: то, что едет к потребителю |
|
||||||
| [suite.toml](suite.toml) | манифест набора: язык, темы, префиксы правил |
|
| `.conventions-suite.toml` | манифест набора: язык, темы, префиксы правил |
|
||||||
| `conv` | сборка копий |
|
| `conv` | сборка копий |
|
||||||
|
|
||||||
К потребителю едет содержимое `conventions/` и один файл обвязки —
|
К потребителю едет содержимое `conventions/` и один файл обвязки —
|
||||||
@@ -142,7 +142,7 @@ prefix: KEYS
|
|||||||
документ, как бы ни назывались их файлы. Имя файла повторяет тему из
|
документ, как бы ни назывались их файлы. Имя файла повторяет тему из
|
||||||
удобства, но истина — в шапке.
|
удобства, но истина — в шапке.
|
||||||
|
|
||||||
Темы перечислены в манифесте набора — [`suite.toml`](suite.toml),
|
Темы перечислены в манифесте набора — `.conventions-suite.toml`,
|
||||||
секция `[topics.live]`: имя и однострочное описание. Имя темы не
|
секция `[topics.live]`: имя и однострочное описание. Имя темы не
|
||||||
переиспользуется по той же причине, что и префикс: оно живёт в чужих
|
переиспользуется по той же причине, что и префикс: оно живёт в чужих
|
||||||
репозиториях — в шапке `origin:` каждой копии, в подписке манифеста, в тексте
|
репозиториях — в шапке `origin:` каждой копии, в подписке манифеста, в тексте
|
||||||
@@ -311,7 +311,7 @@ MIGR-6 не соблюдается в `show_history`, `queue`: составны
|
|||||||
|
|
||||||
| Файл | Где лежит | Что описывает |
|
| Файл | Где лежит | Что описывает |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `suite.toml` | в наборе | сам набор: язык, темы, префиксы правил |
|
| `.conventions-suite.toml` | в наборе | сам набор: язык, темы, префиксы правил |
|
||||||
| `.conventions.toml` | в проекте | подключение: откуда копии, компоненты и их подписки |
|
| `.conventions.toml` | в проекте | подключение: откуда копии, компоненты и их подписки |
|
||||||
|
|
||||||
Манифест набора — единственное место, где перечислены оба идентификатора
|
Манифест набора — единственное место, где перечислены оба идентификатора
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ API, а норму при этом нельзя поправить, не зад
|
|||||||
одну копию. Это ровно та болезнь, от которой лечили тему (META-28): объявление
|
одну копию. Это ровно та болезнь, от которой лечили тему (META-28): объявление
|
||||||
без реестра проверяется только глазами.
|
без реестра проверяется только глазами.
|
||||||
|
|
||||||
Напрашивается секция в `suite.toml` рядом с `[topics.live]` и
|
Напрашивается секция в `.conventions-suite.toml` рядом с `[topics.live]` и
|
||||||
`[prefixes.live]` — перечень живых языков и стеков с однострочным описанием, и
|
`[prefixes.live]` — перечень живых языков и стеков с однострочным описанием, и
|
||||||
те же правила выбытия. Против: третий реестр в манифесте, а значений сегодня
|
те же правила выбытия. Против: третий реестр в манифесте, а значений сегодня
|
||||||
три (`go`, `ansible`, `htmx`). За: словарь общий у двух сторон — им же
|
три (`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` рядом
|
- **контекст определяется и отказ говорится явно.** `.conventions.toml` рядом
|
||||||
— проект, `suite.toml` — набор. Проектная команда, набранная в наборе, не
|
— проект, `.conventions-suite.toml` — набор. Проектная команда, набранная в
|
||||||
делает ничего наугад: она отказывает и подсказывает наборный аналог;
|
наборе, не делает ничего наугад: она отказывает и подсказывает наборный
|
||||||
|
аналог;
|
||||||
- **помощь группируется заголовками** «В проекте» и «В наборе»: в плоском
|
- **помощь группируется заголовками** «В проекте» и «В наборе»: в плоском
|
||||||
списке уровни не видны;
|
списке уровни не видны;
|
||||||
- **синонимов нет.** `convy project pull` рядом с `convy pull` не заводим: два
|
- **синонимов нет.** `convy project pull` рядом с `convy pull` не заводим: два
|
||||||
|
|||||||
Reference in New Issue
Block a user