Установка codegraph: npm и claude mcp add-json вместо brew (#19, O-8, 0.4.1) #20

Merged
aep merged 1 commits from feat/19-codegraph-install into main 2026-10-23 22:15:56 +03:00
3 changed files with 10 additions and 3 deletions

View File

@ -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).

View File

@ -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://<gitea> --token <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

View File

@ -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, передавать только в строке запуска. Это находка для пользователя, агент сам профиль не правит.