Metadata-Version: 2.4
Name: doubled-graph
Version: 1.0.2
Summary: MCP facade over CodeGraphContext + grace-marketplace: impact, context, drift-detect for LLM-driven codebases.
Project-URL: Homepage, https://github.com/rour/doubled-graph-mcp
Project-URL: Repository, https://github.com/rour/doubled-graph-mcp
Project-URL: Issues, https://github.com/rour/doubled-graph-mcp/issues
Project-URL: Documentation, https://github.com/rour/doubled-graph-mcp/blob/main/SPEC.md
Author: doubled-graph methodology authors
License: MIT
License-File: LICENSE
Keywords: ast,claude,codebase,continue,cursor,graph,llm,mcp
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Documentation
Requires-Python: >=3.11
Requires-Dist: anyio>=4.0
Requires-Dist: codegraphcontext>=0.1
Requires-Dist: mcp>=0.9.0
Requires-Dist: pydantic>=2.6
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Description-Content-Type: text/markdown

# doubled-graph

MCP-сервер для LLM-агентов, работающих с большими кодовыми базами.

Проблема: агент правит код не зная, кто вызывает функцию и какой у неё контракт — получаем регрессии и тихий дрейф. `doubled-graph` даёт агенту два графа одновременно:

- **Computed graph** — AST-граф реального кода (через CodeGraphContext): кто вызывает что, где определено.
- **Declared graph** — граф из артефактов (`docs/*.xml`): замысел, контракты, верификация.

Четыре MCP-инструмента:

| Инструмент | Когда |
|---|---|
| `analyze` | построить/обновить граф |
| `impact` | радиус влияния изменений — **до** правки |
| `context` | 360° вид: символ + контракт + вызовы |
| `detect_changes` | дрейф кода от артефактов — **до** коммита |

---

## Установка

**Требования:** Python 3.11+, Bun/NPN (для grace-cli).

```bash
pip install doubled-graph
```

---

## Первые шаги

### 1. Онбординг репозитория

```bash
cd your-project
doubled-graph setup
```

Одна команда:
- установит `@osovv/grace-cli` через `bun add -g`
- скопирует `prompts/` и `methodology/` в репозиторий
- зарегистрирует MCP-сервер в вашей IDE (Claude Code / Cursor / Continue)
- установит `git post-commit` хук для автообновления графа
- запустит первый полный `analyze`

Посмотреть план без реальных изменений:

```bash
doubled-graph setup --dry-run
```

Явно указать IDE:

```bash
doubled-graph setup --ide claude-code
```

### 2. Подключить MCP вручную (если нужно)

`.mcp.json` в корне репозитория:

```json
{
  "mcpServers": {
    "doubled-graph": {
      "command": "doubled-graph",
      "args": ["serve"]
    }
  }
}
```

### 3. Инициализация

Введите в ваш ИИ первый промт. Остальные промты он сам подгрузит.

Сценарий 1. Новый проект -  `prompts/new-project/00-entry-prompt.md`.

Сценарий 2. Миграция существующего - `prompts/migrate-existing-project/00-entry-prompt.md`.


---

## Другие команды

```bash
# Обновить граф вручную
doubled-graph analyze --mode auto

# 360° контекст символа
doubled-graph context validateUser

# Текущая фаза методологии (migration | post_migration)
doubled-graph phase get
doubled-graph phase set post_migration --reason "migration complete"
```

---

## Документация

- [SPEC.md](docs/SPEC.md) — архитектура, хранилище `.doubled-graph/`
- [TOOLS.md](docs/TOOLS.md) — подробные схемы инструментов
- [HOOKS.md](docs/HOOKS.md) — git и Claude Code хуки
- [CHANGELOG.md](docs/CHANGELOG.md) — история изменений

---

## Лицензия

MIT. Upstream-компоненты (CodeGraphContext, grace-marketplace) — MIT.
