Skip to content

Commit eb8fcbf

Browse files
committed
Add commit format convention and one-issue-per-PR rule to CONTRIBUTING.md
- Commit format table: feat, fix, test, refactor, perf, docs, chore (adapted from @halindrome's PR #85) - One issue per PR: no bundling multiple fixes/features - Open an issue first: every PR must reference a tracking issue Based on feedback from @halindrome (#84, #85) who identified the need for structured PR guidelines and commit conventions.
1 parent cd3b9fd commit eb8fcbf

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

CONTRIBUTING.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,30 @@ Language support is split between two layers:
8585
4. Add a test case in `tests/test_pipeline.c` for integration-level fixes
8686
5. Verify with a real open-source repo
8787

88+
## Commit Format
89+
90+
Use conventional commits: `type(scope): description`
91+
92+
| Type | When to use |
93+
|------|-------------|
94+
| `feat` | New feature or capability |
95+
| `fix` | Bug fix |
96+
| `test` | Adding or updating tests |
97+
| `refactor` | Code change that neither fixes a bug nor adds a feature |
98+
| `perf` | Performance improvement |
99+
| `docs` | Documentation only |
100+
| `chore` | Build scripts, CI, dependency updates |
101+
102+
Examples: `fix(store): set busy_timeout before WAL`, `feat(cli): add --progress flag`
103+
88104
## Pull Request Guidelines
89105

106+
- **One issue per PR.** Each PR must address exactly one bug, one feature, or one refactor. Do not bundle multiple fixes or feature additions into a single PR. If your change touches multiple areas, split it into separate PRs.
107+
- **Open an issue first.** Every PR should reference a tracking issue (`Fixes #N` or `Closes #N`). This ensures the change is discussed before code is written.
90108
- **C code only** — this project was rewritten from Go to pure C in v0.5.0. Go PRs will be acknowledged and potentially ported, but cannot be merged directly.
91-
- One logical change per PR — don't bundle unrelated features
92109
- Include tests for new functionality
93110
- Run `scripts/test.sh` and `scripts/lint.sh` before submitting
94111
- Keep PRs focused — avoid unrelated reformatting or refactoring
95-
- Reference the issue number in your PR description
96112

97113
## Security
98114

0 commit comments

Comments
 (0)