Contributing to Enhanced Toolkits¶
Guidelines for contributing to the Enhanced Toolkits project.
Development Setup¶
-
Clone the repository:
-
Install development dependencies:
-
Run tests:
Creating New Tools¶
All tools must inherit from StrictToolkit
:
from enhancedtoolkits.base import StrictToolkit
class MyNewTools(StrictToolkit):
def __init__(self):
super().__init__()
def my_function(self, param1: str, param2: int) -> dict:
"""Function description for AI agents."""
# Implementation here
return {"result": "success"}
Code Standards¶
- All parameters must be required (no optional parameters)
- Include comprehensive docstrings
- Add type hints for all parameters and return values
- Follow PEP 8 style guidelines
- Include unit tests for all functions
Testing¶
# Run all tests
pytest
# Run specific test file
pytest tests/test_reasoning.py
# Run with coverage
pytest --cov=enhancedtoolkits
Documentation¶
Update documentation when adding new tools:
- Add tool documentation in
docs/toolkits/
- Update navigation in
mkdocs.yml
- Add examples to relevant sections
Pull Request Process¶
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Update documentation
- Submit pull request
Questions?¶
Open an issue on GitHub for questions or discussions.