* fix(create-readme): allow empty quick_start with steps-only Quick Start * docs(handoff): add handoff + ADR for empty-quick-start * docs(handoff): set PR number * docs(project-map): update create-readme.ts role for PR#149 --------- Co-authored-by: opencode-agent <agent@opencode.local>
2.6 KiB
pr: 149 title: fix(create-readme): allow empty quick_start with steps-only Quick Start
Что сделано
Ослаблена валидация quick_start в .opencode/tools/create-readme.ts (mode create): параметр убран из required-Record (раньше falsy-чек !v отвергал ""), вместо него добавлен guard — Quick Start секция не должна быть пустой (bash-блок ИЛИ steps в ОБОИХ языках EN/RU). CreateArgs.quick_start сделан optional (?: string). hasBashBlock и тела bash-блоков обрабатывают undefined через ?? "" (раньше undefined !== "" давало true → bash-блок рендерил literal undefined). .describe() в schema обновлён (убрано "Required for create mode."). Smoke-тест: 5 сценариев, 24 assertion'а, все PASS (userscript-only-steps, backward-compat bash, guard EN, guard RU, bash+steps-en-no-steps-ru).
Почему
Issue #147: тулза блокировала userscript-README без bash-команды (quick_start: "" + include_clone: false), хотя скилл repo-readme (раздел 8) документирует именно эту комбинацию. PR #146 (ADR-062) добавил quick_start_steps_* и условный hasBashBlock, но явно отметил в «Альтернативах», что ослабление required-валидации quick_start — вне scope того PR. PR #147 закрывает этот пробел: guard гарантирует, что Quick Start не пуст, при этом пустой quick_start (или его отсутствие) теперь допустим, если есть steps.
Pending
—
Watch out
Guard проверяет steps отдельно для EN и RU: если bash-блок не рендерится (include_clone=false + пустой quick_start), нужно quick_start_steps_en И quick_start_steps_ru — иначе одна из секций будет пустой. Если у репо один bash-блок (non-empty quick_start или include_clone=true) — steps опциональны в обоих языках (backward compat). validateReadme не менялся: он проверяет наличие строк "Quick Start"/"Быстрый старт" в заголовках, которые рендерятся всегда. ADR-063 отменяет альтернативу «Ослабить required-чек quick_start» из ADR-062.