Thank you for your interest in contributing.
- Bug reports and feature requests: Open an issue.
- Code changes: Open a pull request. Keep changes focused and ensure tests pass.
git clone https://github.com/devsper-com/runtime.git
cd devsper
uv syncIf you use pip: pip install -e . and install dev dependencies (pytest, ruff, black, mypy) as needed.
uv run python -m pytest tests/ -vRun a subset: uv run python -m pytest tests/test_swarm.py -v. Version-specific tests: tests/test_v19.py (v1.9 serialization, bus, executor, scheduler, checkpointer, health).
- Python: 3.12+
- Formatting: Black (
black devsper examples) - Linting: Ruff (
ruff check devsper examples) - Follow existing patterns in the codebase (e.g. type hints, docstrings for public APIs).
- Keep PRs focused (one feature or fix when possible).
- Ensure all tests pass and lint/format checks succeed.
- Update docs in the docs repo if you change user-facing behavior or add features (site: docs.devsper.com).
- For new tools or providers, add a short note in the relevant doc (e.g. tools, providers).
- New tool: See Tools and Development — Adding new tools. Add the tool under the right category and register it; add tests in
tests/tools/if appropriate. - New provider: See Development — Adding providers. Implement the provider, wire it in the router, and document config.
- New example: Add a script under
examples/and document it in Examples. Prefer using the sharedexamples._commonandexamples._confighelpers.