Thank you for your interest in contributing to PythonClaw! We welcome contributions of all kinds — bug fixes, new features, documentation improvements, and more.
git clone https://github.com/ericwang915/PythonClaw.git
cd PythonClaw
python -m venv .venv && source .venv/bin/activate
pip install -e .
pytest tests/ -v- Search existing issues first.
- If not found, open a new issue with a clear title, description, and reproduction steps.
- Fork the repo and create your branch from
main. - If you've added code, add tests.
- Ensure the test suite passes:
pytest tests/ -v - Make sure your code follows the style guide.
- Submit the pull request!
- Follow PEP 8 standards.
- Use Ruff for linting:
ruff check pythonclaw/ - Use meaningful variable names.
- Avoid redundant comments — code should be self-documenting.
- Create a directory under
pythonclaw/templates/skills/<category>/<skill_name>/. - Add a
SKILL.mdwith clear instructions for the agent. - Add any supporting scripts.
- Submit a PR.
- Create a new file in
pythonclaw/core/llm/. - Implement the
LLMProviderinterface frombase.py. - Add the provider option to
main.py:_build_provider(). - Add tests and documentation.
- Create a new file in
pythonclaw/channels/. - Use
SessionManagerfor agent lifecycle management and concurrency control. - Follow the
telegram_bot.pypattern (usesm.acquire(sid)for async handlers). - Wire the channel into
server.py,main.py, andonboard.py.
Thanks for helping make PythonClaw better!