Thank you for contributing to OmniClaw.
This repository contains the Python SDK as the primary product surface, along with supporting docs, examples, and an optional MCP server.
Main contribution areas:
- Python SDK in
src/omniclaw/ - SDK tests in
tests/ - docs in
docs/ - examples in
examples/ - MCP server in
mcp-server/
Clone the repository and install development dependencies:
uv sync --extra devUseful environment pieces for local work:
- Circle sandbox credentials for live-path testing
- Redis for execution-state and reservation testing
.envconfigured for local development
Run the SDK test suite:
.venv/bin/pytest testsRun release-oriented checks:
./build.shRun static checks:
.venv/bin/ruff check src tests
python3 -m compileall srcWhen submitting a PR:
- keep scope focused
- explain the problem being solved
- describe behavioral changes clearly
- include or update tests when behavior changes
- update docs when public behavior changes
PRs are especially helpful when they improve:
- SDK reliability
- MCP server usability
- npm / TypeScript SDK progress
- docs and examples
- trust-aware or operator-friendly payment flows
Please follow these standards:
- prefer clear, boring, maintainable code
- keep public APIs explicit
- preserve backward compatibility where practical
- add tests for fixes and new behavior
- avoid unrelated refactors in focused PRs
For Python:
- use the existing project style
- keep changes typed where possible
- prefer small, readable functions over clever abstractions
Recommended workflow:
- create a branch from the current main branch
- make focused commits
- run relevant tests locally
- open a pull request with clear context
Suggested branch naming:
feature/...fix/...docs/...ci/...
If possible, pick up an existing GitHub issue before starting work.
Good starting areas:
- docs improvements
- examples
- CLI improvements
- MCP server cleanup
- npm / TypeScript SDK work
If you find a security issue, do not open a public issue.
Please follow the guidance in SECURITY.md.