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

2.3 KiB
Raw Permalink Blame History

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-readmedraw-imagevalidate → 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 — источник правды для витрины.