Skip to content

Contributing

Thank you for your interest in contributing to Certana!

Code of Conduct

Be respectful, inclusive, and professional in all interactions.

Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Follow our code style guidelines
  4. Write tests for new functionality
  5. Commit with clear messages (git commit -m 'feat: Add amazing feature')
  6. Push to your branch (git push origin feature/amazing-feature)
  7. 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

  1. Update documentation
  2. Add/update tests
  3. Ensure tests pass: pytest, npm test
  4. Update CHANGELOG.md
  5. Request review from team
  6. Address feedback
  7. 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!