An automated, graph-aware code review and code-intelligence system. It builds a multi-layer knowledge graph of a codebase, runs a deterministic multi-language static review engine, and exposes the results to humans (a web visualization UI) and to AI agents (an MCP tool surface).
Licensed under the Apache License 2.0.
| Component | Path | Stack |
|---|---|---|
| Review service & CLI | go-review-service/ |
Go 1.26+ |
| Visualization frontend | code-visualization-frontend/ |
React 19 + TypeScript + Vite |
| Schemas (contracts) | contract/ |
JSON Schema |
- Multi-layer code graph — incremental indexer building file → package → symbol → relation → capability layers, with pluggable graph backends.
- Deterministic review engine — AST-based rules across five languages: Go
(
go/ast), Python / TypeScript / C# (tree-sitter), and Dynamics AX / X++ (a native AX 2009.xpomethod-body AST) for correctness, maintainability, and test-quality findings. No LLM provider required. - First-class Dynamics AX / X++ support — a standalone, dependency-free
xppastlibrary parses AX 2009.xposource into a real method-body AST, driving X++-aware review rules (money typed asreal, unbalancedttsblocks, long/complex methods) and X++ object relations in the code graph. Pure Go and build-tag-free, so it runs on every platform including macOS. - Semantic search — optional vector search over an embedding provider.
- MCP server — exposes the review/graph tools over stdio and HTTP so AI agents and IDEs can drive analysis programmatically.
- Graph & report viewers — browser-based visualization of the code graph.
cd go-review-service
go build ./...
go test ./... -tags no_tree_sitter # unit tests, no external services
# Build the CLI and review a path
go build -o bin/review-cli ./cmd/review-cli
./bin/review-cli review <path> --format text
# Review Dynamics AX / X++ source (native .xpo AST rules, deterministic, offline)
./bin/review-cli review <ax-path> --language xpp --format text
# Index a project graph (project-local SQLite, no external services)
PERSISTENCE_MODE=local-sqlite SQLITE_ENABLED=true ./bin/review-cli index <path> --no-embeddingsCopy config.example.yaml to config.yaml and adjust providers/endpoints for
your environment. Configuration is environment-driven; see the example config
and docs/ for provider options.
cd code-visualization-frontend
npm install
npm run dev # local dev server
npm run build # production buildSee docs/ for the user manual, versioning policy, provider/support
matrix, LSP integration, observability, and graph-backend integration guides.
Contributions are welcome. Please read CONTRIBUTING.md and the Code of Conduct. To report a security issue, see SECURITY.md.