--- title: "Contributing to Agency Swarm" description: "Learn how to contribute to Agency Swarm" icon: "code-fork" --- 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.12 or higher - Pip - Git ### Setup 1. Clone the repository: ```bash git clone https://github.com/VRSEN/agency-swarm.git cd agency-swarm ``` 2. Create and activate a virtual environment (recommended): ```bash python -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate` ``` 3. Install dependencies including development tools: ```bash pip install -e ".[dev]" ``` 4. Install Pre-Commit Hooks: ```bash pip install pre-commit pre-commit install ``` ## Running Tests Testing ensures that your contributions work as intended and do not break existing functionality. Ensure all test dependencies are installed. ```bash pip install -e ".[dev]" ``` Run the test suite using Pytest. ```bash pytest ``` Check the test coverage to ensure comprehensive testing. ```bash pytest --cov=agency_swarm tests/ ``` ## Submitting Changes Create a branch for your work: ```bash git checkout -b feature/your-feature-name ``` Commit your updates: ```bash git add . git commit -m "Add [feature]: Description" ``` Push your branch: ```bash git push origin feature/your-feature-name ``` Open a pull request on GitHub: ```markdown - 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: ```bash 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: ```bash pip install -e ".[dev]" ```