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

33 lines
3.3 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.

# 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-секции.