решения об инструменте перенесены из TOOL.md
- TOOL.md в каноне удалён как выполнивший задачу стартовой точки; всё, что из него осталось живым, переехало сюда - правило одной зависимости и решение про один бинарь стоят теперь сами по себе, а не со ссылкой на удалённый файл - в известные остатки добавлены два открытых вопроса оттуда: способ раздачи бинарей и опечатка convey в текстах
This commit is contained in:
@@ -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` то же самое
|
||||
|
||||
@@ -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`.
|
||||
Способ раздачи готовых бинарей пока не выбран.
|
||||
|
||||
## Команды
|
||||
|
||||
|
||||
Reference in New Issue
Block a user