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: .github/copilot-instructions.md
+94Lines changed: 94 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -227,6 +227,100 @@ go generate ./...
227
227
4. Add tests for new functionality
228
228
5. Keep commits focused and well-described
229
229
230
+
## Commit Message Format
231
+
232
+
This project uses [Conventional Commits](https://www.conventionalcommits.org/) for automated version management and changelog generation via [Release Please](https://github.com/googleapis/release-please).
233
+
234
+
### Required Format
235
+
236
+
**ALWAYS** use conventional commit format for PR titles and commit messages:
237
+
238
+
```
239
+
<type>: <description>
240
+
241
+
[optional body]
242
+
243
+
[optional footer]
244
+
```
245
+
246
+
### Commit Types and Version Bumps
247
+
248
+
| Type | Version Bump | When to Use | Example |
249
+
|------|-------------|-------------|---------|
250
+
|`feat:`| Minor (X.Y.0) | New features or functionality |`feat: add support for SQL Server 2025`|
-**Minimal impact**: Changes should only touch what's necessary. Avoid introducing bugs.
284
+
-**Write code for the maintenance programmer**: Write clear, concise code that is easy to read and understand.
285
+
286
+
### No AI Slop
287
+
288
+
Applies to all output: code, tests, docstrings, comments, PR descriptions, commit messages.
289
+
290
+
**Prose and comments:**
291
+
- No filler phrases: "This ensures that...", "In order to...", "It's worth noting..."
292
+
- No over-commenting obvious code (comments that restate what the code does)
293
+
- No bloated docstrings with "Validates:" bullet lists or "Note:" paragraphs
294
+
- No redundant inner docstrings on helpers inside tests
295
+
296
+
**Code:**
297
+
- No redundant logic (e.g., `strings.ToLower()` inside `strings.EqualFold()`)
298
+
- No duplicate validation (checking the same condition twice)
299
+
- No excessive blank lines or formatting
300
+
- No stale examples in docstrings that don't match the actual API
301
+
302
+
## Pre-Push Checklist
303
+
304
+
Before `git push`, always run the repo-specific checks. Default:
305
+
306
+
-`git fetch upstream && git rebase upstream/main` (avoid "out-of-date with base branch")
307
+
-**Review your own diff** (`git diff upstream/main`) -- check for AI slop, stale docstrings, weak assertions, anti-patterns. Read every changed line as a reviewer, not the author.
308
+
- Build
309
+
- Run full test suite
310
+
- Run linter
311
+
312
+
If repo has `.github/copilot-instructions.md`, follow its build/test/lint instructions instead.
313
+
314
+
**Rule**: Review means reading every changed line as a hostile reviewer, not the author. For each addition, ask: (1) Is this used? grep for it. (2) Is this consistent with parallel code? Check sibling maps/lists. (3) Does the docstring match the code? Compare them line by line. (4) Would a senior engineer flag this? If you can't articulate why each line is correct, you haven't reviewed it.
315
+
316
+
**Tests:**
317
+
- DAMP over DRY: tests should be Descriptive And Meaningful Phrases, each readable top-to-bottom as a self-contained story
318
+
- Test behavior, not implementation
319
+
- Assertions must match claims: if the test says "all types", check all of them
320
+
- Cover what motivated the fix: the case that caused the bug is the most important assertion
321
+
322
+
When in doubt: would a senior engineer roll their eyes at this?
0 commit comments