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

2.7 KiB
Raw Blame History

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.
  • .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 (taglinetagline_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.