opencode-config/docs/handoff/pr-27-configure-opencode-rewrite.md
Sergey d1d7cf8ef2
refactor: opencode-config skill rewrite + rename /configure-opencode (#27)
* refactor: rename opencode-config to configure-opencode

- command: .opencode/commands/opencode-config.md -> configure-opencode.md
- skill dir: .opencode/skills/opencode-config/ -> configure-opencode/
- command body: skill({name: "opencode-config"}) -> skill({name: "configure-opencode"})
- project-map/README.md: update command+skill entries

* refactor: rewrite configure-opencode skill for .opencode/ auto-discovery

- flip canonical rule: config/opencode.json + bind-mount -> .opencode/opencode.json (project-local, auto-discovered, zero env var)
- repo is the template users clone (git clone && opencode)
- drop: bind-mount as primary (-> optional Docker), OPENCODE_CONFIG_DIR as required (-> power-user/Docker), Windows/ADR-009, internal env vars (ANTIDETECT/CONTEX7/CLOUDFLARE -> generic {env:MY_API_KEY})
- rename paths: config/ -> .opencode/, slaid098/opencode -> slaid098/opencode-config
- preserve: MCP/provider/permission formats, top-level keys, findLast semantic, check-permissions.py guard
- project-map: update entry descriptions for renamed command+skill

* docs(handoff): add pr-12 handoff + ADR-007

* docs(handoff): rename pr-12 handoff/ADR to pr-27 (actual PR number)

---------

Co-authored-by: opencode-agent <agent@slaid098.dev>
2026-07-24 00:21:02 +03:00

3.1 KiB
Raw Permalink Blame History

PR: opencode-config skill rewrite + rename /configure-opencode

Что сделано

  • Rename: /opencode-config → /configure-opencode (command file + skill dir + skill({name: ...}) ref)
  • Rewrite canonical rule: config/opencode.json + bind-mount → .opencode/opencode.json (project-local, auto-discovered, zero env var). Репо сам — шаблон, который клонируют.
  • Dropped: bind-mount как primary механизм (→ optional Docker path), OPENCODE_CONFIG_DIR как required concept (→ power-user/Docker env var only), Windows bare-metal / windows/start.bat (LSP-конфликт pyproject.toml на Windows — не релевантен публичному Linux-шаблону), internal env vars (ANTIDETECT_BROWSER_MCP_URL, CONTEX7_API_KEY, CLOUDFLARE_TUNNEL_TOKEN) → generic {env:MY_API_KEY}
  • Renamed paths: config/....opencode/... (включая check-permissions.py guard ref), slaid098/opencodeslaid098/opencode-config (кроме opencode-memory)
  • Preserved: форматы MCP/provider/permission, top-level keys reference, findLast semantic, check-permissions.py guard, ADR-005/ADR-006 refs
  • Side: docs/project-map/README.md — обновлены строки opencode-config.mdconfigure-opencode.md, opencode-config/SKILL.mdconfigure-opencode/SKILL.md (минимально, чтобы не оставлять битые refs после rename)

Почему

Skill описывал старую архитектуру (config/opencode.json + bind-mount + OPENCODE_CONFIG_DIR + Windows bare-metal). Новый репо использует .opencode/ auto-discovery (см. ADR-002 — миграция config/ → .opencode/). Форматы MCP/provider/permission архитектурно-агностичны — сохранены.

Pending

  • Нет

Watch out

  • Форматы MCP/provider/permission сохранены (архитектурно-агностичны) — правки только в canonical rule (§1, §9), gotchas (§7), paths
  • OPENCODE_CONFIG_DIR оставлен как power-user/Docker опция (не удалён полностью) — загружается ПОСЛЕ .opencode/, может переопределять; канонический путь .opencode/ не требует его
  • bind-mount оставлен как optional Docker path (см. docker-compose.yml) — репо обязан работать и bare-opencode в клона
  • Skill opencode-config (создан в приватном репо) — superseded этим rewrite. ADR-002 (этого репо) фиксирует миграцию архитектуры config/.opencode/
  • docs/project-map/README.md правки вне issue scope, но без них rename оставил бы битые refs в project map
  • ADR refs в SKILL.md (ADR-005, ADR-006) валидируются check-adr-refs.py.opencode/ исключён из сканирования, но ADR-005/006 существуют в docs/decisions/ (если сканирование расширят)