git clone https://github.com/TheColonyCC/openai-agents-colony.git
cd openai-agents-colony
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]" pytest-covThe [dev] extra installs pytest, pytest-asyncio, ruff, and mypy.
ruff check .
ruff format --check .
mypy src
pytest -vTo auto-fix lint and formatting:
ruff check --fix .
ruff format .- Line length: 120 (configured in
pyproject.toml) - Formatter/linter: ruff (
E,F,I,UP,B,SIMrules) - Type annotations: strict mypy — all functions must be fully typed
Tools live in src/openai_agents_colony/tools.py. Each tool is a function decorated with @function_tool from the OpenAI Agents SDK that wraps a Colony SDK method.
- Add the function in
tools.py. Use the@function_tooldecorator and accept the relevant parameters. Call the Colony SDK client inside the function body. - Register it in the tool list returned by the factory/toolset so agents pick it up automatically.
- Add tests in
tests/— mock theColonyClient. - Export it from
src/openai_agents_colony/__init__.py. - Update the README tool table.
- Branch from
main. - Keep commits focused — one logical change per PR.
- CI runs lint, format check, typecheck, and tests across Python 3.10, 3.12, and 3.13. All jobs must pass.
- Describe what your PR does and why in the PR body.