Thank you for your interest in contributing. This document explains how to set up the project, run tests, and submit changes.
- Rust 1.85+ (see
rust-toolchainorCargo.tomlworkspacerust-version) - Git
- Optional: Docker for containerized runs
git clone https://github.com/aryasoni98/mcpatlas.git
cd mcp-atlas
cargo build
cargo test --workspacecrates/mcp-atlas-core— MCP server: transport (STDIO/SSE/Streamable HTTP), tool handlers, resources, promptscrates/mcp-atlas-data— Data models, landscape YAML parsing, GitHub enrichment, cache, pipelinecrates/mcp-atlas-search— Tantivy full-text search index and query typescrates/mcp-atlas-graph— In-memory knowledge graph (alternatives, relationships, path finding)crates/mcp-atlas-plugins— Plugin host interface (WASM/Extism planned)crates/mcp-atlas-cli— CLI for sync, validate, and data operationssite/— Landing site (Vite + React + Tailwind); see site/README.md for build and deploy.
Tool handlers live in crates/mcp-atlas-core/src/tools/. MCP protocol routing is in tools/mod.rs.
# STDIO (e.g. for Claude Desktop) — skip GitHub for fast startup
cargo run -p mcp-atlas -- --transport stdio --skip-github --landscape-file data/landscape.yml
# HTTP SSE server
cargo run -p mcp-atlas -- --transport sse --port 3000- Format:
cargo fmt --all - Lint:
cargo clippy --workspace --all-targets - Tests:
cargo test --workspace - No
unwrap()in non-test code — use?or.context()from anyhow - Logging: use
tracing(notlog)
- Code follows project conventions (see
CLAUDE.mdand.cursor/rules/) - New behavior has tests where appropriate
- CI passes (format, clippy, tests)
- If AI-assisted: add
AI-Assisted: truein the PR description - No secrets or
.envcommitted
Use Conventional Commits for commit messages:
feat:new featurefix:bug fixdocs:documentation onlyrefactor:code change that neither fixes a bug nor adds a featuretest:adding or updating testschore:tooling, deps, CI
For significant changes (new storage backends, plugin ABI, transport behavior), please open an RFC in docs/rfcs/ and follow the process in GOVERNANCE.md.
- GitHub Discussions — for questions and ideas
- Issues — for bugs and feature requests
Thank you for contributing.