решения об инструменте перенесены из TOOL.md
- TOOL.md в каноне удалён как выполнивший задачу стартовой точки; всё, что из него осталось живым, переехало сюда - правило одной зависимости и решение про один бинарь стоят теперь сами по себе, а не со ссылкой на удалённый файл - в известные остатки добавлены два открытых вопроса оттуда: способ раздачи бинарей и опечатка convey в текстах
This commit is contained in:
@@ -24,8 +24,11 @@ code in this repository.
|
|||||||
CLI для управления конвенциями. Модель здесь не описывается: она живёт в
|
CLI для управления конвенциями. Модель здесь не описывается: она живёт в
|
||||||
репозитории набора `dev-conventions` — `README.md` (набор и копии),
|
репозитории набора `dev-conventions` — `README.md` (набор и копии),
|
||||||
`LANGUAGE.md` (форма правила и список проверок), `GUIDE.md` (ведение набора,
|
`LANGUAGE.md` (форма правила и список проверок), `GUIDE.md` (ведение набора,
|
||||||
префикс META), `TOOL.md` (решения об инструменте). При расхождении истина там,
|
префикс META). При расхождении истина там, а не в коде и не здесь.
|
||||||
а не в коде и не здесь.
|
|
||||||
|
Решения о самом инструменте живут здесь. Раньше они лежали в `TOOL.md`
|
||||||
|
канона — стартовой точке разработки; она свою задачу выполнила и удалена,
|
||||||
|
а всё, что из неё осталось живым, перенесено ниже.
|
||||||
|
|
||||||
Пользовательская сторона — в `README.md`. Ниже — то, что нужно знать, правя код.
|
Пользовательская сторона — в `README.md`. Ниже — то, что нужно знать, правя код.
|
||||||
|
|
||||||
@@ -42,9 +45,13 @@ internal/check проверки: manifest, form, spread, links
|
|||||||
internal/cli команды, диалог, два режима
|
internal/cli команды, диалог, два режима
|
||||||
```
|
```
|
||||||
|
|
||||||
Зависимость одна — `BurntSushi/toml`. Вторую не заводить: так решено в
|
Зависимость одна — `BurntSushi/toml`, и вторую не заводить. `Undecoded()`
|
||||||
`TOOL.md`, и `Undecoded()` этого парсера бесплатно ловит опечатки в ключах
|
этого парсера бесплатно ловит опечатки в ключах манифеста, а инструмент,
|
||||||
манифеста.
|
который копирует файлы и разбирает markdown, не имеет права тянуть за собой
|
||||||
|
дерево чужого кода.
|
||||||
|
|
||||||
|
Бинарь тоже один, с подкомандой `suite`. Разделять на два дешевле, если
|
||||||
|
задачи разъедутся, но пока они не разъехались.
|
||||||
|
|
||||||
## Инварианты кода
|
## Инварианты кода
|
||||||
|
|
||||||
@@ -166,7 +173,7 @@ internal/cli команды, диалог, два режима
|
|||||||
- Машиночитаемого вывода находок (`--json`) нет.
|
- Машиночитаемого вывода находок (`--json`) нет.
|
||||||
- Предупреждения о висячей ссылке на неподписанную тему нет: `convy check` до
|
- Предупреждения о висячей ссылке на неподписанную тему нет: `convy check` до
|
||||||
набора не дотягивается и разрешает только ссылки на префиксы самого файла.
|
набора не дотягивается и разрешает только ссылки на префиксы самого файла.
|
||||||
Открытый вопрос из `TOOL.md`; закрывается отдельной командой, а не этой.
|
Закрывается отдельной командой, а не этой: ей нужен список подписок.
|
||||||
- Набор в поддиректории git-репозитория не адресуется: `#рев` есть, `//путь`
|
- Набор в поддиректории git-репозитория не адресуется: `#рев` есть, `//путь`
|
||||||
нет. Появится вместе с первым набором, который так лежит.
|
нет. Появится вместе с первым набором, который так лежит.
|
||||||
- Источник у проекта один. Модель нескольких допускает; форма `source = "..."`
|
- Источник у проекта один. Модель нескольких допускает; форма `source = "..."`
|
||||||
@@ -180,6 +187,11 @@ internal/cli команды, диалог, два режима
|
|||||||
- `lang.Recognize` при отсутствии словаря с совпавшим номером версии отдаёт
|
- `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`, `rule`, `retire`, `list`, `check`.
|
||||||
Проектная: `init`, `add`, `pull`, `sync`, `list`, `check`. Обе стороны
|
Проектная: `init`, `add`, `pull`, `sync`, `list`, `check`. Обе стороны
|
||||||
закончены по тому, что намечено в `TOOL.md`; `sync` в `TOOL.md` не значится и
|
закончены.
|
||||||
заведён сверх него.
|
|
||||||
|
|
||||||
Отбор слоёв под компонент — один на обе стороны: `suite.Assemble`. `suite list`
|
Отбор слоёв под компонент — один на обе стороны: `suite.Assemble`. `suite list`
|
||||||
показывает, что взял бы компонент, `convy pull` и `convy sync` то же самое
|
показывает, что взял бы компонент, `convy pull` и `convy sync` то же самое
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ CLI для управления конвенциями разработки: в
|
|||||||
|
|
||||||
Модель, которую инструмент реализует, описана не здесь, а в репозитории набора
|
Модель, которую инструмент реализует, описана не здесь, а в репозитории набора
|
||||||
(`dev-conventions`): `README.md` — устройство набора и копий, `LANGUAGE.md` —
|
(`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 .
|
go build -o convy .
|
||||||
```
|
```
|
||||||
|
|
||||||
Способ раздачи готовых бинарей пока не выбран — вопрос открыт в `TOOL.md`.
|
Способ раздачи готовых бинарей пока не выбран.
|
||||||
|
|
||||||
## Команды
|
## Команды
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user