opencode-config/docs/handoff/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

3.4 KiB
Raw Blame History

pr title
158 Standardize README + cover image pipeline

Что сделано

Реализован cover image pipeline для стандартизации README во всех репо slaid098:

  1. brand-logos/opencode.svg — адаптированный логотип OpenCode (512×512, fill #ccff00), резолвится через draw-image slot icon=opencode (ищется в brand-logos/ после icons/lucide/).
  2. create-readme.ts:
    • generateReadme(): добавлен ![Cover](assets/cover.png) после H1 (# 🚀 {repo_name}), перед tagline-разделителями, с пустыми строками между.
    • validateReadme(): добавлен substring-чек assets/cover.png → issue "Missing cover image reference (assets/cover.png)". Проверка существования файла НЕ делается (только substring). Чек расположен после delimiter-чеков, перед H1-чеком.
  3. repo-readme/SKILL.md: workflow секция расширена — после createdraw-image (template "cover", slots) → validate. Добавлен slot-guidance (icon/sub-icon/badge, brand-logos vs Lucide). Reference-шаблон и описание валидации обновлены. 9 секций сохранены.
  4. commands/repo-readme.md: новая slash-команда (/repo-readme), frontmatter agent: build, грузит repo-readme skill.
  5. opencode-config repo: сгенерирован assets/cover.png (1024×1024 template, фактически 1365×1365 из-за density:96 в sharp — pre-existing поведение render.mjs), README.md обновлён cover reference (вручную через edit, т.к. системный tool подхватил pre-bundled версию create-readme.ts).

Почему

Cover image делает карточку репо на slaid098.dev и GitHub визуально цельной. Pipeline create-readme → draw-image → validate гарантирует, что каждый README ссылается на cover, а cover рендерится из on-brand SVG-шаблона. Validation-чек ловит забытый cover reference на этапе review.

Pending

— (после merge: регенерация README в других репо slaid098 через create-readme — отдельный шаг, как после PR #150 с taglines)

Watch out

  • Размер PNG 1365×1365, не 1024×1024 — это pre-existing поведение draw-image (sharp density:96, см. PR #134), НЕ регрессия этого PR. Спека issue #157 требовала 1024×1024 — зафиксировано как расхождение спеки с фактическим поведением, не чинилось (вне scope).
  • Системный tool create-readme не подхватил правки .ts в текущем runtime — opencode кеширует plugin-tools при старте сессии. README обновлён вручную через edit. После restart opencode новый create-readme.ts будет загружен. Для будущих регенераций tool сработает корректно.
  • assets/cover.meta.json закоммичен вместе с cover.png — нужен для идемпотентности draw-image (skip-if-same-hash).