* feat(readme): new bilingual standard v2 with features table * docs(handoff): rename handoff and ADR to PR number convention * docs(review): fix ADR-051 section name and add PR#116 refs --------- Co-authored-by: opencode-agent <agent@opencode.local>
3.5 KiB
3.5 KiB
ADR-051: README standard v2 — Why/What + Features table
Статус
Accepted (2026-07-29)
Контекст
Витрина slaid098.dev парсит README.md из каждого репозитория: извлекает
фрагменты между разделителями. В стандарте v1 (ADR-049, PR#112) были 2 пары
разделителей (summary-en/ru) с Problem/Solution текстом и опциональный
tier (flagship/utility), влияющий только на блок demo_gif. Problem/Solution
оказался не универсален — не каждый проект укладывается в "проблема → решение"
(например, конфиг-репозитории, утилиты). Tier system усложнял поддержку: два
пути генерации, флаг demo_gif, разные описания параметров. Витрине нужна
таблица фич для каждой карточки — в v1 её не было.
Решение
Перейти на стандарт v2:
- Why/What вместо Problem/Solution — универсальная структура: зачем существует проект и что делает. Применима к любому репо.
- Features table — обязательная часть README. Каждая фича:
{ emoji, name, description }. Рендерится в markdown-таблицу между новыми разделителями<!-- features-en:start/end -->и<!-- features-ru:start/end -->. - 4 пары разделителей (summary-en, features-en, summary-ru, features-ru) — витрина парсит и summary, и features независимо.
- Tier system убран — один формат для всех репо, без условной логики.
custom_sections_en/ruвне delimiter tags — послеfeatures-en:end, до Quick Start. Раньше были внутри summary delimiter.demo_gifубран — не использовался витриной.validateпроверяет наличие и непустоту всех 4 пар разделителей.
Альтернативы
- Сохранить Problem/Solution — отвергнуто: не универсально. Не каждый проект укладывается в "проблема → решение" (конфиг-репозитории, утилиты). Why/What применимо к любому репо.
- Сохранить tier system (flagship/utility) — отвергнуто: усложнял поддержку (два пути генерации, флаг demo_gif, разные описания параметров). Один формат для всех репо проще в поддержке.
- Оставить 2 пары разделителей (summary только) — отвергнуто: витрина не может парсить features независимо от summary. 4 пары позволяют извлекать и summary, и таблицу фич как независимые блоки per language.
- Держать custom_sections внутри summary delimiter — отвергнуто: перенос вне delimiter tags (после features-en:end, до Quick Start) разделяет пользовательский контент и парсимый витриной.