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: .agents/commands/pr.md
+58-17Lines changed: 58 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -122,31 +122,72 @@ This PR adds support for...
122
122
When the user provides custom instructions after `--`:
123
123
- Parse any referenced commit SHAs and read their full messages
124
124
- Focus the description content on areas the user emphasizes
125
-
- Structure QA Notes according to user's specific testing instructions
125
+
- Structure QA Notes according to user's specific manual testing instructions and automated coverage notes
126
126
- Custom instructions take priority over default generation rules for sections they address
127
-
- Preserve exact testing steps provided by the user (don't summarize or omit details)
128
-
129
-
**QA Notes / Testing Scenarios:**
130
-
- Structure with numbered headings and steps
131
-
- Make steps easily referenceable
132
-
- Be specific about what to test and expected outcomes
127
+
- Preserve exact manual testing steps provided by the user (don't summarize or omit details)
128
+
- If custom instructions include automated checks or coverage notes, place them under `#### Automated Checks`
129
+
130
+
**QA Notes / Validation:**
131
+
- QA Notes separate actionable human QA instructions from automated verification coverage.
132
+
- Always use this structure:
133
+
```md
134
+
### QA Notes
135
+
#### Manual Tests
136
+
#### Automated Checks
137
+
```
138
+
- Keep local verification commands, Gradle tasks, detekt, lint, unit tests, build passes, cargo test, cargo clippy, npm test, typecheck, CI coverage, or similar automated checks out of `#### Manual Tests`; summarize them under `#### Automated Checks` when they add useful context.
139
+
- Use `#### Automated Checks` to summarize automated verification evidence, prioritizing coverage added, modified, or removed with file paths and a short explanation.
140
+
- For removed automated coverage, state why it was removed.
141
+
- Do not list standard CI or PR bot commands as checkbox items just because they run for every PR. If standard CI coverage is worth mentioning, summarize it in one sentence.
142
+
- List raw commands only when they were run locally, are non-standard, use special flags or environment values, validate workflow behavior, or explain a meaningful verification gap.
143
+
- For workflow behavior validation, include `(after merge)` in the automated check item because workflow changes only take effect for PRs opened after the workflow update merges.
144
+
- If no actionable manual validation exists, write `N/A` under `#### Manual Tests`.
145
+
- If no automated checks were run and no automated coverage changed, write `N/A` under `#### Automated Checks`.
Copy file name to clipboardExpand all lines: .cursor/rules/rules.main.mdc
+8-6Lines changed: 8 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -63,12 +63,14 @@ alwaysApply: true
63
63
---
64
64
65
65
## Changelog rules:
66
-
- add an entry under `## [Unreleased]` in `CHANGELOG.md` for `feat:` and `fix:` PRs; skip for `chore:`, `ci:`, `refactor:`, `test:`, `docs:` unless the change is user-facing
67
-
- use standard Keep a Changelog categories: `### Added`, `### Changed`, `### Deprecated`, `### Removed`, `### Fixed`, `### Security`
68
-
- append `#PR_NUMBER` at the end of each changelog entry when the PR number is known
69
-
- place new entries at the top of their category section (newest first)
70
-
- never modify released version sections — only edit `## [Unreleased]`
71
-
- create category headings on demand (don't add empty stubs)
66
+
- never edit `CHANGELOG.md` in normal feature/fix PRs; release automation collects changelog fragments into it
67
+
- add exactly one changelog fragment for user-facing `feat:` and `fix:` PRs; skip for `chore:`, `ci:`, `refactor:`, `test:`, `docs:` unless the change is user-facing
68
+
- put normal release fragments in `changelog.d/next/` and hotfix fragments in `changelog.d/hotfix/`
69
+
- name fragments `<issue-or-pr>.<category>.md`, where category is one of `added`, `changed`, `deprecated`, `removed`, `fixed`, or `security`
70
+
- write the fragment as one polished user-facing sentence without a leading bullet and without a PR number
71
+
- never add multiple changelog fragments for the same PR — summarize all changes in one concise fragment
72
+
- release commits consume fragments with `scripts/collect-changelog.sh --target next|hotfix`, update `CHANGELOG.md`, and delete consumed fragment files
Copy file name to clipboardExpand all lines: AGENTS.md
+14-9Lines changed: 14 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,10 @@
1
1
# CLAUDE.md
2
2
3
-
This file provides guidance to AI agents like Cursor/Claude Code/Codex/WARP when working with code in this repository.
3
+
This file provides guidance to Codex, Claude Code, and Cursor when working with code in this repository.
4
+
5
+
## Agent Commands
6
+
7
+
Durable shared agent command specs live in `.agents/commands/`. For PR creation, follow `.agents/commands/pr.md`; `.claude/commands` is a compatibility symlink to the same files.
- ALWAYS use `remember` for expensive Compose computations
195
199
- ALWAYS declare `modifier: Modifier = Modifier,` as the FIRST optional parameter in composable declarations
196
200
- ALWAYS pass `modifier = ...` as the LAST argument in composable calls
197
-
- ALWAYS add trailing commas in multi-line declarations; NEVER add a trailing comma to `modifier = ...` at call sites
201
+
- ALWAYS add trailing commas in multi-line declarations, EXCEPT after a `modifier = ...` last argument — never add a trailing comma there, whether the modifier is a single call (`modifier = Modifier.weight(1f)`) or a chain (`modifier = Modifier.fillMaxWidth().testTag("foo")`)
198
202
- ALWAYS use `navController.navigateTo(route)` for simple navigation; NEVER use raw `navController.navigate(route)` — `navigateTo` prevents duplicate destinations
199
203
- ALWAYS prefer `VerticalSpacer`, `HorizontalSpacer`, `FillHeight` and `FillWidth` over `Spacer` when applicable
200
204
- PREFER declaring small dependant classes, constants, interfaces or top-level functions in the same file with the core class where these are used
- ALWAYS add exactly ONE entry per PR under `## [Unreleased]` in `CHANGELOG.md` for `feat:` and `fix:` PRs; skip for `chore:`, `ci:`, `refactor:`, `test:`, `docs:` unless the change is user-facing
244
-
- NEVER add multiple changelog lines for the same PR — summarize all changes in a single concise entry
245
-
- USE standard Keep a Changelog categories: `### Added`, `### Changed`, `### Deprecated`, `### Removed`, `### Fixed`, `### Security`
246
-
- ALWAYS append `#PR_NUMBER` at the end of each changelog entry when the PR number is known
247
-
- ALWAYS place new entries at the top of their category section (newest first)
248
-
- NEVER modify released version sections — only edit `## [Unreleased]`
- NEVER edit `CHANGELOG.md` in normal feature/fix PRs; release automation collects changelog fragments into it
248
+
- ALWAYS add exactly ONE changelog fragment for user-facing `feat:` and `fix:` PRs; skip for `chore:`, `ci:`, `refactor:`, `test:`, `docs:` unless the change is user-facing
249
+
- PUT normal release fragments in `changelog.d/next/` and hotfix fragments in `changelog.d/hotfix/`
250
+
- NAME fragments `<issue-or-pr>.<category>.md`, where category is one of `added`, `changed`, `deprecated`, `removed`, `fixed`, or `security`
251
+
- WRITE the fragment as one polished user-facing sentence without a leading bullet and without a PR number
252
+
- NEVER add multiple changelog fragments for the same PR — summarize all changes in one concise fragment
253
+
- Release commits consume fragments with `scripts/collect-changelog.sh --target next|hotfix`, update `CHANGELOG.md`, and delete consumed fragment files
0 commit comments