* 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>
2.7 KiB
2.7 KiB
| pr | title |
|---|---|
| 153 | 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.
- EN tagline (line 2) обёрнут в
.opencode/skills/repo-readme/SKILL.md: в список checksvalidateдобавлен пункт про флаг## 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.