opencode-config/docs/handoff/pr-153-block-license-align-readme.md
Sergey 7330f05055
feat(create-readme): block manual License section and align repo README tagline (#153)
* 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>
2026-07-30 18:06:15 +03:00

27 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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.