agentic-codebase 0.1.3

Semantic code compiler for AI agents - transforms codebases into navigable concept graphs
Documentation
# Contributing to AgenticCodebase

Thank you for your interest in contributing to AgenticCodebase!

## Development Setup

### Prerequisites

- Rust 1.75+ (stable)
- Git

### Building

```bash
cargo build
cargo test --workspace
cargo clippy --workspace -- -D warnings
cargo fmt --check
```

### Running Benchmarks

```bash
cargo bench
```

### Project Structure

```
src/
  lib.rs              # Library root
  bin/
    acb.rs            # CLI binary
    acb-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)
```

## How to Contribute

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/my-feature`)
3. Make your changes
4. Run tests: `cargo test --workspace`
5. Run lints: `cargo clippy --workspace -- -D warnings`
6. Format code: `cargo fmt`
7. Commit your changes
8. Push to your fork
9. Open a Pull Request

## Code Style

- 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 `thiserror` for error types, `?` for propagation
- All logging via `tracing` (NOT `log`), always to stderr

## Testing

- 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 `tempfile` for file I/O tests
- Use `testdata/` for fixture files

## Questions?

Open an issue or discussion on GitHub.