Skip to main content
We welcome contributions to Agency Swarm! By contributing, you help improve the framework for everyone. Here’s how you can get involved:

Setting Up Your Development Environment

Prerequisites

  • Python 3.10 or higher
  • Pip
  • Git

Setup

  1. Clone the repository:
    git clone https://github.com/VRSEN/agency-swarm.git
    cd agency-swarm
    
  2. Create and activate a virtual environment (recommended):
    python -m venv .venv
    source .venv/bin/activate  # On Windows use `.venv\Scripts\activate`
    
  3. Install dependencies including development tools:
    pip install -e ".[dev]"
    
  4. Install Pre-Commit Hooks:
    pip install pre-commit
    pre-commit install
    

Running Tests

Testing ensures that your contributions work as intended and do not break existing functionality.

Install Test Dependencies

Ensure all test dependencies are installed.
pip install -e ".[dev]"

Run Tests

Run the test suite using Pytest.
pytest

Check Test Coverage

Check the test coverage to ensure comprehensive testing.
pytest --cov=agency_swarm tests/

Submitting Changes

Create a branch for your work:
git checkout -b feature/your-feature-name
Commit your updates:
git add .
git commit -m "Add [feature]: Description"
Push your branch:
git push origin feature/your-feature-name
Open a pull request on GitHub:
- Provide a concise title and description.
- Reference related issues.

Code Style and Linting

This project uses ruff for linting and code formatting. Configuration for this tool can be found in pyproject.toml. Before committing your changes, please check and fix linting errors:
ruff check . --fix
It’s recommended to install these tools in your development environment. If you followed the setup instructions, they should already be installed via:
pip install -e ".[dev]"
I