Thank you for your interest in contributing to AgenticReality! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/agentic-reality.git - Create a feature branch:
git checkout -b my-feature - Make your changes
- Run the tests (see below)
- Commit and push
- Open a pull request
This is a Cargo workspace monorepo. All Rust crates are under crates/.
# Build everything (core + MCP server + CLI + FFI)
cargo build
# Build release
cargo build --release
# Core library only
cargo build -p agentic-reality
# MCP server only
cargo build -p agentic-reality-mcp# Run all tests
cargo test --workspace
# Core library only
cargo test -p agentic-reality
# MCP server only
cargo test -p agentic-reality-mcp
# CLI only
cargo test -p agentic-reality-cli
# Run with verbose output
cargo test --workspace -- --nocapture# Run the CLI binary (areal)
cargo run -p agentic-reality-cli -- workspace init
cargo run -p agentic-reality-cli -- workspace sense
# Run the MCP server
cargo run -p agentic-reality-cli -- serveFile an issue with:
- Steps to reproduce
- Expected behavior
- Actual behavior
- System info (OS, Rust version)
- Create a new tool handler in
crates/agentic-reality-mcp/src/tools/ - Register it in
crates/agentic-reality-mcp/src/tools/registry.rs - Add tests
- Update
docs/MCP-TOOLS.md
- Add the subcommand in
crates/agentic-reality-cli/src/ - Add tests
- Update
docs/CLI.md
- Add a new example
- Ensure it runs without errors
- Add a docstring explaining what it demonstrates
All docs are in docs/. Fix typos, add examples, clarify explanations -- all welcome.
- Rust: Follow standard Rust conventions. Run
cargo clippyandcargo fmt. - Tests: Every feature needs tests. We target 250+ tests across the workspace.
- Documentation: Update docs when changing public APIs.
- MCP Quality: Tool descriptions must be verb-first imperative, no trailing periods. Zero
.unwrap()or.expect()in MCP code. Unknown tool error code is-32803.
Use conventional commit prefixes:
feat: add temporal causality trackingfix: correct coherence engine drift detectionchore: update dependenciesdocs: improve quickstart guidetest: add phase06 temporal grounding testsrefactor: simplify resource body schema
Important: Never add Co-Authored-By: Claude or any AI co-author lines to commits.
- Keep PRs focused -- one feature or fix per PR
- Include tests for new functionality
- Update documentation if needed
- Ensure all tests pass before submitting
- Ensure guardrail scripts pass:
bash scripts/check-canonical-consistency.sh - Write a clear PR description
Before submitting, run these guardrail scripts:
bash scripts/check-canonical-consistency.sh
bash scripts/check-command-surface.sh
bash scripts/check-mcp-consolidation.shBy contributing, you agree that your contributions will be licensed under the MIT License.