Thank you for your interest in contributing to AgenticCodebase!
- Rust 1.75+ (stable)
- Git
cargo build
cargo test --workspace
cargo clippy --workspace -- -D warnings
cargo fmt --checkcargo benchsrc/
lib.rs # Library root
bin/
acb.rs # CLI binary
agentic-codebase-mcp.rs # MCP server binary
types/ # Core data types
parse/ # tree-sitter parsers (Python, Rust, TS, Go)
semantic/ # Cross-language analysis
graph/ # In-memory graph operations
format/ # Binary .acb format I/O
engine/ # Query engine
index/ # Fast lookup indexes
temporal/ # Time-based analysis (prophecy)
collective/ # Pattern sharing
cli/ # CLI commands
mcp/ # MCP server
tests/ # Integration tests (phase-numbered)
benches/ # Criterion benchmarks
testdata/ # Test fixtures (Python, Rust, TS, Go)
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Run tests:
cargo test --workspace - Run lints:
cargo clippy --workspace -- -D warnings - Format code:
cargo fmt - Commit your changes
- Push to your fork
- Open a Pull Request
- Follow Rust standard naming conventions (snake_case for functions, PascalCase for types)
- Every public item must have a
///doc comment - Every module must have a
//!module-level doc comment - Use
thiserrorfor error types,?for propagation - All logging via
tracing(NOTlog), always to stderr
- Integration tests go in
tests/phase{N}_{area}.rs - Edge case tests go in
tests/edge_cases.rs - Unit tests use
#[cfg(test)] mod tests { ... }inline - Use
tempfilefor file I/O tests - Use
testdata/for fixture files
Open an issue or discussion on GitHub.