Thank you for your interest in contributing to this project. This guide applies to all repositories maintained by bitkaio LLC.
All contributors must agree to the Contributor License Agreement before their first contribution can be merged. This is a one-time requirement per contributor.
When you open your first pull request, a CLA bot will check whether you have signed. If not, it will guide you through the process. Your signature covers all repositories under bitkaio LLC.
- Fork the repository
- Create a feature branch from
main(git checkout -b feat/your-feature) - Make your changes
- Run the project's tests and linters (see the project README for commands)
- Open a pull request against
main
- Keep PRs focused — one feature, fix, or refactor per PR
- Write a clear title and description explaining what changed and why
- Include tests for new functionality and bug fixes
- Ensure existing tests pass before submitting
- Link related issues in the PR description (e.g.,
Closes #42)
Use Conventional Commits format:
type(scope): short description
Optional longer explanation.
Common types: feat, fix, docs, test, refactor, chore, ci.
Examples:
feat(search): add query expansion supportfix(scraper): handle timeout on redirect chainsdocs: update configuration reference
- Follow the conventions already established in the codebase
- Run the project's linter before submitting (formatting, imports, etc.)
- Prefer clarity over cleverness
- Add comments only where the intent isn't obvious from the code
- Use GitHub Issues for bug reports and feature requests
- For bugs, include: steps to reproduce, expected behavior, actual behavior, and environment details
- Check existing issues before opening a new one
Do not open a public issue for security vulnerabilities. Instead, email security@bitkaio.com with a description of the vulnerability. We will respond within 72 hours.
Be respectful and constructive. We expect all contributors to act professionally and treat others with courtesy. Harassment, discrimination, or disruptive behavior will not be tolerated.
If you're unsure about anything, open a discussion or issue — we're happy to help.
By contributing, you agree that your contributions will be licensed under the terms described in the CLA. The project's current license is specified in the LICENSE file.