-
Notifications
You must be signed in to change notification settings - Fork 1
Project layout
Arun Soman edited this page Aug 31, 2026
·
1 revision
Project layout — migrated from the README on 2026-08-31 and verified against the code at tag v0.1.4; if code and wiki ever disagree, the code wins and this page gets a PR.
cie/
models.py # NodeKind/Edge/Confidence + all result dataclasses (one source of truth)
repository.py # Repository Protocol
neo4j_repository.py # Neo4j (Cypher) backend
in_memory_repository.py # reference test double + embedded query/traversal logic
embedded_repository.py # zero-config SQLite backend
query.py # QueryEngine (backend-agnostic orchestration)
extract.py # tree-sitter extraction (Python/JS/TS/Java/Go/Rust/C/C++/C#)
callgraph.py # pass-2 calls/inheritance edge resolution
testlink.py # TESTS edge resolution
lang_adapter.py # pluggable language-adapter registry + entry points
config.py factory.py # bootstrap (Neo4jConfig / CieConfig / build_tool_service*)
tools/ # ToolService (~135 tools) + jailed fs/run/blame helpers
mcp_server.py # real MCP server (cie-mcp)
routes.py # FastAPI router (mounted into host app)
cli.py # 49-command CLI (Rich tables + --json envelope)
tool_schema.py tool_policy.py # typed JSON-Schema + per-agent authorization
# analysis passes (on-demand, write analysis nodes):
clone_detect.py perf_analyze.py drift_detect.py metrics.py
community_detect.py graphrag.py query_plan.py graph_diff.py
contracts.py test_synthesis.py state_machine.py traceability.py
semantic_diff.py consensus.py confidence.py justification.py
invariants.py telemetry.py decompose.py subsystems.py
sync.py data_model.py api_routes.py source_analysis.py
test_orchestration.py mocking.py mock_server.py apm.py
tasks.py task_repository.py hierarchy.py # task / PRD-hierarchy layer
envelope.py embed.py graph_cache.py timeouts.py telemetry.py
tests/ # test_standalone_smoke / test_mcp_server / test_embedded_repository
If code and this wiki disagree, the code wins — then this wiki gets a PR. Evidence lives in the repo, not here.
Start
How-tos
- Install & serve to your MCP client
- Choose your storage backend
- Run the Neo4j team mode
- Index & keep it fresh
- Ask impact questions
- Task & QA layer
- Semantic search
- Snapshot or serve HTTP
- Policies & the write boundary
- Troubleshoot
Reference
- Extraction pipeline
- Data model
- Tool reference
- Benchmarks
- Security & determinism
- Two tiers · Project layout · Docs index
Contribute