diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bd95a2..17edeb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 0.4.1 — 2026-10-23 +- harness-doctor и README: codegraph ставится `npm i -g @colbymchenry/codegraph` (формулы в brew нет) и подключается к Claude Code через `claude mcp add-json -s user`, не через `codegraph install` — тот дописывает секцию в `~/.claude/CLAUDE.md`, которую сотрёт `install.sh` (#19, O-8). + ## 0.4.0 — 2026-10-16 - guard-main решает по цели записи, а не по cwd и тексту команды (#6, B1; RT-1, RT-2, RT-7). Цели — файл Edit/Write, в Bash — редиректы (кроме `/dev/null` и `N>&M`), команды записи с учётом `cd`, `git -C`, `sh -c`, git-мутации. Цель вне репозитория или в worktree на ветке — пропуск; неразрешимый путь — пропуск, git-мутация с неопределённым репозиторием — блок. `git push` блокируется, только если пушит в main; `git switch -c` в той же команде переводит последующие коммиты на новую ветку. `pip install` больше не блокируется. Спека — `openspec/specs/hook-guards/spec.md`, change в архиве — `openspec/changes/archive/2026-10-16-hooks-write-target/`. - **Несовместимо:** исключение для openspec-only коммитов и `openspec archive` на main удалено — архив всегда отдельным PR (решение владельца 1, 11.10.2026). diff --git a/README.md b/README.md index 75989c3..314e540 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ | Процесс внутри фичи | superpowers ≥ 6.4.1 | ledger плана, рулинги | плагин Claude Code | | Задачи между сессиями | Gitea issues + PR (`tea`) | что делать, блокеры, human gate на merge | ваш сервер | | Текущее поведение системы | OpenSpec | требования, дельты, история решений | `npm i -g @fission-ai/openspec` | -| Карта кода | codegraph (MCP) | связи символов для сабагентов | `brew install`/`npm i -g` | +| Карта кода | codegraph (MCP) | связи символов для сабагентов | `npm i -g @colbymchenry/codegraph` + `claude mcp add-json` | | Контекст по модулям | вложенные CLAUDE.md, ARCHITECTURE.md | границы, конвенции | этот пакет | | Роль сессии | `roles/`, skill `/role`, агент `briefing`, хук `role-hint.sh` | правила, файлы и память своей роли | этот пакет | | Жёсткие правила | `guard-main.sh`, `require-plan.sh` (PreToolUse) | то, что нельзя доверять промпту | этот пакет | @@ -75,7 +75,10 @@ alias cc-dev='claude -n "dev"'; alias cc-admin='claude -n "admin"'; alias cc-qa= # 2. CLI brew install tea && tea login add --name home --url https:// --token # scopes: read:user, write:repository, write:issue npm i -g @fission-ai/openspec -# codegraph: https://github.com/colbymchenry/codegraph +npm i -g @colbymchenry/codegraph # https://github.com/colbymchenry/codegraph; формулы в brew нет +claude mcp add-json -s user codegraph '{"type":"stdio","command":"codegraph","args":["serve","--mcp"],"alwaysLoad":true}' +# не `codegraph install`: он дописывает секцию в ~/.claude/CLAUDE.md, install.sh её сотрёт. +# MCP подхватится после перезапуска claude; индекс проекта — `codegraph init` в нём (new-project.sh делает сам). # 3. Глобальная часть bash install.sh --check diff --git a/skills/harness-doctor/SKILL.md b/skills/harness-doctor/SKILL.md index 555b971..630c4a1 100644 --- a/skills/harness-doctor/SKILL.md +++ b/skills/harness-doctor/SKILL.md @@ -20,7 +20,8 @@ description: Диагностика обвязки Claude Code (claude-harness) ## Чеклист прочтения **Машина** -- `MISS` бинарник → установить (`npm i -g @fission-ai/openspec`, `brew install codegraph tea`); не обходить, обвязка без него неполная. +- `MISS` бинарник → установить (`npm i -g @fission-ai/openspec @colbymchenry/codegraph`, `brew install tea`); не обходить, обвязка без него неполная. Формулы `codegraph` в brew нет. +- После установки `codegraph` подключить MCP: `claude mcp add-json -s user codegraph '{"type":"stdio","command":"codegraph","args":["serve","--mcp"],"alwaysLoad":true}'`, перезапустить сессию, в проекте — `codegraph init`. Не `codegraph install`: он дописывает секцию в `~/.claude/CLAUDE.md`, `install.sh` её сотрёт, а файл выйдет за 3 КБ. - `MISS plugin superpowers` → `/plugin install superpowers@claude-plugins-official`. `WARN plugin beads/template-bridge` → удалить, конфликтуют со skills superpowers. - `MISS`/`WARN hook …` → `bash <пакет>/install.sh`; «не зарегистрирован» — settings.json правился руками, тот же install.sh сольёт заново. - `WARN в окружении есть *_API_KEY` → ключ виден всем сабагентам и делает интеграционные тесты платными при каждом `npm test`. Убрать из профиля shell, передавать только в строке запуска. Это находка для пользователя, агент сам профиль не правит.