@thiagodiogo/pscode 2.0.0 → 2.0.1
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/LICENSE +22 -22
- package/README.md +142 -142
- package/bin/pscode.js +4 -4
- package/dist/commands/feedback.js +4 -4
- package/dist/commands/schema.js +60 -60
- package/dist/core/collections/initiatives/templates.js +57 -57
- package/dist/core/command-generation/adapters/claude.js +8 -8
- package/dist/core/command-generation/adapters/codex.js +6 -6
- package/dist/core/command-generation/adapters/cursor.js +8 -8
- package/dist/core/command-generation/adapters/gemini.js +5 -5
- package/dist/core/command-generation/adapters/github-copilot.js +5 -5
- package/dist/core/completions/generators/bash-generator.js +41 -41
- package/dist/core/completions/generators/fish-generator.js +7 -7
- package/dist/core/completions/generators/powershell-generator.js +29 -29
- package/dist/core/completions/generators/zsh-generator.js +33 -33
- package/dist/core/completions/templates/bash-templates.js +24 -24
- package/dist/core/completions/templates/fish-templates.js +38 -38
- package/dist/core/completions/templates/powershell-templates.js +28 -28
- package/dist/core/completions/templates/zsh-templates.js +39 -39
- package/dist/core/templates/workflows/apply-change.js +264 -264
- package/dist/core/templates/workflows/archive-change.js +204 -204
- package/dist/core/templates/workflows/bulk-archive-change.js +472 -472
- package/dist/core/templates/workflows/continue-change.js +214 -214
- package/dist/core/templates/workflows/explore.js +735 -735
- package/dist/core/templates/workflows/feedback.js +97 -97
- package/dist/core/templates/workflows/ff-change.js +180 -180
- package/dist/core/templates/workflows/new-change.js +123 -123
- package/dist/core/templates/workflows/onboard.js +584 -584
- package/dist/core/templates/workflows/propose.js +324 -324
- package/dist/core/templates/workflows/trello-draft.js +194 -194
- package/dist/core/templates/workflows/trello-setup.js +292 -292
- package/dist/core/templates/workflows/verify-change.js +318 -318
- package/dist/core/workspace/open-surface.js +30 -30
- package/package.json +1 -1
- package/schemas/spec-driven/schema.yaml +153 -153
- package/schemas/spec-driven/templates/design.md +19 -19
- package/schemas/spec-driven/templates/proposal.md +23 -23
- package/schemas/spec-driven/templates/spec.md +8 -8
- package/schemas/spec-driven/templates/tasks.md +9 -9
- package/schemas/workspace-planning/schema.yaml +72 -72
- package/schemas/workspace-planning/templates/design.md +33 -33
- package/schemas/workspace-planning/templates/proposal.md +28 -28
- package/schemas/workspace-planning/templates/spec.md +9 -9
- package/schemas/workspace-planning/templates/tasks.md +15 -15
- package/scripts/postinstall.js +83 -83
|
@@ -18,270 +18,270 @@ export function getPsApplyCommandTemplate() {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
function getApplyInstructions() {
|
|
21
|
-
return `Implement tasks from a Pscode change.
|
|
22
|
-
|
|
23
|
-
**Input**: Optionally specify a change name (e.g., \`/ps:apply add-auth\`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
|
24
|
-
|
|
25
|
-
**Steps**
|
|
26
|
-
|
|
27
|
-
1. **Select the change**
|
|
28
|
-
|
|
29
|
-
If a name is provided, use it. Otherwise:
|
|
30
|
-
- Infer from conversation context if the user mentioned a change
|
|
31
|
-
- Auto-select if only one active change exists
|
|
32
|
-
- If ambiguous, run \`pscode list --json\` to get available changes and use the **AskUserQuestion tool** to let the user select
|
|
33
|
-
|
|
34
|
-
Always announce: "Using change: <name>" and how to override (e.g., \`/ps:apply <other>\`).
|
|
35
|
-
|
|
36
|
-
2. **Trello Integration — move card to "Em Desenvolvimento" (optional)**
|
|
37
|
-
|
|
38
|
-
This is the FIRST action after selecting the change — signal immediately that development has started.
|
|
39
|
-
|
|
40
|
-
Use the **Read tool** (NOT a shell command) to read \`pscode/trello.yaml\` from the current working directory.
|
|
41
|
-
The Read tool is cross-platform and works on Windows, macOS, and Linux — never use \`cat\` or shell commands to read this file.
|
|
42
|
-
If the Read tool returns an error (file not found), skip all Trello steps.
|
|
43
|
-
|
|
44
|
-
Otherwise parse and extract \`boardId\`, \`lists.refining\`, \`lists.ready\`, \`lists.developing\`, and \`lists.testing\`.
|
|
45
|
-
|
|
46
|
-
Search for the change's card across configured lists in priority order:
|
|
47
|
-
\`refining\` → \`ready\` → \`backlog\` (whichever are configured):
|
|
48
|
-
\`\`\`tool
|
|
49
|
-
mcp__claude_ai_Trello_Custom__get_cards { list_id: "<list.id>" }
|
|
50
|
-
\`\`\`
|
|
51
|
-
Look for a card matching the change name (case-insensitive, partial match is sufficient).
|
|
52
|
-
|
|
53
|
-
**If \`lists.developing\` is configured:**
|
|
54
|
-
- **Card found:** move it to \`lists.developing\`.
|
|
55
|
-
- **No card found:** create one directly in \`lists.developing\` with name and desc in Portuguese.
|
|
56
|
-
|
|
57
|
-
**If \`lists.developing\` is NOT configured and \`lists.ready\` is configured:**
|
|
58
|
-
- Move/create in \`lists.ready\`.
|
|
59
|
-
|
|
60
|
-
In all cases, assign the current user:
|
|
61
|
-
\`\`\`tool
|
|
62
|
-
mcp__claude_ai_Trello_Custom__get_me
|
|
63
|
-
mcp__claude_ai_Trello_Custom__add_card_member { card_id: "<cardId>", member_id: "<me.id>" }
|
|
64
|
-
\`\`\`
|
|
65
|
-
Save \`cardId\` for the completion step.
|
|
66
|
-
|
|
67
|
-
If any Trello call fails, continue — Trello is auxiliary, never blocking.
|
|
68
|
-
|
|
69
|
-
3. **Check status to understand the schema**
|
|
70
|
-
\`\`\`bash
|
|
71
|
-
pscode status --change "<name>" --json
|
|
72
|
-
\`\`\`
|
|
73
|
-
Parse the JSON to understand:
|
|
74
|
-
- \`schemaName\`: The workflow being used (e.g., "spec-driven")
|
|
75
|
-
- \`planningHome\`, \`changeRoot\`, and \`actionContext\`: planning scope and edit constraints
|
|
76
|
-
- Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others)
|
|
77
|
-
|
|
78
|
-
4. **Get apply instructions**
|
|
79
|
-
|
|
80
|
-
\`\`\`bash
|
|
81
|
-
pscode instructions apply --change "<name>" --json
|
|
82
|
-
\`\`\`
|
|
83
|
-
|
|
84
|
-
This returns:
|
|
85
|
-
- \`contextFiles\`: artifact ID -> array of concrete file paths (varies by schema)
|
|
86
|
-
- Progress (total, complete, remaining)
|
|
87
|
-
- Task list with status
|
|
88
|
-
- Dynamic instruction based on current state
|
|
89
|
-
|
|
90
|
-
**Handle states:**
|
|
91
|
-
- If \`state: "blocked"\` (missing artifacts): show message, suggest using \`/ps:continue\`
|
|
92
|
-
- If \`state: "all_done"\`: congratulate, suggest archive
|
|
93
|
-
- Otherwise: proceed to implementation
|
|
94
|
-
|
|
95
|
-
**Workspace guard:** If status JSON reports \`actionContext.mode: "workspace-planning"\` and \`allowedEditRoots\` is empty, explain that full workspace apply is not supported in this slice. Treat linked repos and folders as read-only context, ask the user to select an affected area, and STOP before editing files.
|
|
96
|
-
|
|
97
|
-
5. **Read context files**
|
|
98
|
-
|
|
99
|
-
Read every file path listed under \`contextFiles\` from the apply instructions output.
|
|
100
|
-
|
|
101
|
-
6. **Show current progress**
|
|
102
|
-
|
|
103
|
-
Display:
|
|
104
|
-
- Schema being used
|
|
105
|
-
- Progress: "N/M tasks complete"
|
|
106
|
-
- Remaining tasks overview
|
|
107
|
-
- Dynamic instruction from CLI
|
|
108
|
-
|
|
109
|
-
7. **Implement tasks (loop until done or blocked)**
|
|
110
|
-
|
|
111
|
-
For each pending task:
|
|
112
|
-
- Show which task is being worked on
|
|
113
|
-
- Make the code changes required
|
|
114
|
-
- Keep changes minimal and focused
|
|
115
|
-
- Mark task complete in the tasks file: \`- [ ]\` → \`- [x]\`
|
|
116
|
-
- Continue to next task
|
|
117
|
-
|
|
118
|
-
**Pause if:**
|
|
119
|
-
- Task is unclear → ask for clarification
|
|
120
|
-
- Implementation reveals a design issue → suggest updating artifacts
|
|
121
|
-
- Error or blocker encountered → report and wait for guidance
|
|
122
|
-
- User interrupts
|
|
123
|
-
|
|
124
|
-
8. **On completion: move card to "Em Teste" (optional)**
|
|
125
|
-
|
|
126
|
-
When all tasks are complete (\`state: "all_done"\`):
|
|
127
|
-
|
|
128
|
-
If Trello is configured and \`cardId\` was saved:
|
|
129
|
-
|
|
130
|
-
a. If \`lists.testing\` is configured, move the card there:
|
|
131
|
-
\`\`\`tool
|
|
132
|
-
mcp__claude_ai_Trello_Custom__update_card { card_id: "<cardId>", list_id: "<lists.testing.id>" }
|
|
133
|
-
\`\`\`
|
|
134
|
-
|
|
135
|
-
b. Add a comment in Portuguese:
|
|
136
|
-
\`\`\`tool
|
|
137
|
-
mcp__claude_ai_Trello_Custom__add_comment
|
|
138
|
-
card_id: "<cardId>"
|
|
139
|
-
text: |
|
|
140
|
-
Implementacao concluida via /ps:apply
|
|
141
|
-
|
|
142
|
-
Change: <change-name>
|
|
143
|
-
Tasks: <N>/<N> concluidas
|
|
144
|
-
|
|
145
|
-
Aguardando validacao antes de mover para Ready to Deploy.
|
|
146
|
-
\`\`\`
|
|
147
|
-
|
|
148
|
-
If any Trello call fails, continue — Trello is auxiliary, never blocking.
|
|
149
|
-
|
|
150
|
-
9. **Fase de Testes — validar implementação**
|
|
151
|
-
|
|
152
|
-
After completing all tasks (and moving the card to "Em Teste" if Trello is configured),
|
|
153
|
-
use the **AskUserQuestion tool** to ask how the user wants to proceed with validation:
|
|
154
|
-
|
|
155
|
-
- **"Vou testar eu mesmo"** — user will test independently; wait for them to report back
|
|
156
|
-
- **"Quero que você teste"** — Claude should invoke the \`verify\` skill to validate the implementation
|
|
157
|
-
- **"Já testei, está funcionando"** — user already confirmed; proceed to move card to "Ready to Deploy"
|
|
158
|
-
|
|
159
|
-
**If user chooses "Vou testar eu mesmo":**
|
|
160
|
-
- Tell them to test and come back when ready (e.g., saying "está funcionando" or "encontrei um problema")
|
|
161
|
-
- Wait — do NOT proceed until the user responds
|
|
162
|
-
|
|
163
|
-
**If user chooses to have Claude test:**
|
|
164
|
-
- Use the **Skill tool** to invoke the \`verify\` skill, which runs the app and observes the change
|
|
165
|
-
- Report the findings clearly to the user
|
|
166
|
-
- Ask: "A implementação está funcionando como esperado?" (Sim / Não, encontrei um problema)
|
|
167
|
-
|
|
168
|
-
**When the user confirms it's working** (any path above):
|
|
169
|
-
|
|
170
|
-
If Trello is configured, \`cardId\` was saved, and \`lists.deploy\` is configured:
|
|
171
|
-
a. Move the card to "Ready to Deploy":
|
|
172
|
-
\`\`\`tool
|
|
173
|
-
mcp__claude_ai_Trello_Custom__update_card { card_id: "<cardId>", list_id: "<lists.deploy.id>" }
|
|
174
|
-
\`\`\`
|
|
175
|
-
b. Add a comment in Portuguese:
|
|
176
|
-
\`\`\`tool
|
|
177
|
-
mcp__claude_ai_Trello_Custom__add_comment
|
|
178
|
-
card_id: "<cardId>"
|
|
179
|
-
text: |
|
|
180
|
-
Implementacao validada e aprovada para deploy.
|
|
181
|
-
|
|
182
|
-
Testado por: <usuario / Claude>
|
|
183
|
-
Status: Funcionando
|
|
184
|
-
|
|
185
|
-
Proximo passo: /ps:complete <name> para arquivar a change.
|
|
186
|
-
\`\`\`
|
|
187
|
-
|
|
188
|
-
If any Trello call fails, continue — Trello is auxiliary, never blocking.
|
|
189
|
-
|
|
190
|
-
**If user reports a problem:**
|
|
191
|
-
- Acknowledge the issue and ask for details
|
|
192
|
-
- Resume implementation to fix the problem (loop back to step 7)
|
|
193
|
-
- Do NOT move the card to "Ready to Deploy" until the user confirms it's working
|
|
194
|
-
|
|
195
|
-
10. **On completion or pause, show status**
|
|
196
|
-
|
|
197
|
-
Display:
|
|
198
|
-
- Tasks completed this session
|
|
199
|
-
- Overall progress: "N/M tasks complete"
|
|
200
|
-
- If all done and approved: mention Trello stage (Em Teste or Ready to Deploy) and suggest \`/ps:complete\`
|
|
201
|
-
- If paused: explain why and wait for guidance
|
|
202
|
-
|
|
203
|
-
**Output During Implementation**
|
|
204
|
-
|
|
205
|
-
\`\`\`
|
|
206
|
-
## Implementing: <change-name> (schema: <schema-name>)
|
|
207
|
-
|
|
208
|
-
Working on task 3/7: <task description>
|
|
209
|
-
[...implementation happening...]
|
|
210
|
-
✓ Task complete
|
|
211
|
-
|
|
212
|
-
Working on task 4/7: <task description>
|
|
213
|
-
[...implementation happening...]
|
|
214
|
-
✓ Task complete
|
|
215
|
-
\`\`\`
|
|
216
|
-
|
|
217
|
-
**Output On Completion (aguardando testes)**
|
|
218
|
-
|
|
219
|
-
\`\`\`
|
|
220
|
-
## Implementation Complete
|
|
221
|
-
|
|
222
|
-
**Change:** <change-name>
|
|
223
|
-
**Schema:** <schema-name>
|
|
224
|
-
**Progress:** 7/7 tasks complete ✓
|
|
225
|
-
**Trello:** Card moved to 🧪 Em Teste ← only shown if Trello is configured
|
|
226
|
-
|
|
227
|
-
### Completed This Session
|
|
228
|
-
- [x] Task 1
|
|
229
|
-
- [x] Task 2
|
|
230
|
-
...
|
|
231
|
-
|
|
232
|
-
All tasks complete! How would you like to validate the implementation?
|
|
233
|
-
\`\`\`
|
|
234
|
-
|
|
235
|
-
**Output After Validation Approved**
|
|
236
|
-
|
|
237
|
-
\`\`\`
|
|
238
|
-
## Validation Approved ✅
|
|
239
|
-
|
|
240
|
-
**Change:** <change-name>
|
|
241
|
-
**Trello:** Card moved to 🚀 Ready to Deploy ← only shown if lists.deploy is configured
|
|
242
|
-
|
|
243
|
-
Ready to archive with \`/ps:complete\`.
|
|
244
|
-
\`\`\`
|
|
245
|
-
|
|
246
|
-
**Output On Pause (Issue Encountered)**
|
|
247
|
-
|
|
248
|
-
\`\`\`
|
|
249
|
-
## Implementation Paused
|
|
250
|
-
|
|
251
|
-
**Change:** <change-name>
|
|
252
|
-
**Schema:** <schema-name>
|
|
253
|
-
**Progress:** 4/7 tasks complete
|
|
254
|
-
|
|
255
|
-
### Issue Encountered
|
|
256
|
-
<description of the issue>
|
|
257
|
-
|
|
258
|
-
**Options:**
|
|
259
|
-
1. <option 1>
|
|
260
|
-
2. <option 2>
|
|
261
|
-
3. Other approach
|
|
262
|
-
|
|
263
|
-
What would you like to do?
|
|
264
|
-
\`\`\`
|
|
265
|
-
|
|
266
|
-
**Guardrails**
|
|
267
|
-
- Keep going through tasks until done or blocked
|
|
268
|
-
- Always read context files before starting
|
|
269
|
-
- If task is ambiguous, pause and ask before implementing
|
|
270
|
-
- If implementation reveals issues, pause and suggest artifact updates
|
|
271
|
-
- Keep code changes minimal and scoped to each task
|
|
272
|
-
- Update task checkbox immediately after completing each task
|
|
273
|
-
- Pause on errors, blockers, or unclear requirements — don't guess
|
|
274
|
-
- Use contextFiles from CLI output, don't assume specific file names
|
|
275
|
-
- If Trello tools fail, continue normally — Trello is auxiliary, not blocking
|
|
276
|
-
- All content written to Trello must be in Portuguese
|
|
277
|
-
- Never move the card to "Ready to Deploy" without explicit user confirmation that the implementation is working
|
|
278
|
-
- If the user reports a problem during testing, loop back to fix before asking again
|
|
279
|
-
- Offer to invoke the \`verify\` skill when the user wants Claude to test — don't skip straight to archive
|
|
280
|
-
|
|
281
|
-
**Fluid Workflow Integration**
|
|
282
|
-
|
|
283
|
-
- **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation
|
|
284
|
-
- **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts
|
|
21
|
+
return `Implement tasks from a Pscode change.
|
|
22
|
+
|
|
23
|
+
**Input**: Optionally specify a change name (e.g., \`/ps:apply add-auth\`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
|
24
|
+
|
|
25
|
+
**Steps**
|
|
26
|
+
|
|
27
|
+
1. **Select the change**
|
|
28
|
+
|
|
29
|
+
If a name is provided, use it. Otherwise:
|
|
30
|
+
- Infer from conversation context if the user mentioned a change
|
|
31
|
+
- Auto-select if only one active change exists
|
|
32
|
+
- If ambiguous, run \`pscode list --json\` to get available changes and use the **AskUserQuestion tool** to let the user select
|
|
33
|
+
|
|
34
|
+
Always announce: "Using change: <name>" and how to override (e.g., \`/ps:apply <other>\`).
|
|
35
|
+
|
|
36
|
+
2. **Trello Integration — move card to "Em Desenvolvimento" (optional)**
|
|
37
|
+
|
|
38
|
+
This is the FIRST action after selecting the change — signal immediately that development has started.
|
|
39
|
+
|
|
40
|
+
Use the **Read tool** (NOT a shell command) to read \`pscode/trello.yaml\` from the current working directory.
|
|
41
|
+
The Read tool is cross-platform and works on Windows, macOS, and Linux — never use \`cat\` or shell commands to read this file.
|
|
42
|
+
If the Read tool returns an error (file not found), skip all Trello steps.
|
|
43
|
+
|
|
44
|
+
Otherwise parse and extract \`boardId\`, \`lists.refining\`, \`lists.ready\`, \`lists.developing\`, and \`lists.testing\`.
|
|
45
|
+
|
|
46
|
+
Search for the change's card across configured lists in priority order:
|
|
47
|
+
\`refining\` → \`ready\` → \`backlog\` (whichever are configured):
|
|
48
|
+
\`\`\`tool
|
|
49
|
+
mcp__claude_ai_Trello_Custom__get_cards { list_id: "<list.id>" }
|
|
50
|
+
\`\`\`
|
|
51
|
+
Look for a card matching the change name (case-insensitive, partial match is sufficient).
|
|
52
|
+
|
|
53
|
+
**If \`lists.developing\` is configured:**
|
|
54
|
+
- **Card found:** move it to \`lists.developing\`.
|
|
55
|
+
- **No card found:** create one directly in \`lists.developing\` with name and desc in Portuguese.
|
|
56
|
+
|
|
57
|
+
**If \`lists.developing\` is NOT configured and \`lists.ready\` is configured:**
|
|
58
|
+
- Move/create in \`lists.ready\`.
|
|
59
|
+
|
|
60
|
+
In all cases, assign the current user:
|
|
61
|
+
\`\`\`tool
|
|
62
|
+
mcp__claude_ai_Trello_Custom__get_me
|
|
63
|
+
mcp__claude_ai_Trello_Custom__add_card_member { card_id: "<cardId>", member_id: "<me.id>" }
|
|
64
|
+
\`\`\`
|
|
65
|
+
Save \`cardId\` for the completion step.
|
|
66
|
+
|
|
67
|
+
If any Trello call fails, continue — Trello is auxiliary, never blocking.
|
|
68
|
+
|
|
69
|
+
3. **Check status to understand the schema**
|
|
70
|
+
\`\`\`bash
|
|
71
|
+
pscode status --change "<name>" --json
|
|
72
|
+
\`\`\`
|
|
73
|
+
Parse the JSON to understand:
|
|
74
|
+
- \`schemaName\`: The workflow being used (e.g., "spec-driven")
|
|
75
|
+
- \`planningHome\`, \`changeRoot\`, and \`actionContext\`: planning scope and edit constraints
|
|
76
|
+
- Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others)
|
|
77
|
+
|
|
78
|
+
4. **Get apply instructions**
|
|
79
|
+
|
|
80
|
+
\`\`\`bash
|
|
81
|
+
pscode instructions apply --change "<name>" --json
|
|
82
|
+
\`\`\`
|
|
83
|
+
|
|
84
|
+
This returns:
|
|
85
|
+
- \`contextFiles\`: artifact ID -> array of concrete file paths (varies by schema)
|
|
86
|
+
- Progress (total, complete, remaining)
|
|
87
|
+
- Task list with status
|
|
88
|
+
- Dynamic instruction based on current state
|
|
89
|
+
|
|
90
|
+
**Handle states:**
|
|
91
|
+
- If \`state: "blocked"\` (missing artifacts): show message, suggest using \`/ps:continue\`
|
|
92
|
+
- If \`state: "all_done"\`: congratulate, suggest archive
|
|
93
|
+
- Otherwise: proceed to implementation
|
|
94
|
+
|
|
95
|
+
**Workspace guard:** If status JSON reports \`actionContext.mode: "workspace-planning"\` and \`allowedEditRoots\` is empty, explain that full workspace apply is not supported in this slice. Treat linked repos and folders as read-only context, ask the user to select an affected area, and STOP before editing files.
|
|
96
|
+
|
|
97
|
+
5. **Read context files**
|
|
98
|
+
|
|
99
|
+
Read every file path listed under \`contextFiles\` from the apply instructions output.
|
|
100
|
+
|
|
101
|
+
6. **Show current progress**
|
|
102
|
+
|
|
103
|
+
Display:
|
|
104
|
+
- Schema being used
|
|
105
|
+
- Progress: "N/M tasks complete"
|
|
106
|
+
- Remaining tasks overview
|
|
107
|
+
- Dynamic instruction from CLI
|
|
108
|
+
|
|
109
|
+
7. **Implement tasks (loop until done or blocked)**
|
|
110
|
+
|
|
111
|
+
For each pending task:
|
|
112
|
+
- Show which task is being worked on
|
|
113
|
+
- Make the code changes required
|
|
114
|
+
- Keep changes minimal and focused
|
|
115
|
+
- Mark task complete in the tasks file: \`- [ ]\` → \`- [x]\`
|
|
116
|
+
- Continue to next task
|
|
117
|
+
|
|
118
|
+
**Pause if:**
|
|
119
|
+
- Task is unclear → ask for clarification
|
|
120
|
+
- Implementation reveals a design issue → suggest updating artifacts
|
|
121
|
+
- Error or blocker encountered → report and wait for guidance
|
|
122
|
+
- User interrupts
|
|
123
|
+
|
|
124
|
+
8. **On completion: move card to "Em Teste" (optional)**
|
|
125
|
+
|
|
126
|
+
When all tasks are complete (\`state: "all_done"\`):
|
|
127
|
+
|
|
128
|
+
If Trello is configured and \`cardId\` was saved:
|
|
129
|
+
|
|
130
|
+
a. If \`lists.testing\` is configured, move the card there:
|
|
131
|
+
\`\`\`tool
|
|
132
|
+
mcp__claude_ai_Trello_Custom__update_card { card_id: "<cardId>", list_id: "<lists.testing.id>" }
|
|
133
|
+
\`\`\`
|
|
134
|
+
|
|
135
|
+
b. Add a comment in Portuguese:
|
|
136
|
+
\`\`\`tool
|
|
137
|
+
mcp__claude_ai_Trello_Custom__add_comment
|
|
138
|
+
card_id: "<cardId>"
|
|
139
|
+
text: |
|
|
140
|
+
Implementacao concluida via /ps:apply
|
|
141
|
+
|
|
142
|
+
Change: <change-name>
|
|
143
|
+
Tasks: <N>/<N> concluidas
|
|
144
|
+
|
|
145
|
+
Aguardando validacao antes de mover para Ready to Deploy.
|
|
146
|
+
\`\`\`
|
|
147
|
+
|
|
148
|
+
If any Trello call fails, continue — Trello is auxiliary, never blocking.
|
|
149
|
+
|
|
150
|
+
9. **Fase de Testes — validar implementação**
|
|
151
|
+
|
|
152
|
+
After completing all tasks (and moving the card to "Em Teste" if Trello is configured),
|
|
153
|
+
use the **AskUserQuestion tool** to ask how the user wants to proceed with validation:
|
|
154
|
+
|
|
155
|
+
- **"Vou testar eu mesmo"** — user will test independently; wait for them to report back
|
|
156
|
+
- **"Quero que você teste"** — Claude should invoke the \`verify\` skill to validate the implementation
|
|
157
|
+
- **"Já testei, está funcionando"** — user already confirmed; proceed to move card to "Ready to Deploy"
|
|
158
|
+
|
|
159
|
+
**If user chooses "Vou testar eu mesmo":**
|
|
160
|
+
- Tell them to test and come back when ready (e.g., saying "está funcionando" or "encontrei um problema")
|
|
161
|
+
- Wait — do NOT proceed until the user responds
|
|
162
|
+
|
|
163
|
+
**If user chooses to have Claude test:**
|
|
164
|
+
- Use the **Skill tool** to invoke the \`verify\` skill, which runs the app and observes the change
|
|
165
|
+
- Report the findings clearly to the user
|
|
166
|
+
- Ask: "A implementação está funcionando como esperado?" (Sim / Não, encontrei um problema)
|
|
167
|
+
|
|
168
|
+
**When the user confirms it's working** (any path above):
|
|
169
|
+
|
|
170
|
+
If Trello is configured, \`cardId\` was saved, and \`lists.deploy\` is configured:
|
|
171
|
+
a. Move the card to "Ready to Deploy":
|
|
172
|
+
\`\`\`tool
|
|
173
|
+
mcp__claude_ai_Trello_Custom__update_card { card_id: "<cardId>", list_id: "<lists.deploy.id>" }
|
|
174
|
+
\`\`\`
|
|
175
|
+
b. Add a comment in Portuguese:
|
|
176
|
+
\`\`\`tool
|
|
177
|
+
mcp__claude_ai_Trello_Custom__add_comment
|
|
178
|
+
card_id: "<cardId>"
|
|
179
|
+
text: |
|
|
180
|
+
Implementacao validada e aprovada para deploy.
|
|
181
|
+
|
|
182
|
+
Testado por: <usuario / Claude>
|
|
183
|
+
Status: Funcionando
|
|
184
|
+
|
|
185
|
+
Proximo passo: /ps:complete <name> para arquivar a change.
|
|
186
|
+
\`\`\`
|
|
187
|
+
|
|
188
|
+
If any Trello call fails, continue — Trello is auxiliary, never blocking.
|
|
189
|
+
|
|
190
|
+
**If user reports a problem:**
|
|
191
|
+
- Acknowledge the issue and ask for details
|
|
192
|
+
- Resume implementation to fix the problem (loop back to step 7)
|
|
193
|
+
- Do NOT move the card to "Ready to Deploy" until the user confirms it's working
|
|
194
|
+
|
|
195
|
+
10. **On completion or pause, show status**
|
|
196
|
+
|
|
197
|
+
Display:
|
|
198
|
+
- Tasks completed this session
|
|
199
|
+
- Overall progress: "N/M tasks complete"
|
|
200
|
+
- If all done and approved: mention Trello stage (Em Teste or Ready to Deploy) and suggest \`/ps:complete\`
|
|
201
|
+
- If paused: explain why and wait for guidance
|
|
202
|
+
|
|
203
|
+
**Output During Implementation**
|
|
204
|
+
|
|
205
|
+
\`\`\`
|
|
206
|
+
## Implementing: <change-name> (schema: <schema-name>)
|
|
207
|
+
|
|
208
|
+
Working on task 3/7: <task description>
|
|
209
|
+
[...implementation happening...]
|
|
210
|
+
✓ Task complete
|
|
211
|
+
|
|
212
|
+
Working on task 4/7: <task description>
|
|
213
|
+
[...implementation happening...]
|
|
214
|
+
✓ Task complete
|
|
215
|
+
\`\`\`
|
|
216
|
+
|
|
217
|
+
**Output On Completion (aguardando testes)**
|
|
218
|
+
|
|
219
|
+
\`\`\`
|
|
220
|
+
## Implementation Complete
|
|
221
|
+
|
|
222
|
+
**Change:** <change-name>
|
|
223
|
+
**Schema:** <schema-name>
|
|
224
|
+
**Progress:** 7/7 tasks complete ✓
|
|
225
|
+
**Trello:** Card moved to 🧪 Em Teste ← only shown if Trello is configured
|
|
226
|
+
|
|
227
|
+
### Completed This Session
|
|
228
|
+
- [x] Task 1
|
|
229
|
+
- [x] Task 2
|
|
230
|
+
...
|
|
231
|
+
|
|
232
|
+
All tasks complete! How would you like to validate the implementation?
|
|
233
|
+
\`\`\`
|
|
234
|
+
|
|
235
|
+
**Output After Validation Approved**
|
|
236
|
+
|
|
237
|
+
\`\`\`
|
|
238
|
+
## Validation Approved ✅
|
|
239
|
+
|
|
240
|
+
**Change:** <change-name>
|
|
241
|
+
**Trello:** Card moved to 🚀 Ready to Deploy ← only shown if lists.deploy is configured
|
|
242
|
+
|
|
243
|
+
Ready to archive with \`/ps:complete\`.
|
|
244
|
+
\`\`\`
|
|
245
|
+
|
|
246
|
+
**Output On Pause (Issue Encountered)**
|
|
247
|
+
|
|
248
|
+
\`\`\`
|
|
249
|
+
## Implementation Paused
|
|
250
|
+
|
|
251
|
+
**Change:** <change-name>
|
|
252
|
+
**Schema:** <schema-name>
|
|
253
|
+
**Progress:** 4/7 tasks complete
|
|
254
|
+
|
|
255
|
+
### Issue Encountered
|
|
256
|
+
<description of the issue>
|
|
257
|
+
|
|
258
|
+
**Options:**
|
|
259
|
+
1. <option 1>
|
|
260
|
+
2. <option 2>
|
|
261
|
+
3. Other approach
|
|
262
|
+
|
|
263
|
+
What would you like to do?
|
|
264
|
+
\`\`\`
|
|
265
|
+
|
|
266
|
+
**Guardrails**
|
|
267
|
+
- Keep going through tasks until done or blocked
|
|
268
|
+
- Always read context files before starting
|
|
269
|
+
- If task is ambiguous, pause and ask before implementing
|
|
270
|
+
- If implementation reveals issues, pause and suggest artifact updates
|
|
271
|
+
- Keep code changes minimal and scoped to each task
|
|
272
|
+
- Update task checkbox immediately after completing each task
|
|
273
|
+
- Pause on errors, blockers, or unclear requirements — don't guess
|
|
274
|
+
- Use contextFiles from CLI output, don't assume specific file names
|
|
275
|
+
- If Trello tools fail, continue normally — Trello is auxiliary, not blocking
|
|
276
|
+
- All content written to Trello must be in Portuguese
|
|
277
|
+
- Never move the card to "Ready to Deploy" without explicit user confirmation that the implementation is working
|
|
278
|
+
- If the user reports a problem during testing, loop back to fix before asking again
|
|
279
|
+
- Offer to invoke the \`verify\` skill when the user wants Claude to test — don't skip straight to archive
|
|
280
|
+
|
|
281
|
+
**Fluid Workflow Integration**
|
|
282
|
+
|
|
283
|
+
- **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation
|
|
284
|
+
- **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts
|
|
285
285
|
`;
|
|
286
286
|
}
|
|
287
287
|
//# sourceMappingURL=apply-change.js.map
|