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

23 lines
No EOL
3.1 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.

# 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/opencode``slaid098/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.md``configure-opencode.md`, `opencode-config/SKILL.md``configure-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/` (если сканирование расширят)