opencode-config/docs/decisions/067-pr-158-cover-pipeline.md
Sergey d2cef94ac9
feat(create-readme): add cover image reference to template and validation (#158)
* feat(create-readme): add cover image reference to template and validation

* feat(repo-readme): extend skill with cover generation + add command

* chore(assets): add opencode brand logo and cover.png

* docs(handoff): scaffold cover-pipeline PR notes

* docs(handoff): set PR number

* docs(project-map): update after cover pipeline structural changes

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-07-30 23:15:12 +03:00

17 lines
No EOL
2.3 KiB
Markdown
Raw 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-067: Cover image reference в README validation
## Статус
Accepted (2026-07-30)
## Контекст
README стандартизируется тулзой `create-readme` (delimiter-теги для slaid098.dev). Cover image (`assets/cover.png`, рендерится `draw-image` template "cover") должен отображаться в начале README после H1. До этого PR cover не был частью стандарта — README мог существовать без cover, и validate не ловил его отсутствие.
## Решение
1. `generateReadme()` рендерит `![Cover](assets/cover.png)` между H1 и tagline-разделителями — cover попадает в зону выше summary, видим на GitHub сразу под заголовком.
2. `validateReadme()` проверяет **substring** `assets/cover.png` (без проверки существования файла). Файл-чек не делается намеренно: validate работает и в remote-режиме (через gh api), где файловая система репо недоступна агенту. Substring-чек ловит забытое упоминание, реальный рендер cover — отдельный шаг `draw-image` в workflow скилла.
3. Workflow `repo-readme` скилла: `create-readme``draw-image``validate` → fix-цикл. Cover хранится в `assets/cover.png` (default `draw-image` out path), README ссылается именно на этот путь.
## Альтернативы
- **Проверять существование `assets/cover.png` файловой системой**: отвергнуто — ломает remote-режим validate (gh api, нет локального FS репо). Substring-чек унифицирует local и remote.
- **Встраивать cover как base64 в README**: отвергнуто — раздувает README, ломает delimiter-парсинг витриной, сложнее обновлять.
- **Отдельный validate-чек для cover на уровне draw-image**: отвергнуто — cover-pipeline должен ловиться на этапе README-валидации, т.к. README — источник правды для витрины.