Thanks for your interest in contributing to Cortex! This guide covers everything you need to get started.
Open a bug report with:
- Steps to reproduce
- Expected vs actual behavior
- Cortex version (
cortex statusprints "Cortex vX.Y.Z") - Python version and OS
Open a feature request describing:
- The problem you're trying to solve
- Your proposed solution
- Alternatives you've considered
# Clone the repo
git clone https://github.com/abbacusgroup/Cortex.git
cd Cortex
# Install uv (if you don't have it)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies (including dev tools)
uv sync
# Verify everything works
uv run pytest tests/ -q# Full suite
uv run pytest tests/ -q
# Specific test file
uv run pytest tests/db/test_graph_store.py -q
# With verbose output
uv run pytest tests/ -v --tb=shortCortex uses Ruff for linting and formatting.
- Line length: 100 characters
- Rules: B, C4, E, F, I, N, RUF, SIM, W, UP
# Check lint
uv run ruff check src/ tests/
# Auto-format
uv run ruff format src/ tests/- Fork the repo and create a branch from
main - Make your changes
- Run
uv run pytest tests/ -q— all tests must pass - Run
uv run ruff check src/ tests/— no lint errors - Run
uv run ruff format src/ tests/— all files formatted - Write a clear PR description explaining what and why
- Submit the PR against
main
Use concise, descriptive commit messages:
fix: resolve UnboundLocalError in reason.py when max_iterations=0feat: add cortex_list_entities admin tooldocs: update llms.txt with missing tools
See CODEMAP.md for the project structure and data flow.
Open a discussion or file an issue.