中文版本请见 CONTRIBUTING_CN.md。
Thank you for your interest in contributing to PikiwiDB (Pika). This document describes our code contribution and review process, which is designed to align with open source best practices (OpenSSF).
All participants are expected to follow our Code of Conduct. Report unacceptable behavior to
wuxianrong@360.cn.
Do not open a public issue for security vulnerabilities. Follow the process in SECURITY.md instead.
- Report bugs or request features via our issue templates.
- Improve documentation.
- Submit code changes (bug fixes, features, tests, tooling).
- Fork the repository and create a topic branch from the appropriate base
branch (
unstablefor new development;3.5/4.0for targeted fixes). - Sign the CLA. Contributors must sign the Contributor License Agreement
(see
[docs/cla/](docs/cla/)) before contributions can be merged. - Make your change following the coding style enforced by
.clang-formatand.clang-tidy(run./format_code.shbefore committing). - Add tests for new behavior and bug fixes where practical.
- Open a Pull Request against the correct base branch.
- Each commit must be made by an authenticated committer. We encourage
signed commits (
git commit -S) to strengthen provenance. - When importing third-party code, clearly state its origin and license in the
commit message (e.g.
[External] Import from <project> <version>), and ensure it is license-compatible with PikiwiDB's LICENSE.
- PR title must follow Conventional Commits
and be written in English. It is validated automatically by the
PR Title Checkerworkflow. Allowed prefixes:feat,fix,test,refactor,chore,upgrade,style,docs,perf,build,ci,revert. - All CI checks must pass before merge, including:
- Build and integration tests (
Pikaworkflow). - Static/security analysis (
CodeQLworkflow).
- Build and integration tests (
- Every PR requires review and approval by a maintainer. Reviews cover correctness, security, performance, and compatibility.
- Link the related issue in the PR description so each change has a traceable report → fix → merge history.
- Reviews are performed by maintainers and committers listed in MAINTAINERS.md.
- Reviewers evaluate changes across security, performance, and compatibility dimensions.
- A change is merged once it has the required approvals and all CI gates are green. Maintainers make the final merge and release decisions.
Dependency updates are tracked automatically via Dependabot. Please keep new dependencies minimal, pinned, and license-compatible.
See the criteria and nomination process in MAINTAINERS.md.
For governance or contribution questions, open an issue or contact wuxianrong@360.cn.