Thank you for your interest in contributing to the Agentic Research and Evaluation Suite!
- Python 3.12 or higher
- uv package manager
If you don't have uv installed:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via pip
pip install uv-
Clone the repository:
git clone https://github.com/withmartian/ares.git cd ares -
Install all dependencies, including dev tools:
uv sync --all-groups
This installs the main dependencies plus development tools (pytest, ruff, pyright) and optional example dependencies.
uv run pytestTests are located in the src/ directory following the patterns test_*.py or *_test.py.
Check for code issues:
uv run ruff checkFormat your code:
uv run ruff formatRun static type analysis:
uv run pyrightSome functionality may require environment variables for API keys or configuration. Check the codebase for specific requirements and create a .env file in the repository root as needed.
Before submitting a PR:
-
Run all checks locally:
- Tests pass (
uv run pytest) - Code is formatted (
uv run ruff format) - No linting issues (
uv run ruff check) - Type checks pass (
uv run pyright)
- Tests pass (
-
Write a clear PR description:
- Explain what problem you're solving
- Link to any related issues
- Describe your approach if non-obvious
-
Keep commits focused:
- Each commit should represent a logical change
- Use clear, descriptive commit messages
- Comments should explain WHY, not WHAT: The code itself should be clear about what it does. Use comments to explain the reasoning, edge cases, or non-obvious decisions.
- Comments explaining HOW: Only add these when the implementation is genuinely complex or uses a non-standard approach that might confuse future maintainers.
- Follow existing patterns: Look at similar code in the repository to match the established style.
If you have questions or need help, feel free to open an issue or reach out to the maintainers.