devcouncil 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +191 -253
- package/bin/devcouncil.js +130 -32
- package/package.json +6 -17
- package/pyproject.toml +0 -66
- package/src/devcouncil/__init__.py +0 -0
- package/src/devcouncil/__main__.py +0 -4
- package/src/devcouncil/app/__init__.py +0 -28
- package/src/devcouncil/app/config.py +0 -320
- package/src/devcouncil/app/errors.py +0 -23
- package/src/devcouncil/app/events.py +0 -44
- package/src/devcouncil/app/orchestrator.py +0 -92
- package/src/devcouncil/app/project_status.py +0 -29
- package/src/devcouncil/app/run_context.py +0 -39
- package/src/devcouncil/app/state_machine.py +0 -108
- package/src/devcouncil/artifacts/__init__.py +0 -1
- package/src/devcouncil/artifacts/coverage.py +0 -96
- package/src/devcouncil/artifacts/graph.py +0 -163
- package/src/devcouncil/artifacts/migrations.py +0 -20
- package/src/devcouncil/artifacts/schemas.py +0 -23
- package/src/devcouncil/artifacts/serializer.py +0 -21
- package/src/devcouncil/artifacts/validators.py +0 -27
- package/src/devcouncil/assets/__init__.py +0 -1
- package/src/devcouncil/assets/devcouncil-logo.svg +0 -60
- package/src/devcouncil/assets/devcouncil_logo_premium.png +0 -0
- package/src/devcouncil/cli/__init__.py +0 -0
- package/src/devcouncil/cli/commands/__init__.py +0 -0
- package/src/devcouncil/cli/commands/agents.py +0 -292
- package/src/devcouncil/cli/commands/artifacts.py +0 -54
- package/src/devcouncil/cli/commands/ast.py +0 -22
- package/src/devcouncil/cli/commands/baseline.py +0 -35
- package/src/devcouncil/cli/commands/check.py +0 -209
- package/src/devcouncil/cli/commands/config.py +0 -115
- package/src/devcouncil/cli/commands/cost.py +0 -57
- package/src/devcouncil/cli/commands/dashboard.py +0 -31
- package/src/devcouncil/cli/commands/doctor.py +0 -340
- package/src/devcouncil/cli/commands/evidence.py +0 -48
- package/src/devcouncil/cli/commands/go.py +0 -656
- package/src/devcouncil/cli/commands/handoff.py +0 -69
- package/src/devcouncil/cli/commands/hook.py +0 -237
- package/src/devcouncil/cli/commands/init.py +0 -289
- package/src/devcouncil/cli/commands/integrate.py +0 -1515
- package/src/devcouncil/cli/commands/lsp.py +0 -20
- package/src/devcouncil/cli/commands/map.py +0 -112
- package/src/devcouncil/cli/commands/mcp_server.py +0 -18
- package/src/devcouncil/cli/commands/plan.py +0 -488
- package/src/devcouncil/cli/commands/prompt.py +0 -61
- package/src/devcouncil/cli/commands/repair.py +0 -89
- package/src/devcouncil/cli/commands/report.py +0 -137
- package/src/devcouncil/cli/commands/reset_demo_state.py +0 -33
- package/src/devcouncil/cli/commands/rollback.py +0 -59
- package/src/devcouncil/cli/commands/run.py +0 -289
- package/src/devcouncil/cli/commands/runs.py +0 -223
- package/src/devcouncil/cli/commands/scaffold.py +0 -32
- package/src/devcouncil/cli/commands/semantic.py +0 -47
- package/src/devcouncil/cli/commands/setup.py +0 -362
- package/src/devcouncil/cli/commands/shell.py +0 -73
- package/src/devcouncil/cli/commands/show.py +0 -76
- package/src/devcouncil/cli/commands/skills.py +0 -88
- package/src/devcouncil/cli/commands/status.py +0 -141
- package/src/devcouncil/cli/commands/tasks.py +0 -55
- package/src/devcouncil/cli/commands/trace.py +0 -88
- package/src/devcouncil/cli/commands/verify.py +0 -328
- package/src/devcouncil/cli/commands/version.py +0 -20
- package/src/devcouncil/cli/commands/watch.py +0 -574
- package/src/devcouncil/cli/commands/watch_fs.py +0 -40
- package/src/devcouncil/cli/main.py +0 -137
- package/src/devcouncil/council/__init__.py +0 -0
- package/src/devcouncil/council/prompts/__init__.py +0 -0
- package/src/devcouncil/council/prompts/arbiter.md +0 -19
- package/src/devcouncil/council/prompts/critic_a.md +0 -10
- package/src/devcouncil/council/prompts/critic_b.md +0 -10
- package/src/devcouncil/council/prompts/implementation_reviewer.md +0 -16
- package/src/devcouncil/council/prompts/planner_a.md +0 -16
- package/src/devcouncil/council/prompts/planner_b.md +0 -16
- package/src/devcouncil/council/prompts/rebuttal.md +0 -10
- package/src/devcouncil/council/prompts/spec_writer.md +0 -12
- package/src/devcouncil/domain/__init__.py +0 -0
- package/src/devcouncil/domain/assumption.py +0 -17
- package/src/devcouncil/domain/critique.py +0 -32
- package/src/devcouncil/domain/evidence.py +0 -47
- package/src/devcouncil/domain/gap.py +0 -52
- package/src/devcouncil/domain/requirement.py +0 -22
- package/src/devcouncil/domain/task.py +0 -55
- package/src/devcouncil/execution/__init__.py +0 -1
- package/src/devcouncil/execution/checkpoints.py +0 -246
- package/src/devcouncil/execution/context_builder.py +0 -60
- package/src/devcouncil/execution/executor.py +0 -15
- package/src/devcouncil/execution/fs_watcher.py +0 -180
- package/src/devcouncil/execution/handoff.py +0 -102
- package/src/devcouncil/execution/hook_policy.py +0 -253
- package/src/devcouncil/execution/patch.py +0 -77
- package/src/devcouncil/execution/paths.py +0 -14
- package/src/devcouncil/execution/permissions.py +0 -85
- package/src/devcouncil/execution/policy_engine.py +0 -343
- package/src/devcouncil/execution/prompt_builder.py +0 -671
- package/src/devcouncil/execution/shell_session.py +0 -225
- package/src/devcouncil/execution/task_runner.py +0 -170
- package/src/devcouncil/executors/__init__.py +0 -1
- package/src/devcouncil/executors/agent_registry.py +0 -575
- package/src/devcouncil/executors/coding_cli.py +0 -736
- package/src/devcouncil/executors/mini_swe.py +0 -73
- package/src/devcouncil/executors/native/__init__.py +0 -0
- package/src/devcouncil/executors/native/agent.py +0 -208
- package/src/devcouncil/executors/openhands.py +0 -71
- package/src/devcouncil/gating/__init__.py +0 -1
- package/src/devcouncil/gating/checks/__init__.py +0 -0
- package/src/devcouncil/gating/checks/clean_git.py +0 -52
- package/src/devcouncil/gating/checks/planned_files_check.py +0 -32
- package/src/devcouncil/gating/checks/requirement_coverage.py +0 -26
- package/src/devcouncil/gating/checks/secret_scan_check.py +0 -53
- package/src/devcouncil/gating/policy.py +0 -338
- package/src/devcouncil/hardware.py +0 -184
- package/src/devcouncil/indexing/__init__.py +0 -1
- package/src/devcouncil/indexing/ast_matcher.py +0 -168
- package/src/devcouncil/indexing/graph_index.py +0 -48
- package/src/devcouncil/indexing/lsp.py +0 -161
- package/src/devcouncil/indexing/repo_mapper.py +0 -1455
- package/src/devcouncil/indexing/semantic_index.py +0 -205
- package/src/devcouncil/integrations/actions.py +0 -146
- package/src/devcouncil/integrations/check.py +0 -423
- package/src/devcouncil/integrations/code_review_graph.py +0 -163
- package/src/devcouncil/integrations/github.py +0 -39
- package/src/devcouncil/integrations/github_intent.py +0 -142
- package/src/devcouncil/integrations/gitnexus.py +0 -62
- package/src/devcouncil/integrations/graphify.py +0 -34
- package/src/devcouncil/integrations/mcp/__init__.py +0 -0
- package/src/devcouncil/integrations/mcp/server.py +0 -2122
- package/src/devcouncil/integrations/opencode_devcouncil_plugin.mjs +0 -24
- package/src/devcouncil/integrations/pr_comments.py +0 -62
- package/src/devcouncil/live/__init__.py +0 -2
- package/src/devcouncil/live/cards.py +0 -349
- package/src/devcouncil/live/models.py +0 -63
- package/src/devcouncil/live/repair_prompt.py +0 -83
- package/src/devcouncil/live/reviewer.py +0 -70
- package/src/devcouncil/live/signals.py +0 -135
- package/src/devcouncil/live/summary.py +0 -34
- package/src/devcouncil/live/tasks.py +0 -18
- package/src/devcouncil/live/transcripts.py +0 -141
- package/src/devcouncil/llm/__init__.py +0 -1
- package/src/devcouncil/llm/cache.py +0 -42
- package/src/devcouncil/llm/model_defaults.yaml +0 -44
- package/src/devcouncil/llm/provider.py +0 -627
- package/src/devcouncil/llm/router.py +0 -310
- package/src/devcouncil/optimization/__init__.py +0 -1
- package/src/devcouncil/optimization/gepa_agent.py +0 -318
- package/src/devcouncil/planning/__init__.py +0 -1
- package/src/devcouncil/planning/arbiter_service.py +0 -57
- package/src/devcouncil/planning/correction_manifest.py +0 -303
- package/src/devcouncil/planning/critique_service.py +0 -71
- package/src/devcouncil/planning/plan_service.py +0 -60
- package/src/devcouncil/planning/prompt_enhancer_service.py +0 -167
- package/src/devcouncil/planning/repair_service.py +0 -39
- package/src/devcouncil/planning/spec_service.py +0 -70
- package/src/devcouncil/repo/__init__.py +0 -0
- package/src/devcouncil/repo/ci_scaffold.py +0 -157
- package/src/devcouncil/repo/gitignore.py +0 -123
- package/src/devcouncil/repo/sca.py +0 -374
- package/src/devcouncil/reporting/__init__.py +0 -0
- package/src/devcouncil/reporting/github_check.py +0 -32
- package/src/devcouncil/reporting/json_report.py +0 -30
- package/src/devcouncil/reporting/markdown_report.py +0 -83
- package/src/devcouncil/reporting/report_builder.py +0 -14
- package/src/devcouncil/skills/__init__.py +0 -19
- package/src/devcouncil/skills/library/README.md +0 -46
- package/src/devcouncil/skills/library/ai-training.md +0 -50
- package/src/devcouncil/skills/library/android.md +0 -50
- package/src/devcouncil/skills/library/backend.md +0 -52
- package/src/devcouncil/skills/library/core-engineering.md +0 -95
- package/src/devcouncil/skills/library/data-engineering.md +0 -47
- package/src/devcouncil/skills/library/desktop.md +0 -46
- package/src/devcouncil/skills/library/devops.md +0 -48
- package/src/devcouncil/skills/library/game-dev.md +0 -46
- package/src/devcouncil/skills/library/ios.md +0 -48
- package/src/devcouncil/skills/library/mobile-cross-platform.md +0 -46
- package/src/devcouncil/skills/library/security.md +0 -48
- package/src/devcouncil/skills/library/systems.md +0 -48
- package/src/devcouncil/skills/library/web.md +0 -47
- package/src/devcouncil/skills/library/windows.md +0 -47
- package/src/devcouncil/skills/registry.py +0 -330
- package/src/devcouncil/storage/__init__.py +0 -0
- package/src/devcouncil/storage/db.py +0 -147
- package/src/devcouncil/storage/models.py +0 -204
- package/src/devcouncil/storage/native.py +0 -557
- package/src/devcouncil/storage/repositories.py +0 -485
- package/src/devcouncil/telemetry/__init__.py +0 -0
- package/src/devcouncil/telemetry/cost.py +0 -140
- package/src/devcouncil/telemetry/model_pricing.yaml +0 -48
- package/src/devcouncil/telemetry/pricing.py +0 -28
- package/src/devcouncil/telemetry/traces.py +0 -146
- package/src/devcouncil/telemetry/tracker.py +0 -52
- package/src/devcouncil/ui/__init__.py +0 -1
- package/src/devcouncil/ui/dashboard.py +0 -423
- package/src/devcouncil/utils/__init__.py +0 -1
- package/src/devcouncil/utils/redaction.py +0 -147
- package/src/devcouncil/utils/subprocess_env.py +0 -69
- package/src/devcouncil/verification/__init__.py +0 -1
- package/src/devcouncil/verification/acceptance_compiler.py +0 -125
- package/src/devcouncil/verification/ad_hoc_check.py +0 -129
- package/src/devcouncil/verification/diff_coverage.py +0 -353
- package/src/devcouncil/verification/implementation_reviewer.py +0 -55
- package/src/devcouncil/verification/next_actions.py +0 -189
- package/src/devcouncil/verification/sandbox.py +0 -178
- package/src/devcouncil/verification/test_resolver.py +0 -91
- package/src/devcouncil/verification/verifier.py +0 -1548
- package/uv.lock +0 -1226
package/README.md
CHANGED
|
@@ -1,346 +1,284 @@
|
|
|
1
|
-
# DevCouncil:
|
|
1
|
+
# DevCouncil: Components and Modules for AI Development
|
|
2
|
+
|
|
3
|
+
[](https://devcouncil.vbcr.dev/)
|
|
4
|
+
[](https://github.com/bharathvbcr/DevCouncil/actions/workflows/ci.yml)
|
|
5
|
+
[](https://www.npmjs.com/package/devcouncil)
|
|
6
|
+
[](LICENSE)
|
|
2
7
|
|
|
3
8
|
<p align="center">
|
|
4
|
-
<
|
|
9
|
+
<a href="https://devcouncil.vbcr.dev/"><strong>Explore the Interactive Architecture & Code Graph Showcase (devcouncil.vbcr.dev) →</strong></a>
|
|
5
10
|
</p>
|
|
6
11
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[](https://github.com/astral-sh/uv)
|
|
12
|
+
> **"DevCouncil should not merely generate code. It should make AI-generated work prove that it satisfied the original intent."**
|
|
13
|
+
> *Evidence, not model confidence, is the final authority.*
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
DevCouncil is **components and modules** for AI-assisted software development. It ships independently installable binaries and libraries — code intelligence (`devmap`), task and lease state (`dcstore`), deterministic verification (`dcverify`), ignore-aware search (`dcgrep`), and a Go host (`devcouncil` / `dev`) — so a harness or an app can take only the pieces it needs and update them one at a time.
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
See [repository input and verification boundaries](docs/SECURITY_BOUNDARIES.md)
|
|
18
|
+
for executable selection, filesystem protections, resource limits, and the
|
|
19
|
+
difference between unavailable evidence and a passing check.
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
**Manvi wraps these components** into a coding-agent harness (turn loop, providers, policy, TUI, `manvi serve`). **GitPulse** uses Manvi for policy, workbench, and agent hosting, and DevCouncil components for code intelligence and related analysis. DevCouncil does not replace coding agents; it sits beside Claude Code, Codex, Cursor, and others as selectable modules.
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
---
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
- [Daily workflow](docs/workflow.md): manual sidecar loop, verification, repair, and rollback.
|
|
21
|
-
- [Coding CLI integration](docs/coding-cli-integration.md): Codex, Gemini, Claude Code, OpenCode, Antigravity, Cursor, Aider, MCP, hooks, and automated executors.
|
|
22
|
-
- [Integration tiers](docs/integration-tiers.md): headless executor vs MCP-only vs sidecar definitions.
|
|
23
|
-
- [CLI command reference](docs/cli-reference.md): available `dev` commands.
|
|
24
|
-
- [Architecture](docs/architecture.md): components, artifact graph, state machine, and gated execution.
|
|
25
|
-
- [Executor adapters](docs/executor-adapters.md): manual, coding CLI, native-preview, Mini-SWE, and OpenHands execution paths.
|
|
26
|
-
- [Live review](docs/live-review.md): `dev watch` session review, cards, signals, and blocking behavior.
|
|
27
|
-
- [Model routing](docs/model-routing.md): provider selection, role models, OpenRouter, Vertex AI, Doubleword, and Ollama (local) setup.
|
|
28
|
-
- [Security model](docs/security.md): redaction, permissions, allowlists, and local state.
|
|
29
|
-
- [Project status](docs/project-status.md): current maturity by subsystem.
|
|
30
|
-
- [Roadmap](docs/roadmap.md): planned work.
|
|
25
|
+
## Architecture & Components
|
|
31
26
|
|
|
32
|
-
|
|
27
|
+
DevCouncil's core runtime is a set of standalone, compiled native modules. Each binary is useful on its own, sits on `PATH`, and can be spawned or linked by a host that wants that one job:
|
|
33
28
|
|
|
34
|
-
|
|
29
|
+
| Binary | Language | Role & Ownership |
|
|
30
|
+
|--------|----------|------------------|
|
|
31
|
+
| `devcouncil` / `dev` | **Go** | Host orchestrator: Stdio MCP server (`mcp`), multi-host agent integration (`integrate`), engineering skills distribution (`skills`), task verification (`verify`), and devmap forwarding (`map`, `graph`, `ast`). |
|
|
32
|
+
| `devmap` | **Rust** | Code intelligence engine: 36+ tree-sitter language extractors, symbol resolution, blast-radius calculation, dead-code analysis, workspace guides (`AGENTS.md`), and DevMap MCP server (`devmap mcp`). |
|
|
33
|
+
| `dcstore` | **Rust** | State & lease store: SQLite-backed task repository, mutual-exclusion leases for concurrent agent building, evidence records, and gap tracking. |
|
|
34
|
+
| `dcverify` | **Rust** | Deterministic verification: Unified-diff parsing, planned file scope classification, anti-laziness/stub gates, test coverage evaluation, and typed `next_actions` repair signals. |
|
|
35
|
+
| `dcgrep` | **Rust** | Code search: Ripgrep-powered ignore-aware search engine with optional trigram indexing (`tgrep-core`). |
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
- **Architecture drift:** agents add dependencies or change design patterns without explicit authorization.
|
|
38
|
-
- **Unverified success:** agents claim tests passed without proving that the new logic was exercised.
|
|
39
|
-
- **Hidden assumptions:** important decisions stay buried in transient chat history instead of durable project artifacts.
|
|
37
|
+
### How hosts consume the modules
|
|
40
38
|
|
|
41
|
-
**
|
|
39
|
+
- **Manvi** wraps the components: it drives the agent loop, provider routing, policy ladder, and TUI, and reaches each binary over JSON on stdio. A host that wants a harness embeds Manvi rather than reimplementing it.
|
|
40
|
+
- **GitPulse** uses both for their respective jobs: Manvi (`manvi serve`) for policy, workbench, and agent hosting; selected DevCouncil crates and the `devmap` CLI for in-process code intelligence. It does not have to take every module.
|
|
41
|
+
- **Other apps** pick the same way — `devmap` alone, `dcverify` alone, the Go host MCP, or the full set. Updating one module does not require shipping the rest.
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
> [!NOTE]
|
|
44
|
+
> DevCouncil is built entirely as native compiled Go and Rust binaries; legacy Python orchestration has been retired (see [docs/PHASE7_LONG_TAIL.md](docs/PHASE7_LONG_TAIL.md)).
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
---
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
## Installation
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
DevCouncil supports macOS, Linux, and Windows. Requires a Go toolchain (`>=1.22`), Rust/`cargo`, and Git.
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
53
|
-
```
|
|
52
|
+
### 1. Build and Install Native Binaries
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
From a clone of this repository:
|
|
56
55
|
|
|
57
56
|
```bash
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
# macOS & Linux: builds Go host and all Rust analysis binaries into ~/.local/bin
|
|
58
|
+
bash scripts/install.sh
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
# Standalone DevMap (no Go host)
|
|
61
|
+
bash scripts/install.sh --only=devmap
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
# Analysis suite only (devmap dcstore dcverify dcgrep)
|
|
64
|
+
bash scripts/install.sh analysis
|
|
65
|
+
|
|
66
|
+
# Windows (PowerShell):
|
|
67
|
+
.\scripts\install.ps1
|
|
68
|
+
.\scripts\install.ps1 -Components devmap
|
|
67
69
|
```
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
To build and install the analysis components (`devmap`, `dcstore`, `dcverify`, `dcgrep`):
|
|
70
72
|
|
|
71
73
|
```bash
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
dev plan "Describe the implementation goal"
|
|
75
|
-
dev tasks
|
|
76
|
-
dev run TASK-001 --executor manual
|
|
77
|
-
dev prompt TASK-001
|
|
78
|
-
dev verify TASK-001
|
|
79
|
-
```
|
|
74
|
+
# Build & install all analysis components to ~/.local/bin
|
|
75
|
+
bash scripts/install-components.sh
|
|
80
76
|
|
|
81
|
-
|
|
77
|
+
# Or install specific components
|
|
78
|
+
bash scripts/install-components.sh devmap
|
|
79
|
+
bash scripts/install-components.sh dcstore dcverify dcgrep
|
|
82
80
|
|
|
83
|
-
|
|
81
|
+
# Build the Go host binary
|
|
82
|
+
go -C backend/go_orchestrator build -o ~/.local/bin/devcouncil ./cmd/devcouncil
|
|
83
|
+
ln -sf devcouncil ~/.local/bin/dev
|
|
84
|
+
```
|
|
84
85
|
|
|
85
|
-
|
|
86
|
+
Ensure `~/.local/bin` is in your `PATH`:
|
|
86
87
|
|
|
87
88
|
```bash
|
|
88
|
-
|
|
89
|
-
ollama pull qwen2.5-coder:32b # use the size `dev doctor` recommends for your RAM
|
|
90
|
-
export OLLAMA_NUM_CTX=16384 # large planning prompts need a raised context window
|
|
91
|
-
dev setup --provider ollama # auto-selects the model for your RAM
|
|
89
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
92
90
|
```
|
|
93
91
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Paste only the output from `dev prompt TASK-001` into Codex, Gemini, Claude Code, OpenCode, Antigravity, Warp, Cursor, Aider, or another coding tool. Keep `dev setup`, `dev plan`, `dev run`, and `dev verify` in the terminal at the repository root.
|
|
92
|
+
### 2. Optional Global npm Shim
|
|
97
93
|
|
|
98
|
-
|
|
94
|
+
If you prefer to dispatch through npm, install the lightweight Node.js wrapper (Node 18+). The npm package ships a shim that resolves and executes the native binaries:
|
|
99
95
|
|
|
100
96
|
```bash
|
|
101
|
-
|
|
102
|
-
dev e2e "Describe the implementation goal" --executor antigravity
|
|
103
|
-
dev e2e "Describe the implementation goal" --executor warp
|
|
104
|
-
dev go "Describe the implementation goal" --executor codex
|
|
97
|
+
npm install -g devcouncil
|
|
105
98
|
```
|
|
106
99
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
For machine-readable agent handoff, write the final report to a stable file:
|
|
100
|
+
### 3. Verify Environment
|
|
110
101
|
|
|
111
102
|
```bash
|
|
112
|
-
|
|
113
|
-
dev
|
|
103
|
+
devcouncil --help
|
|
104
|
+
dev --help
|
|
105
|
+
devmap --version
|
|
106
|
+
dcverify health
|
|
107
|
+
dcstore --db .devcouncil/state.sqlite health
|
|
108
|
+
dcgrep health
|
|
114
109
|
```
|
|
115
110
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
See the full [quickstart](docs/quickstart.md) for installation variants, API-key setup, and first-run guidance.
|
|
111
|
+
---
|
|
119
112
|
|
|
120
|
-
|
|
113
|
+
## Core Capabilities & Workflows
|
|
121
114
|
|
|
122
|
-
|
|
123
|
-
dev integrate opencode --apply
|
|
124
|
-
dev run TASK-001 --executor opencode
|
|
125
|
-
dev agents run TASK-001 --agent opencode --profile default
|
|
126
|
-
dev integrate antigravity --apply
|
|
127
|
-
dev run TASK-001 --executor antigravity
|
|
128
|
-
dev agents run TASK-001 --agent agy --profile default
|
|
129
|
-
```
|
|
115
|
+
### 1. Coding Agent Integration (`devcouncil integrate`)
|
|
130
116
|
|
|
131
|
-
|
|
117
|
+
Connect DevCouncil's MCP server to Cursor or Claude Code. `--write-gate` has been removed: it named a pre-tool-use gate that only the retired lifecycle hooks installed, and nothing enforced it. Use `dev hook status` to inspect old registrations and `dev hook disable --dry-run` to preview cleanup.
|
|
132
118
|
|
|
133
119
|
```bash
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
dev agents doctor
|
|
137
|
-
dev agents run TASK-001 --agent myagent --profile default
|
|
138
|
-
```
|
|
120
|
+
devcouncil integrate cursor --apply
|
|
121
|
+
devcouncil integrate claude --apply
|
|
139
122
|
|
|
140
|
-
|
|
123
|
+
# Stub receipt only — not a working installer:
|
|
124
|
+
# devcouncil integrate antigravity --apply
|
|
141
125
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
dev agents optimize --agent codex --profile yolo --evals .devcouncil/evals/agent-profile.jsonl --apply
|
|
126
|
+
# Verify existing integration configuration
|
|
127
|
+
devcouncil integrate cursor --check
|
|
145
128
|
```
|
|
146
129
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
DevCouncil is an application layer around coding agents. It does not just emit prompts; it owns the workflow state, validates task scope, records evidence, and produces release-style reports.
|
|
130
|
+
### 2. Engineering Skills Delivery (`devcouncil skills`)
|
|
150
131
|
|
|
151
|
-
|
|
132
|
+
Deliver verified engineering practices and code-intelligence skills directly into agent skill folders (`.agents/skills`, `.claude/skills`, `.cursor/skills`):
|
|
152
133
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
- **CI scaffolding:** `dev scaffold-ci` writes a starter `.github/workflows/devcouncil.yml` derived from the configured test/lint/typecheck commands, filtered to the detected language stack; it never overwrites existing CI unless `--force`.
|
|
157
|
-
- **Planning council:** `dev plan` turns a goal into requirements, acceptance criteria, assumptions, critique findings, and executable tasks.
|
|
158
|
-
- **Task graph:** `dev tasks` and `dev show TASK-001` expose requirement links, acceptance-criterion links, planned files, expected tests, allowed commands, forbidden changes, dependencies, and status. Tasks can declare `depends_on`; the plan gate rejects unknown dependencies and cycles, and `dev go`/`dev e2e` run tasks in topological order and skip a task whose prerequisites didn't complete (rather than letting it fail spuriously and burn its repair budget).
|
|
159
|
-
- **Scoped task prompts:** `dev prompt TASK-001` creates a constrained implementation prompt for sidecar agents, including file scope, verification expectations, and forbidden changes. The prompt now embeds the current (secret-redacted) contents of each planned file with a top-level symbol outline, structural orientation (from the code-review graph when available, otherwise the generated `repo_map.json`), and a **dependents (blast-radius) list** — the files that import each file being changed, from the map's precomputed reverse-import index — so the agent edits in place and keeps call sites working instead of starting blind. A central prompt budget keeps the core (goal/scope/instructions) always present and fits the optional context sections in priority order (file contents > structural > dependents > skills), dropping the lowest-priority ones with an explicit marker rather than overflowing silently.
|
|
160
|
-
- **Execution:** `dev run TASK-001` supports manual sidecar mode, built-in coding CLI executors, external executors, and registered custom CLI agents.
|
|
161
|
-
- **One-command flow:** `dev e2e "goal"` and `dev go "goal"` can initialize state, plan, run approved tasks, verify the diff, and generate a report. With an automated executor the run is now a **closed loop**: a task that fails verification is re-driven through a bounded self-repair loop (a correction manifest is written and the executor re-run) until it verifies or the `execution.max_repair_attempts` budget is spent, with no-progress detection that stops early when the same blocking gaps reappear.
|
|
162
|
-
- **Verification:** `dev verify TASK-001` captures the diff, runs expected evidence commands, checks planned-file compliance, detects orphan changes, flags unplanned dependency edits, scans for secrets, and links evidence to acceptance criteria. An **empty diff can no longer pass** a task that declares files to create or modify (work that committed earlier is still recognized via the task checkpoint), and the result reports the rigor it ran at (`verification_mode` compiled vs coarse, `diff_empty`, `coverage_measured`/`coverage_skipped_reason`) plus a distinct `advisory_actions` list so an agent never mistakes "passed" for "proven." `dev verify` exits non-zero when a task is blocked so shell-driven agents can gate on `$?`.
|
|
163
|
-
- **Repair:** `dev repair` converts blocking gaps into focused follow-up work instead of leaving failures as vague test output.
|
|
164
|
-
- **Rollback:** `dev rollback TASK-001` uses task checkpoints to revert scoped work when a task needs to be backed out.
|
|
165
|
-
- **Reporting:** `dev report` emits a requirements coverage table, evidence summary, blocking gaps, and live-review blockers; JSON and PR-comment paths are available for automation.
|
|
134
|
+
```bash
|
|
135
|
+
# List available skills embedded in the binary
|
|
136
|
+
devcouncil skills list
|
|
166
137
|
|
|
167
|
-
|
|
138
|
+
# Scaffold all applicable skills into the repository
|
|
139
|
+
devcouncil skills scaffold
|
|
168
140
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
- **Live review:** `dev watch` tracks review cards, signals, blocking feedback, and repair guidance while a session is active.
|
|
174
|
-
- **Trace viewer:** `dev trace tail --follow` streams local DevCouncil trace events for execution, verification, and agent handoff.
|
|
175
|
-
- **Dashboard:** `dev dashboard --open` serves a local status dashboard and opens it in the default browser for project state and live workflow visibility.
|
|
176
|
-
- **Agent-consumable CLI:** machine output for shell-driven agents — `dev prompt --json` (`{ok, task_id, prompt}`), `dev handoff --json` (`{ok, manifest_path, run_id, next_command}` to chain `dev run`), `dev verify` exits non-zero when blocked, and `dev status`/`dev report` accept `--fail-on-blocking` to exit non-zero on outstanding blocking gaps so a loop can gate on `$?`.
|
|
177
|
-
- **Config editor:** `dev config` and `dev config models` inspect/update provider, model, executor, and command configuration.
|
|
178
|
-
- **Artifact tools:** `dev artifacts validate` checks stored graph integrity.
|
|
179
|
-
- **Code intelligence:** `dev lsp inspect` checks optional language-server readiness, and `dev ast match` searches code structurally.
|
|
180
|
-
- **Doctor:** `dev doctor` validates local dependencies, commands, and environment prerequisites before a workflow fails deeper in execution.
|
|
141
|
+
# Scaffold a specific skill (e.g. core-engineering or devmap)
|
|
142
|
+
devcouncil skills scaffold --skill core-engineering
|
|
143
|
+
devcouncil skills scaffold --skill devmap
|
|
144
|
+
```
|
|
181
145
|
|
|
182
|
-
###
|
|
146
|
+
### 3. Repository Mapping & Code Intelligence (`devmap` / `dev map`)
|
|
183
147
|
|
|
184
|
-
|
|
148
|
+
Build and query deep semantic relationships across your codebase without an LLM:
|
|
185
149
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
- **Execution profiles:** custom agents can use profiles such as `default`, `yolo`, and `prod` to adjust prompt constraints while DevCouncil still verifies the final diff.
|
|
190
|
-
- **External automated adapters:** `mini`, `openhands`, `native-preview`, and `native` are available when the corresponding local executor is configured.
|
|
191
|
-
- **Hook-aware clients:** `dev integrate hooks --apply` installs write/shell hooks for Codex, Gemini, Claude, Cursor, and OpenCode so DevCouncil policy can block unauthorized actions before verification. The post-task hook can run deterministic verification of the active task and record gaps (enable `execution.verify_on_post_task`; off by default to keep hooks fast). File-write policy uses one shared path normalizer across the hook and task-policy paths that resolves every target and **denies anything outside the project root** (so the path that's checked is the path that's enforced), and the pre-tool-use hook is fail-closed: an unparseable or error payload is surfaced (and blocked under `--strict`/`DEVCOUNCIL_HOOK_STRICT`) rather than silently allowed.
|
|
150
|
+
```bash
|
|
151
|
+
# Build the repository map (.devcouncil/repo_map.json) and code graph
|
|
152
|
+
devmap build --manifest
|
|
192
153
|
|
|
193
|
-
|
|
154
|
+
# Shorthand via the Go host:
|
|
155
|
+
dev map
|
|
194
156
|
|
|
195
|
-
|
|
157
|
+
# Query symbol blast radius & reverse dependents before editing
|
|
158
|
+
devmap impact path/to/file.go
|
|
196
159
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
- **Diff gates:** verification detects files changed outside the planned task scope, dependency-file edits made without authorization, deleted/added files, and untracked file diffs.
|
|
200
|
-
- **Evidence gates:** passing evidence commands are linked back to acceptance criteria; missing passing evidence becomes a blocking gap.
|
|
201
|
-
- **Security gates:** secret scanning runs over captured diffs, and command output is redacted before it is written to logs.
|
|
202
|
-
- **Live-review gates:** unresolved critical review cards can block task verification and appear in reports.
|
|
160
|
+
# Trace dependency paths between two symbols
|
|
161
|
+
devmap trace SymbolA SymbolB
|
|
203
162
|
|
|
204
|
-
|
|
163
|
+
# Find dead code with confidence tiers (extracted | inferred | ambiguous)
|
|
164
|
+
devmap dead
|
|
205
165
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
- **Model defaults:** packaged YAML defaults ship with the tool so installed CLI environments do not depend on source-tree-only files.
|
|
210
|
-
- **Telemetry:** local trace and cost data feed `dev status`, reports, and dashboard surfaces.
|
|
166
|
+
# Launch the interactive HTML visualizer
|
|
167
|
+
devmap view
|
|
168
|
+
```
|
|
211
169
|
|
|
212
|
-
###
|
|
170
|
+
### 4. Task Leases & Gated Verification (`devcouncil verify`)
|
|
213
171
|
|
|
214
|
-
-
|
|
215
|
-
- **JSON reports:** `--json` and `--report-file` support machine-readable handoff to other automation.
|
|
216
|
-
- **Agent preset:** `--agent` writes `.devcouncil/reports/latest.json` for stable downstream consumption.
|
|
217
|
-
- **PR comments:** `dev report --github-pr-comment` and `dev report --gitlab-pr-comment` can publish verification summaries to pull/merge requests.
|
|
218
|
-
- **GitHub checks:** preview GitHub report/check surfaces are available for repository automation.
|
|
172
|
+
Prevent multi-agent file trampling and verify diff correctness against deterministic criteria:
|
|
219
173
|
|
|
220
|
-
|
|
174
|
+
```bash
|
|
175
|
+
# Run deterministic verification against a task's diff
|
|
176
|
+
devcouncil verify TASK-001
|
|
221
177
|
|
|
222
|
-
|
|
178
|
+
# Machine-readable output for agent loops
|
|
179
|
+
devcouncil verify TASK-001 --json
|
|
223
180
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
- `.devcouncil/state.sqlite`: SQLite state for requirements, assumptions, tasks, evidence, gaps, critique findings, and project phase history.
|
|
228
|
-
- `.devcouncil/checkpoints/`: task snapshots used by verification and rollback.
|
|
229
|
-
- `.devcouncil/logs/`: redacted stdout/stderr from verification commands.
|
|
230
|
-
- `.devcouncil/runs/<run-id>/agent-run.json`: prompt, executor, profile, exit status, and run metadata for automated agent executions.
|
|
231
|
-
- `.devcouncil/reports/latest.json`: optional machine-readable report generated by `dev e2e --agent`.
|
|
232
|
-
- `.devcouncil/integrations/` and `.agents/`: generated integration files such as Warp/Oz MCP JSON and Antigravity MCP config.
|
|
181
|
+
# Sandbox flag is recorded only; docker/nix do not isolate (TASK-P7-2)
|
|
182
|
+
devcouncil verify TASK-001 --sandbox local
|
|
183
|
+
```
|
|
233
184
|
|
|
234
|
-
|
|
185
|
+
Verification today (Go `verify.Run()`) enforces:
|
|
186
|
+
- **Planned file scope:** Rejects unauthorized edits outside declared task boundaries.
|
|
187
|
+
- **Orphan diffs / dependency-risk:** Flags files changed that were not planned.
|
|
188
|
+
- **Expected tests / allowed commands:** Runs the task's command list via `/bin/sh -c` in the project root.
|
|
189
|
+
- **Typed `next_actions`:** Structured repair instructions when those gates fail.
|
|
235
190
|
|
|
236
|
-
|
|
191
|
+
Stub detection, secret scanning, and coverage intersection live in the **`dcverify`** binary. `devcouncil verify`, MCP `devcouncil_verify_task`, and **Manvi** `runRigor` all spawn it. When `dcverify` is not installed the report carries an empty `rigor_applied` **and** a `rigor_skipped_reason` naming what to install — never a silent clean pass. Diff↔coverage runs only when a profile is supplied (`devcouncil verify --coverage PATH`); otherwise `coverage_skipped_reason` says so.
|
|
237
192
|
|
|
238
|
-
|
|
193
|
+
### 5. MCP Servers for AI Agents
|
|
239
194
|
|
|
240
|
-
DevCouncil
|
|
195
|
+
DevCouncil provides two complementary Model Context Protocol (MCP) servers:
|
|
241
196
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
3. You paste that prompt into your coding CLI or agent.
|
|
245
|
-
4. The agent edits the repository.
|
|
246
|
-
5. DevCouncil verifies the resulting diff against task constraints.
|
|
247
|
-
6. If verification fails, DevCouncil creates a focused repair loop.
|
|
197
|
+
- **Host MCP Server (`devcouncil mcp`)**: Eight tools — checkout / renew / release / next_task / get_diff / verify_task / get_gaps / policy_check_write. `verify_task` runs Go `verify.Run()`, which spawns `dcverify` for the stub and secret gates; diff↔coverage needs a profile this tool has no field for, so use `devcouncil verify --coverage PATH`.
|
|
198
|
+
- **DevMap MCP Server (`devmap mcp`)**: Eleven query tools (status, search, dependencies, impact, trace, neighbors, dead_symbols, clones, preview, explore, affected_tests). Always pass `repo_path`.
|
|
248
199
|
|
|
249
|
-
|
|
200
|
+
---
|
|
250
201
|
|
|
251
|
-
##
|
|
202
|
+
## Architecture Flow
|
|
252
203
|
|
|
253
204
|
```mermaid
|
|
254
205
|
flowchart TD
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
206
|
+
subgraph Agents["Harnesses, hosts, and coding agents"]
|
|
207
|
+
Claude["Claude Code"]
|
|
208
|
+
Cursor["Cursor"]
|
|
209
|
+
Codex["Codex"]
|
|
210
|
+
AGY["Antigravity"]
|
|
211
|
+
Warp["Warp"]
|
|
212
|
+
Manvi["Manvi (wraps these components)"]
|
|
213
|
+
GitPulse["GitPulse (selects modules)"]
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
subgraph Host["Go Host Orchestrator (devcouncil / dev)"]
|
|
217
|
+
CLI["Host CLI\ncmd/devcouncil"]
|
|
218
|
+
MCP["Host MCP Server\ndevcouncil mcp"]
|
|
219
|
+
Integ["Integrator\ndevcouncil integrate"]
|
|
220
|
+
Skills["Skills Engine\ndevcouncil skills"]
|
|
221
|
+
VerifyCmd["Verify Command\ndevcouncil verify"]
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
subgraph RustAnalysis["Rust Analysis & State Suite"]
|
|
225
|
+
DevMap["devmap\nCode Graph & 36+ Language ASTs"]
|
|
226
|
+
DCStore["dcstore\nAtomic Task Leases & SQLite Store"]
|
|
227
|
+
DCVerify["dcverify\nUnified Diff Parser & Rigor Gates"]
|
|
228
|
+
DCGrep["dcgrep\nRipgrep Engine & Trigram Index"]
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
Agents <-->|MCP Protocol| MCP
|
|
232
|
+
Agents <-->|Direct / Tool Calls| CLI
|
|
233
|
+
Manvi -->|Wraps: imports Go, spawns binaries| Host
|
|
234
|
+
Manvi -->|Spawns selected modules| RustAnalysis
|
|
235
|
+
GitPulse -->|Vendors selected crates| DevMap
|
|
236
|
+
GitPulse -->|manvi serve| Manvi
|
|
237
|
+
|
|
238
|
+
CLI -->|Execs| DevMap
|
|
239
|
+
CLI -->|Integrates| Integ
|
|
240
|
+
CLI -->|Scaffolds| Skills
|
|
241
|
+
VerifyCmd -->|Scope, orphan, expected tests| DCStore
|
|
242
|
+
Manvi -->|Spawns dcverify rigor| DCVerify
|
|
243
|
+
|
|
244
|
+
MCP -->|Leases and tasks| DCStore
|
|
245
|
+
MCP -->|verify_task → Go Run| VerifyCmd
|
|
293
246
|
```
|
|
294
247
|
|
|
295
|
-
|
|
248
|
+
---
|
|
296
249
|
|
|
297
|
-
|
|
250
|
+
## Repository Layout
|
|
298
251
|
|
|
299
|
-
```bash
|
|
300
|
-
uv sync
|
|
301
|
-
uv run dev --help
|
|
302
252
|
```
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
253
|
+
DevCouncil/
|
|
254
|
+
├── backend/go_orchestrator/ # Go host orchestrator binary and packages
|
|
255
|
+
│ ├── cmd/devcouncil/ # Main entrypoint for devcouncil and dev
|
|
256
|
+
│ ├── devcouncil/ # MCP server, integrate, skills, verify implementations
|
|
257
|
+
│ ├── dc/store/ # Interop client for dcstore binary
|
|
258
|
+
│ └── policy/ # File-write containment & security policies
|
|
259
|
+
├── rust/ # Analysis and verification engine crates (dcstore, dcverify, dcgrep, devmap)
|
|
260
|
+
├── bin/ # Node.js npm shim (bin/devcouncil.js)
|
|
261
|
+
├── scripts/ # Platform installers (install.sh, install-components.sh)
|
|
262
|
+
└── docs/ # Architecture, releases, and integration guides
|
|
310
263
|
```
|
|
311
264
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
DevCouncil implements a 7-phase software-team workflow:
|
|
315
|
-
|
|
316
|
-
1. Goal analysis and repository mapping.
|
|
317
|
-
2. Requirements drafting.
|
|
318
|
-
3. Council debate and task arbitration.
|
|
319
|
-
4. Gated execution with scoped files and commands.
|
|
320
|
-
5. Deterministic verification.
|
|
321
|
-
6. Repair-loop generation.
|
|
322
|
-
7. Evidence reporting.
|
|
323
|
-
|
|
324
|
-
Read [docs/architecture.md](docs/architecture.md) for the artifact graph, gating state machine, and component layout.
|
|
265
|
+
---
|
|
325
266
|
|
|
326
|
-
##
|
|
267
|
+
## Documentation
|
|
327
268
|
|
|
328
|
-
|
|
269
|
+
- [Release Notes (v0.2.0)](docs/releases/v0.2.0.md): Native orchestration and analysis migration.
|
|
270
|
+
- [Native cutover follow-ups](docs/TODO.md): Open wiring and honesty work after Phase 7.
|
|
271
|
+
- [Architecture Decisions & Python Retirement](docs/PHASE7_LONG_TAIL.md): Background on the transition to native Go and Rust binaries.
|
|
272
|
+
- [Archived ledgers](docs/archive/README.md): Pre-cutover DevMap plans, audits, and qualification dumps.
|
|
273
|
+
- [Code Graph & DevMap Guide](docs/code-graph.md): Symbol resolution, dead code, and blast radius.
|
|
274
|
+
- [DevMap competitor benchmarks](docs/devmap/README.md#benchmark-comparison): Measured strengths, weaknesses, speed, memory, storage, and correctness against Graphify, Gortex, GitNexus, CodeGraph, codebase-memory-mcp, and ripgrep, with scope limits and raw evidence.
|
|
275
|
+
- [Hero Loop (MCP Closed Loop)](docs/hero-loop.md): Autonomous task loop with deterministic gates.
|
|
276
|
+
- [Coding CLI Integration](docs/coding-cli-integration.md): Configuring Claude, Codex, Cursor, Warp, and Antigravity.
|
|
277
|
+
- [Security Model](docs/security.md): Redaction, write isolation, and containment rules.
|
|
278
|
+
- [Project Status](docs/project-status.md): Subsystem maturity ledger.
|
|
329
279
|
|
|
330
|
-
|
|
331
|
-
- [karpathy/llm-council](https://github.com/karpathy/llm-council): for the multi-LLM peer-review pattern.
|
|
332
|
-
- [GPT Pilot](https://github.com/Pythagora-io/gpt-pilot): for role-based software-team concept.
|
|
333
|
-
- [astral-sh/uv](https://github.com/astral-sh/uv): for reproducible Python package/runtime workflows.
|
|
334
|
-
- [OpenHands](https://github.com/All-Hands-AI/OpenHands): for workspace-aware agent execution patterns.
|
|
335
|
-
- [mini-SWE-agent](https://github.com/SWE-agent/mini-swe-agent): for lightweight execution loop inspiration.
|
|
336
|
-
- [SWE-agent](https://github.com/SWE-agent/SWE-agent): for full-spectrum autonomous SWE-style tasking patterns.
|
|
337
|
-
- [GitNexus](https://github.com/abhigyanpatwari/GitNexus): for structural codebase awareness.
|
|
338
|
-
- [graphify](https://github.com/safishamsi/graphify): for knowledge-graph-based coordination concepts.
|
|
280
|
+
---
|
|
339
281
|
|
|
340
282
|
## License
|
|
341
283
|
|
|
342
284
|
Licensed under the **Apache License, Version 2.0**. See [LICENSE](LICENSE) for details.
|
|
343
|
-
|
|
344
|
-
---
|
|
345
|
-
|
|
346
|
-
**"Trust the model, but verify the graph."**
|