Thank you for your interest in contributing to Kixi.
Before submitting contributions, please review these guidelines carefully to ensure legal compliance and maintain project quality.
All contributors must follow the Code of Conduct.
Respect, professionalism, and constructive feedback are required in all interactions.
You can contribute by:
- Fixing bugs
- Adding new features
- Improving documentation
- Refactoring code for readability, performance, or maintainability
We follow a standard Git workflow:
- Issue creation – Issues are created and prioritized by the Project Manager.
- Branching – Create a branch from
mainusing a clear descriptive name:
feature/<short-description>
bugfix/<short-description>
- Commit messages – Use clear, descriptive messages, preferably in the format:
type(scope): short description
Example:
feat(ocr-service): add new endpoint for structured text extraction
- Pull Request (PR) – Once ready, open a PR against
main. Include:
- Issue reference
- Description of changes
- Any required testing steps
- Code Review – All PRs require approval by at least one maintainer.
- All new features or bug fixes should include automated tests.
- Maintain high coverage for critical modules.
- Run all tests locally before submitting a PR:
./mvnw test # for backend-api
pytest # for ocr-serviceBy contributing to this project, you agree that:
- Your contributions will be licensed under Apache License 2.0 with Commons Clause.
- You do not have the right to sell or redistribute the contributions as a standalone product or competing service.
- Your contributions can be used by the project maintainers for both free and paid features of Kixi.
- You affirm that you have the right to submit your contributions (i.e., you are the copyright owner or authorized to contribute).
- Follow Java conventions for backend-api (Spring Boot)
- Use PEP8 conventions for Python ocr-service
- Keep commits small and atomic
- Write clear, self-explanatory code with comments when needed
- All contributions affecting functionality must include or update documentation.
- API changes must be reflected in OpenAPI/Swagger specs (
libs/contracts).
If you discover a security vulnerability:
- Do not open a public issue
- Report privately to the maintainers via email:
security@kixi.org
We appreciate your contributions. Following these guidelines ensures that Kixi remains secure, maintainable, and legally compliant.