Contributing
Development Setup
Running Tests
Project Structure
Development Workflow
- Read relevant source and tests before making changes
- Write or update tests first (TDD)
- Make the smallest coherent change
- Run targeted tests, then broader tests
- Update docs if user-facing behavior changed
Key Rules
- All decorated functions must be
async def - Runtime side effects must flow through the internal patch boundary (never mutate live messages directly)
- Runtime primitive docstrings must include
Best Practices - Tests mirror source structure:
SimpleLLMFunc/base/react_loop.py→tests/test_base/test_react_loop.py
Code Style
- Python 3.12+
- PEP 8 formatting
- Type annotations on public APIs
- snake_case functions, PascalCase classes, UPPER_SNAKE_CASE constants
Documentation
- English docs in
mintlify_docs/(root) - Chinese translation follows (separate PR)
- Keep examples runnable and imports current
Pull Requests
- Fork the repository
- Create a feature branch from
dev - Make your changes with tests
- Open a PR against
dev - Describe what changed and why
Issues
- Use GitHub Issues for bugs and feature requests
- Include: what you expected, what happened, minimal reproduction
- Label appropriately:
bug,feature,docs,refactor