Skip to content

austinyuch/aclab-code-review

Code Review System

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.

Components

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

Highlights

  • 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 .xpo method-body AST) for correctness, maintainability, and test-quality findings. No LLM provider required.
  • First-class Dynamics AX / X++ support — a standalone, dependency-free xppast library parses AX 2009 .xpo source into a real method-body AST, driving X++-aware review rules (money typed as real, unbalanced tts blocks, 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.

Quick start

Backend (Go)

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-embeddings

Copy 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.

Frontend (React)

cd code-visualization-frontend
npm install
npm run dev          # local dev server
npm run build        # production build

Documentation

See docs/ for the user manual, versioning policy, provider/support matrix, LSP integration, observability, and graph-backend integration guides.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md and the Code of Conduct. To report a security issue, see SECURITY.md.

License

Apache License 2.0 — see LICENSE and NOTICE.

About

Automated, graph-aware code review system — Go backend + React graph-visualization frontend, multi-language AST review engine, knowledge-graph indexing, and MCP tools. (Apache-2.0)

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors