You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+26-2Lines changed: 26 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,8 +118,32 @@ Examples: `fix(store): set busy_timeout before WAL`, `feat(cli): add --progress
118
118
119
119
## Pull Request Guidelines
120
120
121
-
-**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.
122
-
-**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.
121
+
### Before You Write Code
122
+
123
+
-**Open an issue first — always.** Every PR must reference a tracking issue (`Fixes #N` or `Closes #N`). Describe what you want to change and why. Wait for maintainer feedback before implementing. PRs without a prior issue discussion will be closed.
124
+
-**Bug fixes and test additions** are the exception — these are welcome without prior discussion, as long as they're focused.
125
+
126
+
### What Requires Explicit Maintainer Approval
127
+
128
+
The following changes will not be merged without prior design discussion in an issue:
129
+
130
+
-**API surface changes** — adding, removing, renaming, or changing defaults of MCP tools
131
+
-**New pipeline passes or indexing algorithms** — anything that changes what gets extracted or how
132
+
-**Build system / Makefile changes** — beyond trivial fixes
133
+
-**Project configuration** — CLAUDE.md, skill files, .mcp.json, CI workflows
134
+
-**New dependencies** — vendored or otherwise
135
+
-**Breaking changes** of any kind
136
+
137
+
If in doubt, open an issue and ask.
138
+
139
+
### PR Scope and Size
140
+
141
+
-**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. Kitchen-sink PRs will be closed with a request to split.
142
+
-**Keep PRs small.** A good PR is under 500 lines. If your change is larger, split it into reviewable increments that each stand on their own.
143
+
-**Don't mix features with fixes.** If you find a bug while implementing a feature, submit the bug fix as a separate PR.
144
+
145
+
### Code Requirements
146
+
123
147
-**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.
124
148
- Include tests for new functionality
125
149
- Run `scripts/test.sh` and `scripts/lint.sh` before submitting
0 commit comments