Getting Started
Development Setup
-
Clone the repository:
-
Install dependencies:
-
Set up pre-commit hooks (optional but recommended):
-
Initialize configuration:
-
Run tests:
Project Structure
Development Workflow
Creating a New Feature
-
Create a new branch:
-
Make your changes:
- Write code
- Add tests
- Update documentation
-
Run tests and linting:
-
Commit your changes:
-
Push and create PR:
Commit Message Guidelines
Follow conventional commits format:feat:New featurefix:Bug fixdocs:Documentation changestest:Test additions or changesrefactor:Code refactoringstyle:Code style changes (formatting, etc.)chore:Build process or auxiliary tool changes
Code Standards
Python Style
- Follow PEP 8
- Use Black for formatting (line length: 100)
- Use type hints wherever possible
- Write docstrings for all public functions and classes
Example Code Style
Adding New Framework Adapters
To add support for a new AI framework:-
Create adapter file:
-
Register in
__init__.py: -
Add tests:
-
Update documentation:
- Add example in
examples/ - Update README.md
- Add to adapter documentation
- Add example in
Testing
Running Tests
Writing Tests
- Write tests for all new features
- Aim for >80% code coverage
- Use pytest fixtures for common setup
- Test both success and error cases
Documentation
Updating Documentation
- Keep README.md up to date
- Add docstrings to all public APIs
- Update examples when adding features
- Add inline comments for complex logic
Documentation Structure
The documentation is in thehumancheck-docs repository:
- Main docs:
/docsdirectory - API reference: Auto-generated from OpenAPI spec
- Examples:
/examplesdirectory
Pull Request Process
-
Ensure tests pass:
- Update documentation if needed
-
Create pull request:
- Clear title and description
- Reference any related issues
- Include screenshots for UI changes
-
Code review:
- Address reviewer feedback
- Keep discussions professional and constructive
-
Merge:
- Squash commits if requested
- Delete branch after merge
Reporting Issues
Bug Reports
Include:- Description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Environment (OS, Python version, etc.)
- Relevant logs or error messages
Feature Requests
Include:- Clear description of the feature
- Use case and motivation
- Example API or usage
- Any alternatives considered
Code of Conduct
Our Standards
- Be respectful and inclusive
- Welcome newcomers
- Focus on constructive feedback
- Respect different viewpoints
- Prioritize community well-being
Unacceptable Behavior
- Harassment or discrimination
- Trolling or insulting comments
- Publishing private information
- Unprofessional conduct
Areas Where We Need Help
Framework Adapters
Add adapters for new AI frameworks (OpenAI Assistants, CrewAI, etc.)
Connectors
Build connectors for new notification channels (Email, Discord, Teams)
Documentation
Improve docs, add examples, write tutorials
Testing
Increase test coverage, add integration tests
Dashboard
Enhance the Streamlit dashboard UI/UX
Routing
Add advanced routing rules and ML-powered routing
Questions?
Need help? Weβre here to assist:- Open a GitHub Issue
- Join our Discord
- Email: hello@humancheck.dev
License
By contributing, you agree that your contributions will be licensed under the MIT License.Thank you for contributing to Humancheck! π