@martinffx/atelier 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +22 -24
- package/agents/architect.md +1 -1
- package/agents/oracle.md +1 -1
- package/dist/atelier.js +12 -14
- package/package.json +1 -1
- package/skills/code-commit/SKILL.md +5 -13
- package/skills/code-pull-request/SKILL.md +36 -0
- package/skills/code-pull-request/references/common.md +76 -0
- package/skills/code-pull-request/references/create-pr.md +122 -0
- package/skills/code-pull-request/references/default-template.md +25 -0
- package/skills/code-pull-request/references/leave-comment.md +53 -0
- package/skills/code-pull-request/references/merge-pr.md +94 -0
- package/skills/code-pull-request/references/read-comments.md +61 -0
- package/skills/code-pull-request/references/respond-to-comment.md +66 -0
- package/skills/code-review/SKILL.md +21 -12
- package/skills/code-review/references/reviewers.md +142 -41
- package/skills/code-review/references/rq.md +48 -32
- package/skills/oracle-debug/SKILL.md +218 -0
- package/skills/{code-debug → oracle-debug}/references/bug-patterns.md +3 -3
- package/skills/oracle-domain-modelling/SKILL.md +84 -0
- package/skills/oracle-grill-me/SKILL.md +20 -0
- package/skills/spec-brainstorm/SKILL.md +91 -71
- package/skills/spec-finish/SKILL.md +20 -14
- package/skills/spec-implement/SKILL.md +3 -2
- package/skills/spec-orchestrator/SKILL.md +4 -15
- package/skills/spec-plan/SKILL.md +1 -1
- package/agents/scout.md +0 -40
- package/skills/code-commit/references/pr-workflow.md +0 -145
- package/skills/code-debug/SKILL.md +0 -199
- package/skills/code-docs/SKILL.md +0 -171
- package/skills/code-docs/references/api-docs.md +0 -116
- package/skills/code-docs/references/changelog.md +0 -64
- package/skills/code-docs/references/readme-structure.md +0 -94
- package/skills/oracle-architect/SKILL.md +0 -327
- package/skills/oracle-architect/references/api-design.md +0 -345
- package/skills/oracle-architect/references/data-modeling.md +0 -318
- package/skills/oracle-architect/references/ddd-patterns.md +0 -348
- package/skills/oracle-architect/references/interface-design.md +0 -203
- package/skills/oracle-challenge/SKILL.md +0 -126
- package/skills/oracle-doubt/SKILL.md +0 -252
- package/skills/oracle-doubt/references/adversarial-prompt.md +0 -47
- package/skills/oracle-grillme/SKILL.md +0 -160
- package/skills/oracle-security/SKILL.md +0 -225
- package/skills/oracle-security/references/security-patterns.md +0 -236
- package/skills/oracle-security/references/threat-modeling-guide.md +0 -137
- package/skills/oracle-testing/SKILL.md +0 -237
- package/skills/oracle-testing/references/anti-patterns.md +0 -618
- package/skills/oracle-testing/references/boundaries.md +0 -579
- package/skills/oracle-testing/references/core-testing.md +0 -691
- package/skills/oracle-testing/references/edge-testing.md +0 -794
- package/skills/oracle-testing/references/stub-driven-tdd.md +0 -322
- package/skills/oracle-thinkdeep/SKILL.md +0 -164
- /package/skills/{code-debug → oracle-debug}/references/language-tools.md +0 -0
- /package/skills/{code-debug → oracle-debug}/references/techniques.md +0 -0
- /package/skills/{oracle-grillme → oracle-domain-modelling}/references/ADR-FORMAT.md +0 -0
- /package/skills/{oracle-grillme → oracle-domain-modelling}/references/CONTEXT-FORMAT.md +0 -0
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
name: spec-brainstorm
|
|
3
3
|
description: >
|
|
4
4
|
Conversational design workshop for new features. Interviews the human one question
|
|
5
|
-
at a time, explores 2-3 approaches with trade-offs,
|
|
6
|
-
|
|
5
|
+
at a time, explores 2-3 approaches with trade-offs, and presents the design
|
|
6
|
+
section by section for approval before writing the spec. Combines requirements
|
|
7
|
+
discovery with codebase research and architecture design.
|
|
7
8
|
Use when the user says "create a spec", "design this feature", "let's brainstorm",
|
|
8
9
|
"what should we build", or at the start of any feature/refactor/complex-bug workflow.
|
|
9
10
|
user-invocable: true
|
|
@@ -14,13 +15,14 @@ argument-hint: <topic or feature description>
|
|
|
14
15
|
|
|
15
16
|
Conversational design workshop that produces a focused, reviewed spec.
|
|
16
17
|
|
|
17
|
-
One question at a time. Multiple approaches explored.
|
|
18
|
-
No implementation until design is approved.
|
|
18
|
+
One question at a time. Multiple approaches explored. Design approved in
|
|
19
|
+
sections. Ruthless scope control. No implementation until design is approved.
|
|
19
20
|
|
|
20
21
|
## Artifact
|
|
21
22
|
|
|
22
23
|
```
|
|
23
|
-
docs/specs/YYYY-MM-DD-<
|
|
24
|
+
docs/specs/YYYY-MM-DD-<feature>/
|
|
25
|
+
└── design.md ← This skill's output
|
|
24
26
|
```
|
|
25
27
|
|
|
26
28
|
Requirements are inline — no separate requirements.json needed.
|
|
@@ -156,11 +158,14 @@ review before I continue with the design."
|
|
|
156
158
|
|
|
157
159
|
---
|
|
158
160
|
|
|
159
|
-
## Step 4: Design
|
|
161
|
+
## Step 4: Design
|
|
160
162
|
|
|
161
|
-
|
|
163
|
+
Design happens in three phases: explore approaches, present the design in sections,
|
|
164
|
+
then write the spec file.
|
|
165
|
+
|
|
166
|
+
### 4a. Explore approaches
|
|
162
167
|
|
|
163
|
-
|
|
168
|
+
Before settling on a design, present **2-3 approaches** with trade-offs.
|
|
164
169
|
|
|
165
170
|
For each approach, address:
|
|
166
171
|
|
|
@@ -169,7 +174,7 @@ For each approach, address:
|
|
|
169
174
|
3. **Cons** — What's painful, expensive, or risky
|
|
170
175
|
4. **Complexity estimate** — Rough sense of implementation effort
|
|
171
176
|
|
|
172
|
-
|
|
177
|
+
Lead with your recommended option and explain why it wins.
|
|
173
178
|
|
|
174
179
|
**Example:**
|
|
175
180
|
|
|
@@ -186,23 +191,60 @@ Then make a recommendation and explain why.
|
|
|
186
191
|
> **Recommendation:** Approach B — the query flexibility matters more here than
|
|
187
192
|
> implementation speed.
|
|
188
193
|
|
|
189
|
-
|
|
194
|
+
Get explicit approval on the chosen approach before presenting the design.
|
|
190
195
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
**Tell the human:** "Which approach should we go with? Or should I explore a different
|
|
194
|
-
direction?"
|
|
196
|
+
**Tell the human:** "Which approach should we go with? Or should I explore a
|
|
197
|
+
different direction?"
|
|
195
198
|
|
|
196
199
|
**STOP. Wait for human to choose an approach.**
|
|
197
200
|
|
|
198
|
-
###
|
|
201
|
+
### 4b. Present the design in sections
|
|
202
|
+
|
|
203
|
+
Present the design in batches. Get approval after each batch before continuing.
|
|
204
|
+
|
|
205
|
+
Sections already confirmed in earlier steps (Problem, Scope, Constraints, Context)
|
|
206
|
+
are written into the spec from those confirmations — do not re-present them.
|
|
207
|
+
|
|
208
|
+
**Batch A: User Stories** — the contract you're designing against. Formal stories
|
|
209
|
+
with acceptance criteria and priorities. If rejected: revise. If the rejection
|
|
210
|
+
reveals a scope misunderstanding, loop back to Discovery (Step 2).
|
|
211
|
+
|
|
212
|
+
**Batch B: Architecture** — component design, domain modeling, and layer
|
|
213
|
+
boundaries. Use `python-architecture` or `typescript-api-design` as relevant to
|
|
214
|
+
your stack. Then present: component structure, domain model, where business
|
|
215
|
+
logic lives, where IO lives. If rejected: revise. If the rejection undermines
|
|
216
|
+
the chosen approach, offer to return to approach exploration (4a). If it
|
|
217
|
+
reveals a fundamental gap, loop back to Research (Step 3). If the detail reveals
|
|
218
|
+
the work is far more complex than estimated, say so and offer to revisit the
|
|
219
|
+
approach.
|
|
220
|
+
|
|
221
|
+
**Batch C: API Design + Data Model** — contracts derived from the approved
|
|
222
|
+
architecture. Skip sections that don't apply, but say so explicitly ("No API
|
|
223
|
+
changes — moving to Trade-offs"). Never skip silently. If rejected: revise. If
|
|
224
|
+
the rejection implicates the architecture, go back to Batch B.
|
|
199
225
|
|
|
200
|
-
|
|
226
|
+
**Batch D: Trade-offs + Open Questions** — alternatives considered, why this
|
|
227
|
+
approach wins, known limitations, anything unresolved. Usually revisable inline.
|
|
201
228
|
|
|
202
|
-
|
|
203
|
-
and layer boundaries.
|
|
229
|
+
Each batch ends with:
|
|
204
230
|
|
|
205
|
-
|
|
231
|
+
**Tell the human:** "Does this look right?"
|
|
232
|
+
|
|
233
|
+
**STOP. Wait for approval before continuing.**
|
|
234
|
+
|
|
235
|
+
If you loop twice on the same batch, stop and ask:
|
|
236
|
+
|
|
237
|
+
> "We've looped on [batch] twice. Should we reconsider the approach?"
|
|
238
|
+
|
|
239
|
+
**Terminology discipline:** while drafting batches, challenge terms against
|
|
240
|
+
`CONTEXT.md` and update it inline as terms resolve, using the **oracle-domain-modelling**
|
|
241
|
+
skill. If domain confusion runs deep, suggest pausing for **oracle-grill-me** before continuing.
|
|
242
|
+
|
|
243
|
+
### 4c. Write the spec
|
|
244
|
+
|
|
245
|
+
Once all batches are approved, write the full spec document.
|
|
246
|
+
|
|
247
|
+
#### What the spec should contain
|
|
206
248
|
|
|
207
249
|
```markdown
|
|
208
250
|
# Feature Name
|
|
@@ -256,70 +298,48 @@ and layer boundaries.
|
|
|
256
298
|
Scale each section to complexity — a few sentences if straightforward, detailed if
|
|
257
299
|
nuanced.
|
|
258
300
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
If human provides reference code — from open source, from elsewhere in codebase — use it
|
|
262
|
-
as a concrete guide. Working from a reference produces dramatically better designs.
|
|
301
|
+
#### Reference implementations
|
|
263
302
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
Before presenting the spec to the human, run this checklist silently:
|
|
269
|
-
|
|
270
|
-
### 1. Placeholder scan
|
|
271
|
-
|
|
272
|
-
Are there any TBD, TODO, FIXME, or incomplete sections? Every section should have real
|
|
273
|
-
content or be removed.
|
|
274
|
-
|
|
275
|
-
### 2. Internal consistency
|
|
276
|
-
|
|
277
|
-
Do sections contradict each other? If the Architecture section says "stateless" but the
|
|
278
|
-
Data Model includes session state, resolve the conflict before presenting.
|
|
279
|
-
|
|
280
|
-
### 3. Scope check
|
|
281
|
-
|
|
282
|
-
Is this focused enough for a single implementation plan? If the spec covers more than
|
|
283
|
-
one independent subsystem, it should have been decomposed in Step 2. If it's still too
|
|
284
|
-
broad, flag it now.
|
|
303
|
+
If the human provides reference code — from open source, from elsewhere in the
|
|
304
|
+
codebase — use it as a concrete guide. Working from a reference produces
|
|
305
|
+
dramatically better designs.
|
|
285
306
|
|
|
286
|
-
|
|
307
|
+
#### Self-review
|
|
287
308
|
|
|
288
|
-
|
|
289
|
-
explicitly, and let the human correct you.
|
|
309
|
+
After writing the file, check it with fresh eyes:
|
|
290
310
|
|
|
291
|
-
|
|
311
|
+
1. **Placeholder scan** — Any TBD, TODO, FIXME, or incomplete sections? Every
|
|
312
|
+
section should have real content or be removed.
|
|
313
|
+
2. **Internal consistency** — Do sections contradict each other? If the
|
|
314
|
+
Architecture section says "stateless" but the Data Model includes session
|
|
315
|
+
state, resolve the conflict.
|
|
316
|
+
3. **Scope check** — Is this focused enough for a single implementation plan?
|
|
317
|
+
If the spec covers more than one independent subsystem, it should have been
|
|
318
|
+
decomposed in Step 2. If it's still too broad, flag it now.
|
|
319
|
+
4. **Ambiguity check** — Could any requirement be interpreted two ways? If so,
|
|
320
|
+
pick one interpretation, state it explicitly, and let the human correct you.
|
|
292
321
|
|
|
293
|
-
**
|
|
294
|
-
|
|
295
|
-
|
|
322
|
+
**Substance rule:** if a fix changes the substance of an approved section,
|
|
323
|
+
re-present that section for approval. Wording and consistency fixes go inline —
|
|
324
|
+
note them at handoff.
|
|
296
325
|
|
|
297
326
|
---
|
|
298
327
|
|
|
299
|
-
## Step
|
|
300
|
-
|
|
301
|
-
Human may annotate the spec directly — adding corrections, rejections, domain knowledge,
|
|
302
|
-
or "remove this section entirely."
|
|
303
|
-
|
|
304
|
-
When they say "I added notes":
|
|
328
|
+
## Step 5: Handoff
|
|
305
329
|
|
|
306
|
-
|
|
307
|
-
2. Address every note
|
|
308
|
-
3. Update the spec
|
|
309
|
-
4. Run the self-review checklist again (Step 5)
|
|
310
|
-
5. **Do not move to planning**
|
|
330
|
+
**Tell the human:**
|
|
311
331
|
|
|
312
|
-
|
|
332
|
+
> "Spec written to `docs/specs/<path>`. Every section was approved during our
|
|
333
|
+
> conversation — review it if you'd like, or we can go straight to the
|
|
334
|
+
> implementation plan. Ready for spec-plan?"
|
|
313
335
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
336
|
+
If the human requests changes — in conversation or by annotating the file —
|
|
337
|
+
address every note, update the spec, and re-run the self-review. If a change
|
|
338
|
+
alters the substance of an approved section, re-present that section for
|
|
339
|
+
approval before continuing.
|
|
317
340
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
> "Spec is approved. Ready to write the implementation plan?"
|
|
341
|
+
The next step is **spec-plan**. Do not start planning without the human's
|
|
342
|
+
go-ahead. Do not write code.
|
|
321
343
|
|
|
322
344
|
If planning reveals design flaws, loop back to research. See **spec-orchestrator**
|
|
323
345
|
for iteration patterns.
|
|
324
|
-
|
|
325
|
-
Do not start planning without explicit approval. Do not write code.
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
name: spec-finish
|
|
3
3
|
description: >
|
|
4
4
|
Post-implementation completion workflow. Use after spec-implement completes to validate,
|
|
5
|
-
review, create stacked commits, and
|
|
6
|
-
when the user says "finish", "done", "complete", or after
|
|
5
|
+
review, create stacked commits, and open a PR via code-pull-request. Triggers when
|
|
6
|
+
implementation is done, when the user says "finish", "done", "complete", or after
|
|
7
|
+
implementation tasks are finished.
|
|
7
8
|
user-invocable: true
|
|
8
9
|
---
|
|
9
10
|
|
|
@@ -99,29 +100,26 @@ Use the Skill tool to invoke code-review skill for comprehensive code review.
|
|
|
99
100
|
|
|
100
101
|
## Step 4: Update Documentation
|
|
101
102
|
|
|
102
|
-
Optional - use code-docs skill if needed.
|
|
103
|
-
|
|
104
103
|
### Check for Updates
|
|
105
104
|
- README changes needed?
|
|
106
105
|
- API documentation updated?
|
|
107
106
|
- Changelog updated?
|
|
108
107
|
|
|
109
108
|
### If documentation needed
|
|
110
|
-
- Load code-docs
|
|
111
109
|
- Update relevant docs
|
|
112
110
|
- Commit with docs
|
|
113
111
|
|
|
114
112
|
---
|
|
115
113
|
|
|
116
|
-
## Step 5:
|
|
114
|
+
## Step 5: Open the PR
|
|
115
|
+
|
|
116
|
+
Steps 1-4 (validate, review, stack commits, update docs) must all be complete
|
|
117
|
+
before proceeding. **If code-review found blocking issues, stop — return to
|
|
118
|
+
spec-implement to fix them. Do not proceed to Step 5b.**
|
|
117
119
|
|
|
118
|
-
###
|
|
119
|
-
- All tests passing
|
|
120
|
-
- All reviews complete
|
|
121
|
-
- Documentation updated
|
|
122
|
-
- Commits stacked properly
|
|
120
|
+
### Step 5a: Present Completion Summary
|
|
123
121
|
|
|
124
|
-
|
|
122
|
+
Before creating the PR, present a summary to the human:
|
|
125
123
|
|
|
126
124
|
```
|
|
127
125
|
## Completion Summary
|
|
@@ -130,13 +128,21 @@ Optional - use code-docs skill if needed.
|
|
|
130
128
|
**Tests:** [passed/failed]
|
|
131
129
|
**Type Check:** [passed/failed]
|
|
132
130
|
**Lint:** [passed/failed]
|
|
131
|
+
**Review:** [passed/issues found]
|
|
133
132
|
**Commits:** [N commits in stack]
|
|
134
133
|
**Ready for PR:** [yes/no]
|
|
135
134
|
```
|
|
136
135
|
|
|
136
|
+
### Step 5b: Invoke code-pull-request
|
|
137
|
+
|
|
138
|
+
Only when the summary shows **Ready for PR: yes**, invoke the
|
|
139
|
+
[code-pull-request](../code-pull-request/SKILL.md) skill to create the PR. It
|
|
140
|
+
detects the platform (GitHub/GitLab), checks for an existing PR, finds a
|
|
141
|
+
template, generates the body from commits, and opens the PR via `gh` or `glab`.
|
|
142
|
+
|
|
137
143
|
### Handoff
|
|
138
144
|
|
|
139
|
-
> "Implementation complete. [N] commits stacked.
|
|
145
|
+
> "Implementation complete. [N] commits stacked. Opening PR now."
|
|
140
146
|
|
|
141
147
|
---
|
|
142
148
|
|
|
@@ -145,7 +151,7 @@ Optional - use code-docs skill if needed.
|
|
|
145
151
|
This skill orchestrates other skills:
|
|
146
152
|
|
|
147
153
|
- Invokes code-review for quality check
|
|
148
|
-
- Invokes code-
|
|
154
|
+
- Invokes code-pull-request as the final step to open the PR
|
|
149
155
|
|
|
150
156
|
---
|
|
151
157
|
|
|
@@ -108,8 +108,9 @@ Update the todo status to in_progress.
|
|
|
108
108
|
Read the task's **inputs** first — understand what context you need.
|
|
109
109
|
Then read the **description** — know what to build and the constraints.
|
|
110
110
|
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
Write tests that cover the validation criteria before writing implementation.
|
|
112
|
+
Invoke `typescript-testing` or `python-testing` (whichever matches the project)
|
|
113
|
+
for test design patterns when needed.
|
|
113
114
|
|
|
114
115
|
```
|
|
115
116
|
1. Read task inputs and description
|
|
@@ -50,8 +50,6 @@ spec-plan → Implementation plan + tasks → plan.json
|
|
|
50
50
|
spec-implement → Execute tasks, track progress, report
|
|
51
51
|
spec-finish → Post-implementation validation
|
|
52
52
|
code-subagents → Parallel dispatch, two-stage review
|
|
53
|
-
oracle-architect → DDD patterns, component responsibilities
|
|
54
|
-
oracle-testing → TDD patterns, boundary testing
|
|
55
53
|
```
|
|
56
54
|
|
|
57
55
|
### "Create a spec for X" / Build / Add Feature
|
|
@@ -66,18 +64,6 @@ spec-brainstorm → spec-plan → spec-implement → spec-finish
|
|
|
66
64
|
spec-brainstorm (research-heavy) → spec-plan (targeted) → spec-implement
|
|
67
65
|
```
|
|
68
66
|
|
|
69
|
-
### Write Tests / Testing Questions
|
|
70
|
-
|
|
71
|
-
```
|
|
72
|
-
oracle-testing
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Architecture / Domain Modeling Questions
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
oracle-architect
|
|
79
|
-
```
|
|
80
|
-
|
|
81
67
|
### Quick Fix / Trivial Change
|
|
82
68
|
|
|
83
69
|
If genuinely trivial (typo, single-line config, variable rename) — skip the pipeline.
|
|
@@ -145,9 +131,12 @@ If you loop 2+ times on the same issue, stop and ask the human:
|
|
|
145
131
|
**Process skills** (spec-brainstorm, spec-plan, spec-implement, spec-finish): Follow exactly.
|
|
146
132
|
Don't adapt away discipline.
|
|
147
133
|
|
|
148
|
-
**Knowledge skills** (oracle-
|
|
134
|
+
**Knowledge skills** (oracle-grill-me, oracle-domain-modelling): Adapt principles to
|
|
149
135
|
context. These inform decisions within the workflow.
|
|
150
136
|
|
|
137
|
+
**Discipline skills** (oracle-debug): Strict methodology that must be followed
|
|
138
|
+
exactly — no adaptation that bypasses root-cause investigation.
|
|
139
|
+
|
|
151
140
|
Process skills come first. Knowledge skills get invoked by process skills when needed.
|
|
152
141
|
|
|
153
142
|
## User Instructions
|
package/agents/scout.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scout
|
|
3
|
-
description: Fast codebase reconnaissance and exploration, concise summarization of findings, precise location of relevant context, and efficient workspace preparation through targeted file operations and template application
|
|
4
|
-
model: minimax-m2.7
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
You are the **Scout**, a fast reconnaissance agent. Your job is to explore codebases, summarize what you find, highlight relevant context, and point others to exactly where things live. You move quickly, read minimally, and never break existing work.
|
|
8
|
-
|
|
9
|
-
## Role
|
|
10
|
-
|
|
11
|
-
- Explore and map codebase structure, conventions, and key files
|
|
12
|
-
- Summarize findings with clear, concise overviews
|
|
13
|
-
- Highlight relevant context and explain why it matters
|
|
14
|
-
- Point to exact locations (file paths, line numbers, symbol names) so others can dive deeper
|
|
15
|
-
- Retrieve targeted snippets on request—never dump full files unless necessary
|
|
16
|
-
- Create files from templates and set up directory structures when asked
|
|
17
|
-
- Respect existing files—never overwrite without explicit direction
|
|
18
|
-
|
|
19
|
-
## Skills
|
|
20
|
-
|
|
21
|
-
Before beginning work, scan your environment for relevant skills and load any that apply to the task at hand. Use them to guide how you explore, summarize, and present your findings.
|
|
22
|
-
|
|
23
|
-
## Checklist
|
|
24
|
-
|
|
25
|
-
Before finishing, confirm you have:
|
|
26
|
-
|
|
27
|
-
- [ ] Retrieved only the specific context requested (no unnecessary full-file reads)
|
|
28
|
-
- [ ] Verified the target file does not already exist before creating
|
|
29
|
-
- [ ] Created parent directories as needed
|
|
30
|
-
- [ ] Applied all relevant variable substitutions when using templates
|
|
31
|
-
- [ ] Confirmed the output matches the request exactly
|
|
32
|
-
- [ ] Reported what was created, retrieved, or modified
|
|
33
|
-
|
|
34
|
-
## Boundaries
|
|
35
|
-
|
|
36
|
-
- DO handle file operations and retrieval efficiently
|
|
37
|
-
- DO create files and directories as requested
|
|
38
|
-
- DON'T make design or architectural decisions
|
|
39
|
-
- DON'T conduct requirements discovery
|
|
40
|
-
- NEVER overwrite existing files unless explicitly told to
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
# Pull Request Workflow
|
|
2
|
-
|
|
3
|
-
Creating GitHub pull requests via the `gh` CLI.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
- `gh` CLI installed and authenticated: `gh auth status`
|
|
8
|
-
- Remote `origin` points to GitHub: `git remote -v`
|
|
9
|
-
- On a feature branch (not main): `git branch --show-current`
|
|
10
|
-
|
|
11
|
-
## Check for Project Template
|
|
12
|
-
|
|
13
|
-
Before creating a PR, check if the project has its own PR template:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Check for PR template in .github/
|
|
17
|
-
ls .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null || echo "No project template found"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**If found:** Use it. The `gh pr create` command will automatically pick it up.
|
|
21
|
-
|
|
22
|
-
**If not found:** Use the minimal template below.
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Create Pull Request
|
|
27
|
-
|
|
28
|
-
### Option 1: Auto-fill from commits (recommended)
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
gh pr create --fill
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
This uses the commit messages as the PR title and body. Best when commits are clean and conventional.
|
|
35
|
-
|
|
36
|
-
### Option 2: Interactive
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
gh pr create
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Opens an editor with the template. Fill in title and body interactively.
|
|
43
|
-
|
|
44
|
-
### Option 3: Inline (for simple PRs)
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
gh pr create --title "feat(auth): add JWT authentication" --body "Implements token-based auth with refresh support."
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## PR Title Format
|
|
53
|
-
|
|
54
|
-
Follow conventional commit style for PR titles:
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
<type>(<scope>): <description>
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Examples:
|
|
61
|
-
- `feat(api): add user profile endpoint`
|
|
62
|
-
- `fix(db): resolve connection pool leak`
|
|
63
|
-
- `docs(readme): update installation instructions`
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## PR Body Template (fallback if no project template)
|
|
68
|
-
|
|
69
|
-
```markdown
|
|
70
|
-
## Description
|
|
71
|
-
<!-- What does this PR do? -->
|
|
72
|
-
|
|
73
|
-
## Changes
|
|
74
|
-
<!-- What changed? -->
|
|
75
|
-
|
|
76
|
-
## Testing
|
|
77
|
-
<!-- How was this tested? -->
|
|
78
|
-
|
|
79
|
-
## Checklist
|
|
80
|
-
- [ ] Tests pass
|
|
81
|
-
- [ ] Commits follow conventional format
|
|
82
|
-
- [ ] Documentation updated (if needed)
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Linking Issues
|
|
88
|
-
|
|
89
|
-
Add issue references in the PR body:
|
|
90
|
-
|
|
91
|
-
```markdown
|
|
92
|
-
Closes #123
|
|
93
|
-
Fixes #456
|
|
94
|
-
Relates to #789
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
This auto-closes linked issues when the PR merges.
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Draft PRs
|
|
102
|
-
|
|
103
|
-
For work-in-progress PRs:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
gh pr create --draft
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Mark as ready later:
|
|
110
|
-
|
|
111
|
-
```bash
|
|
112
|
-
gh pr ready <pr-number>
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## Review Requests
|
|
118
|
-
|
|
119
|
-
Request reviewers after creating the PR:
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
gh pr edit <pr-number> --add-reviewer username
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Or add via the GitHub web UI.
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Verify PR Created
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
gh pr view --web # Open in browser
|
|
133
|
-
gh pr status # Show PR status
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Common Mistakes
|
|
139
|
-
|
|
140
|
-
| Mistake | Fix |
|
|
141
|
-
|---------|-----|
|
|
142
|
-
| PR from main branch | Switch to feature branch first |
|
|
143
|
-
| No remote | `git remote add origin <url>` |
|
|
144
|
-
| Unpushed commits | `git push -u origin <branch>` |
|
|
145
|
-
| PR body is empty | Use `--fill` or write a description |
|