From 29d29740f595c4a1657ff13abde6d9c70fd4b14f Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Tue, 28 Jul 2026 10:05:33 +0300 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BE=D0=B1=20=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=B8=D0=B7=20TOOL.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TOOL.md в каноне удалён как выполнивший задачу стартовой точки; всё, что из него осталось живым, переехало сюда - правило одной зависимости и решение про один бинарь стоят теперь сами по себе, а не со ссылкой на удалённый файл - в известные остатки добавлены два открытых вопроса оттуда: способ раздачи бинарей и опечатка convey в текстах --- CLAUDE.md | 27 +++++++++++++++++++-------- README.md | 5 ++--- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 5ab1435..4bd3fdf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,8 +24,11 @@ code in this repository. CLI для управления конвенциями. Модель здесь не описывается: она живёт в репозитории набора `dev-conventions` — `README.md` (набор и копии), `LANGUAGE.md` (форма правила и список проверок), `GUIDE.md` (ведение набора, -префикс META), `TOOL.md` (решения об инструменте). При расхождении истина там, -а не в коде и не здесь. +префикс META). При расхождении истина там, а не в коде и не здесь. + +Решения о самом инструменте живут здесь. Раньше они лежали в `TOOL.md` +канона — стартовой точке разработки; она свою задачу выполнила и удалена, +а всё, что из неё осталось живым, перенесено ниже. Пользовательская сторона — в `README.md`. Ниже — то, что нужно знать, правя код. @@ -42,9 +45,13 @@ internal/check проверки: manifest, form, spread, links internal/cli команды, диалог, два режима ``` -Зависимость одна — `BurntSushi/toml`. Вторую не заводить: так решено в -`TOOL.md`, и `Undecoded()` этого парсера бесплатно ловит опечатки в ключах -манифеста. +Зависимость одна — `BurntSushi/toml`, и вторую не заводить. `Undecoded()` +этого парсера бесплатно ловит опечатки в ключах манифеста, а инструмент, +который копирует файлы и разбирает markdown, не имеет права тянуть за собой +дерево чужого кода. + +Бинарь тоже один, с подкомандой `suite`. Разделять на два дешевле, если +задачи разъедутся, но пока они не разъехались. ## Инварианты кода @@ -166,7 +173,7 @@ internal/cli команды, диалог, два режима - Машиночитаемого вывода находок (`--json`) нет. - Предупреждения о висячей ссылке на неподписанную тему нет: `convy check` до набора не дотягивается и разрешает только ссылки на префиксы самого файла. - Открытый вопрос из `TOOL.md`; закрывается отдельной командой, а не этой. + Закрывается отдельной командой, а не этой: ей нужен список подписок. - Набор в поддиректории git-репозитория не адресуется: `#рев` есть, `//путь` нет. Появится вместе с первым набором, который так лежит. - Источник у проекта один. Модель нескольких допускает; форма `source = "..."` @@ -180,6 +187,11 @@ internal/cli команды, диалог, два режима - `lang.Recognize` при отсутствии словаря с совпавшим номером версии отдаёт первого кандидата, у которого совпали слова. Пока версия в реестре одна, это безвредно; со второй версией того же естественного языка станет неверно. +- Опечатка `convey` вместо `convy` в текстах ничем не ловится. Слова отличаются + одной буквой, и оба выглядят словами. +- Способ раздачи готовых бинарей не выбран. `eget` умеет релизы GitHub, а git + здесь свой (`git.vakhrushev.me`) — тянет ли он релизы Gitea, не проверено; + иначе остаются прямой URL или `go install`. ## Тесты @@ -209,8 +221,7 @@ Commits и `Co-Authored-By` не используются. Наборная сторона: `init`, `add`, `rule`, `retire`, `list`, `check`. Проектная: `init`, `add`, `pull`, `sync`, `list`, `check`. Обе стороны -закончены по тому, что намечено в `TOOL.md`; `sync` в `TOOL.md` не значится и -заведён сверх него. +закончены. Отбор слоёв под компонент — один на обе стороны: `suite.Assemble`. `suite list` показывает, что взял бы компонент, `convy pull` и `convy sync` то же самое diff --git a/README.md b/README.md index ec5e98f..1ad3126 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,7 @@ CLI для управления конвенциями разработки: в Модель, которую инструмент реализует, описана не здесь, а в репозитории набора (`dev-conventions`): `README.md` — устройство набора и копий, `LANGUAGE.md` — -форма правила, `GUIDE.md` — правила ведения набора, `TOOL.md` — решения об этом -инструменте. При расхождении истина там. +форма правила, `GUIDE.md` — правила ведения набора. При расхождении истина там. ## Термины @@ -68,7 +67,7 @@ go install git.vakhrushev.me/av/convy@latest go build -o convy . ``` -Способ раздачи готовых бинарей пока не выбран — вопрос открыт в `TOOL.md`. +Способ раздачи готовых бинарей пока не выбран. ## Команды