repo-k-graph (rkg)
repo-k-graph (rkg) is a Rust project for deterministic repository knowledge
graphs and context infrastructure for AI-assisted software engineering.
Current release: 1.0.12.
The current repository state is complete through Phase 17, Swift UI and macro depth, evaluation/benchmarking, FTS search, packaging/distribution support, and Kotlin Android integration:
- Phase 0-2: Repository foundation, local SQLite knowledge store, and git-ignore-aware file ingestion.
- Phase 3-4: AST-based Python symbol extraction and full relationship graphs.
- Phase 5-6: Python test discovery, coverage integration, and documentation intelligence.
- Phase 7-8: Graph traversal, impact analysis, and token-budgeted context packing.
- Phase 9-10: MCP stdio server support and Git intelligence.
- Phase 11-17: Python, Rust, F#, Mojo, Kotlin, Swift, Android, and benchmark intelligence.
- Distribution: GitHub Release workflow, shell completions, generated command reference, release checklist, schema reference, and language adapter guide.
Project Documents
- SPEC
- ARCHITECTURE
- CHANGELOG
- User Manual
- Release Checklist
- Schema Reference
- Language Adapter Guide
- Initial Project Proposal
- High-level Architecture Proposal
- Development Roadmap
Workspace Layout
crates/
rkg-cli CLI binary entry point and command executors
rkg-core shared domain model types
rkg-db SQLite persistence layer
rkg-indexer repository ingestion and file discovery
rkg-query unified query logic layer
rkg-lang-* language adapters
rkg-mcp Model Context Protocol server
fixtures/
sample-repos/ small repositories for indexing integration tests
Verification
Run these checks before finalizing code changes:
For release packaging validation:
Versioning Policy
rkg uses a project-specific language-support release policy. Completed Python
support is the 1.0.0 baseline. Each completed additional language adapter
increments the patch version by 0.0.1: Rust (1.0.1), F# (1.0.2), Mojo
(1.0.3), Kotlin (1.0.4), and Swift (1.0.5). Subsequent releases introduce
feature enhancements, search backends, test coverage integration, and deeper
language-specific modeling.
Development Principles
- Follow functional-first design where practical.
- Keep spec-driven docs aligned with implementation state.
- Write tests for meaningful behavior, not only compile coverage.
- Use 2-space indentation.
- Keep deterministic repository facts separate from agent reasoning.