Contributing¶
Thank you for your interest in contributing to Certana!
Code of Conduct¶
Be respectful, inclusive, and professional in all interactions.
Getting Started¶
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Follow our code style guidelines
- Write tests for new functionality
- Commit with clear messages (
git commit -m 'feat: Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines¶
Code Style¶
Python (Backend)¶
- Follow PEP 8
- Use Black for formatting
- Use type hints
- Maximum line length: 100 characters
- Document public functions with docstrings
TypeScript (Frontend & Extension)¶
- Follow Airbnb style guide
- Use Prettier for formatting
- Use strict type checking
- Write clear JSDoc comments
Git Commit Messages¶
<type>(<scope>): <subject>
<body>
<footer>
Types:
- feat - New feature
- fix - Bug fix
- docs - Documentation
- style - Code style
- refactor - Code refactor
- test - Tests
- chore - Build/dependencies
Example:
feat(verification): Add tamper map visualization
Add ability to generate pixel-level tamper maps showing
which regions of the image have been modified.
Closes #123
Pull Request Process¶
- Update documentation
- Add/update tests
- Ensure tests pass:
pytest,npm test - Update CHANGELOG.md
- Request review from team
- Address feedback
- Merge after approval
Testing Requirements¶
- New features must include tests
- Bug fixes must include regression tests
- All tests must pass
- Maintain >80% code coverage
Issue Guidelines¶
Bug Reports¶
Include: - Description of the bug - Steps to reproduce - Expected behavior - Actual behavior - Environment (OS, Python/Node version, etc.) - Screenshots/logs if applicable
Feature Requests¶
Include: - Use case and motivation - Proposed solution - Alternative solutions considered - Estimated complexity
Documentation¶
Help us improve documentation: - Found a typo? Open a PR - Unclear section? Create an issue - Missing documentation? Contribute it - See docs/README.md for guide
Security¶
Found a security vulnerability? Please email security@certana.com instead of opening an issue.
License¶
By contributing, you agree that your contributions will be licensed under the project's license.
Questions? Open an issue or reach out to the team!