* chore(memory): remove plugin block from opencode.json * chore(memory): remove setup-memory.sh and memory-setup.ts * chore(memory): remove opencode-memory from Dockerfile * docs(memory): update AGENTS.md and SKILL.md for new tools * test(memory): drop tests for removed setup-memory.sh and memory-setup.ts * docs(handoff): add handoff and ADR-045 for plugin/rust removal * docs(handoff): set PR number * docs(project-map): update after plugin/rust removal --------- Co-authored-by: opencode-agent <agent@opencode.local>
50 lines
No EOL
4.4 KiB
Markdown
50 lines
No EOL
4.4 KiB
Markdown
# Global Rules
|
||
|
||
## Pipeline
|
||
|
||
Главный чат = только план. Все исследования, edits, git ops — через subagents.
|
||
Pipeline: ISSUE → IMPLEMENT → DOCS → CI → REVIEW → MERGE → MEMORY — каждая
|
||
фаза делегируется subagent'у. `pipeline-status` = read-only oracle (NEXT action).
|
||
`merge-pr` = orchestrator-safe merge wrapper. Execution via `/run-pipeline` skill.
|
||
Subagent error → 1 retry, потом STOP + report.
|
||
|
||
## Read Path
|
||
|
||
Перед началом задачи в репо: просмотри имена файлов в `docs/handoff/` (если есть) — открой релевантные по теме.
|
||
|
||
## Code Style
|
||
|
||
- Follow existing conventions in the repo
|
||
- Load `code-standards` skill for detailed rules
|
||
- No comments unless explicitly requested
|
||
- Match surrounding code style (imports, naming, patterns)
|
||
|
||
## Tool Usage Policy
|
||
|
||
Используй tool вместо raw bash. Raw bash-эквиваленты заблокированы deny
|
||
(`opencode.json:311-314`). При сбое tool — STOP и репорт оркестратору, НЕ
|
||
fallback на raw bash, НЕ импровизируй обход через `gh api`.
|
||
|
||
| Tool | Raw bash (заблокирован deny) | Когда использовать | При сбое — STOP, репорт, НЕ fallback |
|
||
|---|---|---|---|
|
||
| `commit({ message })` | `git commit *` | Коммит staged файлов (conventional format валидируется tool'ом) | Сообщи оркестратору, не `git commit` |
|
||
| `create-pr({ title, body, issue_number })` | `gh pr create *` | Создание PR после push ветки | Сообщи оркестратору, не `gh pr create`, не `gh api repos/*/pulls` |
|
||
| `create-issue({ title, body, labels })` | `gh issue create *` | Создание GitHub issue (валидация формата) | Сообщи оркестратору, не `gh issue create`, не `gh api repos/*/issues` |
|
||
| `merge-pr({ pr_number })` | `gh pr merge *` | Merge PR (squash + delete branch, без `--admin`) | Сообщи оркестратору, не `gh pr merge` |
|
||
| `post-review({ pr_number, verdict, body })` | `gh pr comment` для verdict | Code review verdict (heading `## Code Review Summary` + verdict) | Сообщи оркестратору, не `gh pr comment` |
|
||
| `post-docs-review({ pr_number, verdict, body })` | `gh pr comment` для verdict | Docs review verdict (heading `## Docs Review Summary` + verdict) | Сообщи оркестратору, не `gh pr comment` |
|
||
| `pipeline-status({ pr_number })` | `python3 .opencode/scripts/pipeline-status.py` | Read-only oracle: статус фаз PR + NEXT action | Сообщи оркестратору, не bash-запуск скрипта |
|
||
| `spec-status({})` | `python3 .opencode/scripts/spec-status.py` | Read-only oracle: текущая фаза spec + NEXT action | Сообщи оркестратору, не bash-запуск скрипта |
|
||
| `memory-doctor()` | — | Read-only диагностика памяти: ripgrep, Python src.memory, env vars, index (замена `memory-setup`) | Сообщи оркестратору, не raw bash |
|
||
| `memory-save()` | — | Commit + reindex opencode-memory после записи/редактирования (auto-setup: git init + hook если remote set) | Сообщи оркестратору, не raw bash |
|
||
| `memory-search({ query, category? })` | — | Гибридный поиск (ripgrep keyword + Python semantic) по opencode-memory | Сообщи оркестратору, не raw bash |
|
||
| `memory-list({ category? })` | — | Список категорий / файлов opencode-memory | Сообщи оркестратору, не raw bash |
|
||
| `memory-access({ path })` | — | Отметить memory-файл как прочитанный (bump `last_accessed`/`access_count`) | Сообщи оркестратору, не raw bash |
|
||
| `tunnel()` | `bash .opencode/scripts/tunnel.sh` | Cloudflare tunnel toggle (1-й вызов — start, 2-й — stop) | Сообщи оркестратору, не bash-запуск скрипта |
|
||
|
||
`gh pr comment*` остаётся в allow-list для обратной совместимости (ADR-019
|
||
отклонил strict-deny). Промпт запрещает fallback при сбое tool.
|
||
|
||
## Language
|
||
|
||
- Always respond to the user in Russian. |