Contributing
AgentMarque is open source under the MIT license. Contributions of all kinds are welcome — bug fixes, docs, integrations, tests, and new features.
Development setup
Clone the repo and install the SDK in editable mode with dev dependencies:
git clone https://github.com/cuttlesoft/agentmarque.git
cd agentmarque
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
This installs the SDK along with all development dependencies: pytest, pytest-asyncio, pytest-cov, aiosqlite, and ruff.
Running tests
pytest
Tests use asyncio_mode = "auto", so async test functions work without decorators. The test suite uses aiosqlite as an in-memory database backend.
Code style
The project uses Ruff for linting and formatting.
- Target: Python 3.12+
- Line length: 100
- Run
ruff check .to lint andruff format .to format
ruff check .
CI runs both ruff check and ruff format --check on every pull request. Make sure both pass locally before pushing.
GitHub workflow
- Fork the repository
- Create a feature branch from
main(e.g.feature/my-change) - Make your changes and add tests for new functionality
- Verify locally — run
pytestandruff check . - Open a pull request against
main
Keep PRs focused — one logical change per PR. Include tests for new functionality.
What to contribute
- Bug fixes — if you find a bug, open an issue or submit a fix directly
- Documentation — improvements to these docs or inline docstrings
- Integrations — new middleware, framework adapters, or client wrappers
- Tests — expanding test coverage is always valuable
- Features — check open issues for planned work before starting
Questions?
Open an issue on GitHub for bugs, feature requests, or questions.