* feat(create-readme): flag manual License section as ERROR * fix(readme): wrap tagline delimiters and remove License section * docs(repo-readme): document License check in SKILL.md * docs(handoff): add handoff and ADR for license-block PR * docs(handoff): set PR number --------- Co-authored-by: opencode-agent <agent@opencode.local>
27 lines
2.7 KiB
Markdown
27 lines
2.7 KiB
Markdown
---
|
||
pr: 153
|
||
title: "feat(create-readme): block manual License section and align repo README tagline"
|
||
---
|
||
|
||
## Что сделано
|
||
|
||
- `validateReadme` (`.opencode/tools/create-readme.ts`): новый ERROR-чек после H1 prefix check — regex `^##\s+(License|LICENSE|Лицензия)\s*$` с `m`-флагом флагирует ручной заголовок License-секции как дубликат GitHub sidebar.
|
||
- `README.md` (3 правки):
|
||
- EN tagline (line 2) обёрнут в `<!-- tagline-en:start -->` / `<!-- tagline-en:end -->`.
|
||
- Добавлен RU tagline `> Переносимый конфиг AI-ассистента для кодинга с памятью и пайплайном subagent'ов` в `<!-- tagline-ru:start -->` / `<!-- tagline-ru:end -->`.
|
||
- Удалена ручная License-секция (`## License` + `MIT — see [LICENSE](LICENSE).`); файл LICENSE в репо остаётся, GitHub рендерит license в sidebar.
|
||
- `.opencode/skills/repo-readme/SKILL.md`: в список checks `validate` добавлен пункт про флаг `## License` / `## LICENSE` / `## Лицензия` как ERROR (дубликат GitHub sidebar).
|
||
- Smoke-тест (temp, удалён): 10 assertions / 4 сценария — updated README → ok; +`## License` → flagged; old format без tagline delimiters → 4 tagline issues (regression); "license" в features-table без `## License` заголовка → false-positive не триггерит. ALL PASS.
|
||
|
||
## Почему
|
||
|
||
Issue #152. После PR #151 (`tagline` → `tagline_en` + `tagline_ru` с delimiter-тегами) README этого репо не соответствовал новому стандарту: EN tagline был без delimiterов, RU tagline отсутствовал. Параллельно валидатор не ловил ручную License-секцию — дубликат GitHub sidebar (GitHub рендерит license из LICENSE-файла). Объединено по решению пользователя: обе части про соответствие стандарту README.
|
||
|
||
## Pending
|
||
|
||
— После merge: другие репо slaid098 с ручным `## License` в README станут invalid при `validate`. Регенерация/чистка делается отдельным шагом (не в этом PR).
|
||
|
||
## Watch out
|
||
|
||
- Новый license-check — intentional breaking change для существующих README с ручным `## License`. См. ADR-065.
|
||
- Regex матчит только заголовки в начале строки (`^##\s+...` с `m`-флагом), НЕ упоминания "license" в тексте/таблицах — проверено smoke-тестом scenario 4.
|