Thank you for your interest in contributing to AgenticEvolve! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/agentic-evolve.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 --workspace
# Run all tests
cargo test --workspace
# Core library only
cargo test -p agentic-evolve-core
# MCP server only
cargo test -p agentic-evolve-mcp
# Run the CLI
cargo run -p agentic-evolve-cli -- pattern list
# Run the MCP server
cargo run -p agentic-evolve-mcp -- serveFile an issue with:
- Steps to reproduce
- Expected behavior
- Actual behavior
- System info (OS, Rust version)
- Create a new tool handler in
crates/agentic-evolve-mcp/src/tools/ - Register it in
crates/agentic-evolve-mcp/src/tools/registry.rs - Add tests in
crates/agentic-evolve-mcp/tests/
- Add a new example in
examples/ - Ensure it runs without errors
- Add a docstring explaining what it demonstrates
- Update
examples/README.md
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 maintain 250+ tests across the stack.
- Documentation: Update docs when changing public APIs.
Use clear, descriptive commit messages:
feat: new pattern matching algorithmfix: memory leak in pattern storedocs: add crystallization guide
- Keep PRs focused -- one feature or fix per PR
- Include tests for new functionality
- Update documentation if needed
- Ensure all tests pass before submitting
- Write a clear PR description
By contributing, you agree that your contributions will be licensed under the MIT License.