opencode-config/docs/decisions/058-pr-130-readme-optional-clone-and-development.md
Sergey 2a6d6eee2a
feat(create-readme): optional git clone, development block, remove telegram (#130)
* feat(create-readme): add include_clone, development_en/ru, remove telegram

* docs(readme): update SKILL.md template and params for optional clone and development

* docs(readme): add ADR-058, handoff, project map

* docs(handoff): set PR number

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-07-29 20:50:52 +03:00

3.3 KiB
Raw Permalink Blame History

ADR-058: README — optional git clone, Development block, remove telegram

Статус

Accepted (2026-07-29)

Контекст

Тулза create-readme имела 3 проблемы:

  • git clone https://github.com/slaid098/{repo}.git захардкожен в Quick Start (стр. 78 EN, 99 RU). Не отключается — все README получают clone-строку, даже userscript / web-app / npm-package, где клонирование не имеет смысла.
  • custom_sections_en/ru рендерятся ДО Quick Start (стр. 74, 95) — не подходит для блока «Разработка», который логичен после Quick Start.
  • Параметр telegram — мёртвый: 0 call-sites, 0 тестов, валидатор не проверяет, собственный README репо без него. Ссылки slaid098.dev/support достаточно.

Валидатор validateReadme() не проверяет git clone, telegram, custom_sections — изменения не сломают валидацию.

Решение

3 новых optional-параметра + hard removal telegram (backward compatible):

  • include_clone?: boolean (default true) — false убирает git clone из Quick Start bash-блока. undefined → включает. Прецедент: access_url (ADR-052) — тот же паттерн «optional → условный рендер».
  • development_en?: string — raw markdown, рендерит ### 🔧 Development после EN Quick Start, вне delimiter-тегов (не на slaid098.dev). Для инструкций разработчикам.
  • development_ru?: string — raw markdown, рендерит ### 🔧 Разработка после RU Быстрый старт, вне delimiter-тегов.
  • telegram — hard removal: убран из CreateArgs type, рендера, JSON schema, pass-through. Support-секция: только 👉 **[slaid098.dev/support]...**.
  • Валидатор — без изменений.

Development-блок вне delimiter-тегов: разделители определяют только то, что парсер slaid098.dev вытягивает для витрины. Development-блок виден только на GitHub — правильно для доп. секции «для разработчиков».

Альтернативы

  • include_clone как обязательный параметр — отвергнуто: не все репо хотят убрать clone (большинству нужен). Default true → backward compatible.
  • Development через custom_sections — отвергнуто: custom_sections рендерятся ДО Quick Start. Development логичен после. Новый параметр → правильная позиция.
  • Deprecation telegram (оставить параметр, игнорировать) — отвергнуто: мёртвый код вводит в заблуждение. 0 call-sites → hard removal безопасен.
  • Валидатор проверяет development-блок — отвергнуто: блок optional, валидатор не должен требовать optional-секции.