@brunosps00/dev-workflow 0.4.5 → 0.4.7
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/lib/constants.js +2 -0
- package/package.json +1 -1
- package/scaffold/en/commands/dw-autopilot.md +69 -2
- package/scaffold/en/commands/dw-help.md +1 -0
- package/scaffold/en/commands/dw-update.md +104 -0
- package/scaffold/pt-br/commands/dw-autopilot.md +69 -2
- package/scaffold/pt-br/commands/dw-help.md +1 -0
- package/scaffold/pt-br/commands/dw-update.md +104 -0
package/lib/constants.js
CHANGED
|
@@ -23,6 +23,7 @@ const COMMANDS = {
|
|
|
23
23
|
{ name: 'dw-run-plan', description: 'Execute ALL tasks sequentially until the plan is complete' },
|
|
24
24
|
{ name: 'dw-run-qa', description: 'Run visual QA with browser automation, E2E tests, and accessibility' },
|
|
25
25
|
{ name: 'dw-run-task', description: 'Execute a single task with built-in validation and testing' },
|
|
26
|
+
{ name: 'dw-update', description: 'Update dev-workflow to the latest version published on npm without leaving the agent session' },
|
|
26
27
|
],
|
|
27
28
|
'pt-br': [
|
|
28
29
|
{ name: 'dw-analyze-project', description: 'Analisa stack, patterns e convencoes do repositorio para gerar regras do projeto' },
|
|
@@ -48,6 +49,7 @@ const COMMANDS = {
|
|
|
48
49
|
{ name: 'dw-run-plan', description: 'Executar TODAS as tasks sequencialmente ate completar o plano' },
|
|
49
50
|
{ name: 'dw-run-qa', description: 'Executar QA visual com automacao de browser, testes E2E e acessibilidade' },
|
|
50
51
|
{ name: 'dw-run-task', description: 'Executar uma task com validacao e testes integrados' },
|
|
52
|
+
{ name: 'dw-update', description: 'Atualizar o dev-workflow para a versao mais recente publicada no npm sem sair da sessao do agente' },
|
|
51
53
|
],
|
|
52
54
|
};
|
|
53
55
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brunosps00/dev-workflow",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "AI-driven development workflow commands for any project. Scaffolds a complete PRD-to-PR pipeline with multi-platform AI assistant support.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"dev-workflow": "./bin/dev-workflow.js"
|
|
@@ -5,6 +5,24 @@ You are a full pipeline orchestrator. This command receives a user's wish and au
|
|
|
5
5
|
<critical>The ONLY pause moments are the 3 gates defined below. Between gates, execute everything automatically without asking for confirmation.</critical>
|
|
6
6
|
<critical>Each step MUST follow the complete instructions from the corresponding command in `.dw/commands/`. Read and execute the full command, not a summarized version.</critical>
|
|
7
7
|
|
|
8
|
+
<critical>FORMAL EXECUTION IS MANDATORY — READ BEFORE STARTING:
|
|
9
|
+
A step that invokes a `/dw-xxx` command is ONLY considered complete when the artifacts produced by that command exist on disk. Manual validations (running tests, opening Playwright ad-hoc, eyeballing the code, writing a short qa-report by hand) DO NOT replace formal execution of the command.
|
|
10
|
+
- BEFORE each step: announce to the user `→ Invoking /dw-[name] — executing full instructions`.
|
|
11
|
+
- DURING: follow the instructions in `.dw/commands/[name].md` in full, without summarizing or substituting.
|
|
12
|
+
- AFTER: run `ls` on the artifact paths listed in that step and confirm they exist before updating `autopilot-state.json`. If any artifact is missing, the step did NOT run — re-execute the command formally.</critical>
|
|
13
|
+
|
|
14
|
+
<critical>FORBIDDEN RATIONALIZATIONS — if you think any of these, STOP and execute the command formally:
|
|
15
|
+
| Thought | Reality |
|
|
16
|
+
|---------|---------|
|
|
17
|
+
| "I already ran the tests manually" | The command produces structured artifacts. Run the command. |
|
|
18
|
+
| "I validated via ad-hoc Playwright" | `/dw-run-qa` requires RF matrix, bugs.md, screenshots, scripts, logs, checklist. Run the command. |
|
|
19
|
+
| "The implementation is obviously correct" | `/dw-review-implementation` requires a compliance matrix per RF/endpoint/task. Run the command. |
|
|
20
|
+
| "A strong manual validation is enough" | NO. Technical equivalence DOES NOT replace formal execution. |
|
|
21
|
+
| "I already checked build and lint, that's enough" | Build/lint DO NOT replace review nor QA. Run the commands. |
|
|
22
|
+
| "I wrote a summarized qa-report.md by hand" | A loose file IS NOT execution of `/dw-run-qa`. The full `QA/` tree is mandatory. |
|
|
23
|
+
| "The autopilot already advanced, I don't need to go back" | If the artifact doesn't exist, the step didn't run. Go back and execute. |
|
|
24
|
+
| "I fixed bugs along the way, so QA is already ok" | Fixing bugs does not replace running formal QA. Run `/dw-run-qa`. |</critical>
|
|
25
|
+
|
|
8
26
|
## When to Use
|
|
9
27
|
- Use when you want to go from an idea to a PR with minimal manual intervention
|
|
10
28
|
- Use for complete features that go through the entire pipeline (research, planning, execution, quality)
|
|
@@ -143,12 +161,27 @@ Run `/dw-review-implementation` to verify PRD compliance (Level 2).
|
|
|
143
161
|
- Maximum 3 correction cycles
|
|
144
162
|
- Do NOT advance to QA until the review passes
|
|
145
163
|
|
|
164
|
+
<critical>Required artifacts for this step (verify BEFORE marking complete):
|
|
165
|
+
- Formatted output with compliance matrix shown to the user in the session
|
|
166
|
+
- Explicit verdict (PASS / GAP / FAIL) for EACH RF in the PRD, EACH endpoint in the TechSpec, and EACH task
|
|
167
|
+
- If gaps: correction commits before re-running the review
|
|
168
|
+
A short text review, a "looks good", or a conclusion "implementation is correct" WITHOUT the structured RF-by-RF matrix DOES NOT count. A mental or eyeball review DOES NOT count. If the matrix didn't appear in the output, the command didn't run — re-execute.</critical>
|
|
169
|
+
|
|
146
170
|
### Step 10: Visual QA
|
|
147
171
|
|
|
148
172
|
Run `/dw-run-qa` with Playwright MCP.
|
|
149
173
|
- Test happy paths, edge cases, negative flows, accessibility
|
|
150
174
|
- Document bugs with screenshots
|
|
151
175
|
|
|
176
|
+
<critical>Required artifacts for this step (run `ls` on EACH path BEFORE marking complete):
|
|
177
|
+
- `{{PRD_PATH}}/QA/qa-report.md` — exists and contains a per-RF section with PASS/FAIL
|
|
178
|
+
- `{{PRD_PATH}}/QA/bugs.md` — exists (may be empty if no bugs, but the file must exist)
|
|
179
|
+
- `{{PRD_PATH}}/QA/checklist.md` — exists and fully covered
|
|
180
|
+
- `{{PRD_PATH}}/QA/screenshots/` — directory exists and contains at least 1 PNG per RF tested (format `RF-XX-[slug]-PASS.png` or `-FAIL.png`)
|
|
181
|
+
- `{{PRD_PATH}}/QA/scripts/` — directory exists and contains Playwright `.spec.ts`/`.spec.js` scripts per RF
|
|
182
|
+
- `{{PRD_PATH}}/QA/logs/` — directory exists with captured console/network logs
|
|
183
|
+
Running Playwright ad-hoc, taking a few loose screenshots, or writing a short qa-report.md by hand DOES NOT replace this structure. If any artifact is missing or incomplete, the command did NOT run — invoke `/dw-run-qa` formally and follow its flow to completion.</critical>
|
|
184
|
+
|
|
152
185
|
### Step 11: Fix QA (Conditional)
|
|
153
186
|
|
|
154
187
|
If QA found bugs:
|
|
@@ -168,6 +201,8 @@ Run `/dw-review-implementation` again to confirm QA fixes did not break PRD comp
|
|
|
168
201
|
- If gaps found: fix and re-run
|
|
169
202
|
- Maximum 3 cycles
|
|
170
203
|
|
|
204
|
+
<critical>Required artifacts (same rules as Step 9): explicit RF-by-RF matrix in the output. No matrix = command didn't run = re-execute.</critical>
|
|
205
|
+
|
|
171
206
|
### Step 13: Code Review
|
|
172
207
|
|
|
173
208
|
Run `/dw-code-review` (Level 3) for formal review.
|
|
@@ -175,6 +210,25 @@ Run `/dw-code-review` (Level 3) for formal review.
|
|
|
175
210
|
|
|
176
211
|
### Step 14: Commit
|
|
177
212
|
|
|
213
|
+
<critical>MANDATORY PRE-COMMIT AUDIT — execute BEFORE invoking `/dw-commit`:
|
|
214
|
+
|
|
215
|
+
Run `ls` on each path below and confirm existence. If ANY is missing, DO NOT commit:
|
|
216
|
+
- `{{PRD_PATH}}/QA/qa-report.md`
|
|
217
|
+
- `{{PRD_PATH}}/QA/bugs.md`
|
|
218
|
+
- `{{PRD_PATH}}/QA/checklist.md`
|
|
219
|
+
- `{{PRD_PATH}}/QA/screenshots/` (non-empty)
|
|
220
|
+
- `{{PRD_PATH}}/QA/scripts/` (non-empty with `.spec.*` files)
|
|
221
|
+
- `{{PRD_PATH}}/QA/logs/`
|
|
222
|
+
- Evidence of the last `/dw-review-implementation` run with RF-by-RF matrix (session output or reference in `autopilot-state.json`)
|
|
223
|
+
|
|
224
|
+
Also verify `autopilot-state.json`:
|
|
225
|
+
- Every step 1 through 13 that is NOT in `skipped_steps` must be in `completed_steps`
|
|
226
|
+
- Each completed step must have its artifacts listed in `step_artifacts`
|
|
227
|
+
|
|
228
|
+
If any artifact or step is missing: STOP immediately. Report to the user: `Step N did not produce artifact X — re-running /dw-[command]`. Re-execute the command. Verify again. Only then proceed to `/dw-commit`.
|
|
229
|
+
|
|
230
|
+
DO NOT make a partial commit. DO NOT justify the absence with manual validation. DO NOT mark a step as complete without the formal artifact.</critical>
|
|
231
|
+
|
|
178
232
|
Run `/dw-commit` automatically.
|
|
179
233
|
- Semantic commits following Conventional Commits
|
|
180
234
|
- Do NOT wait for approval
|
|
@@ -213,13 +267,26 @@ Save the file `.dw/spec/prd-[name]/autopilot-state.json` with the following form
|
|
|
213
267
|
"completed_steps": [1, 2, 3, 4, 5, 6, 7],
|
|
214
268
|
"skipped_steps": [2],
|
|
215
269
|
"gates_passed": ["prd", "tasks"],
|
|
270
|
+
"step_artifacts": {
|
|
271
|
+
"9": ["review-matrix-shown-in-session"],
|
|
272
|
+
"10": [
|
|
273
|
+
".dw/spec/prd-[name]/QA/qa-report.md",
|
|
274
|
+
".dw/spec/prd-[name]/QA/bugs.md",
|
|
275
|
+
".dw/spec/prd-[name]/QA/checklist.md",
|
|
276
|
+
".dw/spec/prd-[name]/QA/screenshots/",
|
|
277
|
+
".dw/spec/prd-[name]/QA/scripts/",
|
|
278
|
+
".dw/spec/prd-[name]/QA/logs/"
|
|
279
|
+
],
|
|
280
|
+
"12": ["review-matrix-post-qa-shown-in-session"]
|
|
281
|
+
},
|
|
216
282
|
"started_at": "2026-04-10T14:30:00Z",
|
|
217
283
|
"last_updated": "2026-04-10T15:45:00Z"
|
|
218
284
|
}
|
|
219
285
|
```
|
|
220
286
|
|
|
221
|
-
- Update `current_step` and `
|
|
222
|
-
-
|
|
287
|
+
- Update `current_step`, `completed_steps`, and `step_artifacts` BEFORE moving to the next step
|
|
288
|
+
- A step ONLY moves to `completed_steps` after verifying its artifacts exist on disk
|
|
289
|
+
- If the session drops, `/dw-resume` will read this file and continue from the correct step — and revalidate artifacts before trusting `completed_steps`
|
|
223
290
|
- When the pipeline finishes (after commit or PR), remove the file or mark `"status": "completed"`
|
|
224
291
|
|
|
225
292
|
<critical>After EACH completed step, display the updated progress block to the user. This is MANDATORY — the user MUST see what was done and what comes next. If a step was skipped, the reason MUST appear in the progress block.</critical>
|
|
@@ -146,6 +146,7 @@ This workspace uses an AI command system that automates the full development cyc
|
|
|
146
146
|
| `/dw-task-summary` | Shows details of a task without executing | Number + path | Task summary |
|
|
147
147
|
| `/dw-archive-prd` | Moves completed PRD to `.dw/archived/prd/` | PRD path | Archived PRD |
|
|
148
148
|
| `/dw-help` | This command guide | (optional) command | This document |
|
|
149
|
+
| `/dw-update` | Updates dev-workflow to the latest version on npm without leaving the agent | (none) | Updated managed files |
|
|
149
150
|
|
|
150
151
|
## Review Architecture (3 Levels)
|
|
151
152
|
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<system_instructions>
|
|
2
|
+
You are an update utility. When invoked, update dev-workflow to the latest version published on npm without requiring the user to leave the agent.
|
|
3
|
+
|
|
4
|
+
## When to Use
|
|
5
|
+
- Use when the user wants to update `/dw-*` commands, templates, references, scripts, skills, wrappers, and MCPs to the latest version
|
|
6
|
+
- Use when a new release is out and the user wants to apply it without exiting the session
|
|
7
|
+
- Do NOT use to install from scratch in a new project (use `npx dev-workflow init`)
|
|
8
|
+
- Do NOT use to install system dependencies/Playwright/MCPs (use `npx dev-workflow install-deps`)
|
|
9
|
+
|
|
10
|
+
## Pipeline Position
|
|
11
|
+
**Predecessor:** (any) | **Successor:** (any)
|
|
12
|
+
|
|
13
|
+
## Behavior
|
|
14
|
+
|
|
15
|
+
### 1. Record Current Version (Required)
|
|
16
|
+
|
|
17
|
+
Before updating, capture the installed version so you can report the delta:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
node -e "try { console.log(require('@brunosps00/dev-workflow/package.json').version) } catch(e) { console.log('not-cached-locally') }" 2>/dev/null
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 2. Detect Language of Installed Commands (Required)
|
|
24
|
+
|
|
25
|
+
<critical>Do NOT assume the language from this command file. Detect by inspecting the actual files in `.dw/commands/` so a user with a mixed or switched install does not receive an update in the wrong language.</critical>
|
|
26
|
+
|
|
27
|
+
Run at the project root:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
if [ -d .dw/commands ]; then
|
|
31
|
+
PT_COUNT=$(grep -l "## Quando Usar" .dw/commands/*.md 2>/dev/null | wc -l)
|
|
32
|
+
EN_COUNT=$(grep -l "## When to Use" .dw/commands/*.md 2>/dev/null | wc -l)
|
|
33
|
+
if [ "$PT_COUNT" -gt "$EN_COUNT" ]; then
|
|
34
|
+
DETECTED_LANG=pt-br
|
|
35
|
+
elif [ "$EN_COUNT" -gt "$PT_COUNT" ]; then
|
|
36
|
+
DETECTED_LANG=en
|
|
37
|
+
else
|
|
38
|
+
DETECTED_LANG=""
|
|
39
|
+
fi
|
|
40
|
+
echo "pt:$PT_COUNT en:$EN_COUNT -> $DETECTED_LANG"
|
|
41
|
+
else
|
|
42
|
+
DETECTED_LANG=""
|
|
43
|
+
echo ".dw/commands does not exist"
|
|
44
|
+
fi
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Rules:
|
|
48
|
+
- If `DETECTED_LANG` is `pt-br` or `en`: use it in the next step
|
|
49
|
+
- If empty (tie, missing folder, new install): ask the user `I detected [describe context]. Proceed with pt-br or en?` and wait for the response before continuing
|
|
50
|
+
|
|
51
|
+
### 3. Run the Update (Required)
|
|
52
|
+
|
|
53
|
+
<critical>Use `npx -y @brunosps00/dev-workflow@latest` to FORCE fetching the latest version from npm (bypass local cache). Pass `--lang=<DETECTED_LANG>` to skip the interactive prompt.</critical>
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx -y @brunosps00/dev-workflow@latest update --lang=$DETECTED_LANG
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The `update` command overwrites managed files and PRESERVES:
|
|
60
|
+
- `.dw/rules/` (user rules)
|
|
61
|
+
- `.dw/spec/` (in-progress PRDs and tasks)
|
|
62
|
+
- `.planning/` (user data)
|
|
63
|
+
|
|
64
|
+
If the update fails (network error, permission, package unavailable): report the error to the user and STOP. Do NOT attempt manual workarounds like copying files by hand.
|
|
65
|
+
|
|
66
|
+
### 4. Capture New Version
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node -e "console.log(require('@brunosps00/dev-workflow/package.json').version)" 2>/dev/null
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 5. Report Result
|
|
73
|
+
|
|
74
|
+
Present to the user:
|
|
75
|
+
- Detected language (`DETECTED_LANG`)
|
|
76
|
+
- Previous version → new version
|
|
77
|
+
- Summary of what the `update` output showed (files copied, wrappers generated, MCPs configured)
|
|
78
|
+
- Any warnings or errors
|
|
79
|
+
|
|
80
|
+
### 6. Suggest Next Step
|
|
81
|
+
|
|
82
|
+
If commands/skills were updated, remind the user:
|
|
83
|
+
- Restart the agent session (or reload skills) so the new instructions take effect — skills are usually loaded at session start
|
|
84
|
+
- Run `/dw-help` after the reload to see the updated command set
|
|
85
|
+
- If the release changed system dependencies (Playwright, MCPs), run `npx dev-workflow install-deps` separately
|
|
86
|
+
|
|
87
|
+
## Advanced Options
|
|
88
|
+
|
|
89
|
+
If the user asks for a specific version (not `@latest`):
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npx -y @brunosps00/dev-workflow@<version> update --lang=$DETECTED_LANG
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
E.g.: `npx -y @brunosps00/dev-workflow@0.4.5 update --lang=en`
|
|
96
|
+
|
|
97
|
+
## Notes
|
|
98
|
+
|
|
99
|
+
- `npx -y` skips the "OK to install" prompt when the package is not cached
|
|
100
|
+
- `@latest` bypasses the npx cache and pulls the `latest` tag from the registry
|
|
101
|
+
- `--lang=...` skips the interactive language prompt; the value comes from the auto-detection in step 2
|
|
102
|
+
- This command does NOT update the user project's Node dependencies — only the dev-workflow scaffold
|
|
103
|
+
|
|
104
|
+
</system_instructions>
|
|
@@ -5,6 +5,24 @@ Voce e um orquestrador de pipeline completo. Este comando recebe um desejo do us
|
|
|
5
5
|
<critical>Os UNICOS momentos de pausa sao os 3 gates definidos abaixo. Entre os gates, execute tudo automaticamente sem pedir confirmacao.</critical>
|
|
6
6
|
<critical>Cada etapa DEVE seguir as instrucoes completas do comando correspondente em `.dw/commands/`. Leia e execute o comando inteiro, nao uma versao resumida.</critical>
|
|
7
7
|
|
|
8
|
+
<critical>EXECUCAO FORMAL OBRIGATORIA — LEIA ANTES DE COMECAR:
|
|
9
|
+
Uma etapa que invoca um comando `/dw-xxx` SO e considerada completa quando os artefatos produzidos pelo comando existem no disco. Validacoes manuais (rodar testes, abrir o Playwright, revisar o codigo a olho, gerar um qa-report curto a mao) NAO substituem a execucao formal do comando.
|
|
10
|
+
- ANTES de cada etapa: anuncie ao usuario `→ Invocando /dw-[nome] — executando instrucoes completas`.
|
|
11
|
+
- DURANTE: siga as instrucoes do arquivo `.dw/commands/[nome].md` integralmente, sem resumir nem substituir.
|
|
12
|
+
- DEPOIS: rode `ls` nos caminhos de artefato listados na propria etapa e confirme existencia antes de atualizar `autopilot-state.json`. Se faltar qualquer artefato, a etapa NAO rodou — re-execute o comando formalmente.</critical>
|
|
13
|
+
|
|
14
|
+
<critical>RACIOCINIOS PROIBIDOS — se voce pensar qualquer uma destas frases, PARE e execute o comando formalmente:
|
|
15
|
+
| Pensamento | Realidade |
|
|
16
|
+
|------------|-----------|
|
|
17
|
+
| "Ja rodei os testes manualmente" | O comando produz artefatos estruturados. Rode o comando. |
|
|
18
|
+
| "Validei via Playwright ad-hoc" | `/dw-run-qa` exige matriz por RF, bugs.md, screenshots, scripts, logs, checklist. Rode o comando. |
|
|
19
|
+
| "A implementacao esta obviamente correta" | `/dw-review-implementation` exige matriz de compliance por RF/endpoint/task. Rode o comando. |
|
|
20
|
+
| "Validacao manual forte ja basta" | NAO. Equivalencia tecnica NAO substitui a execucao formal. |
|
|
21
|
+
| "Ja conferi build e lint, e suficiente" | Build/lint NAO substituem review nem QA. Rode os comandos. |
|
|
22
|
+
| "Gerei um qa-report.md resumido a mao" | Um arquivo solto NAO e execucao de `/dw-run-qa`. A arvore `QA/` completa e obrigatoria. |
|
|
23
|
+
| "O autopilot ja avancou, nao preciso voltar" | Se o artefato nao existe, a etapa nao rodou. Volte e execute. |
|
|
24
|
+
| "Corrigi bugs no caminho, entao o QA ja esta ok" | Corrigir bugs nao substitui rodar o QA formal. Rode `/dw-run-qa`. |</critical>
|
|
25
|
+
|
|
8
26
|
## Quando Usar
|
|
9
27
|
- Use quando quiser ir de uma ideia ate um PR com minima intervencao manual
|
|
10
28
|
- Use para features completas que passam por todo o pipeline (pesquisa, planejamento, execucao, qualidade)
|
|
@@ -143,12 +161,27 @@ Execute `/dw-review-implementation` para verificar PRD compliance (Level 2).
|
|
|
143
161
|
- Maximo 3 ciclos de correcao
|
|
144
162
|
- NAO avance para QA ate que o review passe
|
|
145
163
|
|
|
164
|
+
<critical>Artefatos obrigatorios desta etapa (verifique ANTES de marcar como completa):
|
|
165
|
+
- Output formatado com matriz de compliance exibido ao usuario na propria sessao
|
|
166
|
+
- Veredicto explicito (PASS / GAP / FAIL) para CADA RF do PRD, CADA endpoint da TechSpec e CADA task
|
|
167
|
+
- Se houver gaps: commits de correcao antes de re-executar o review
|
|
168
|
+
Um review textual curto, um "parece ok" ou conclusao "implementacao correta" SEM a matriz estruturada RF-by-RF NAO conta. Uma revisao mental ou a olho NAO conta. Se a matriz nao apareceu no output, o comando nao rodou — re-execute.</critical>
|
|
169
|
+
|
|
146
170
|
### Etapa 10: QA Visual
|
|
147
171
|
|
|
148
172
|
Execute `/dw-run-qa` com Playwright MCP.
|
|
149
173
|
- Teste happy paths, edge cases, fluxos negativos, acessibilidade
|
|
150
174
|
- Documente bugs com screenshots
|
|
151
175
|
|
|
176
|
+
<critical>Artefatos obrigatorios desta etapa (rode `ls` em CADA caminho ANTES de marcar como completa):
|
|
177
|
+
- `{{PRD_PATH}}/QA/qa-report.md` — existe e contem secao por RF com PASS/FAIL
|
|
178
|
+
- `{{PRD_PATH}}/QA/bugs.md` — existe (pode ser vazio se sem bugs, mas o arquivo deve existir)
|
|
179
|
+
- `{{PRD_PATH}}/QA/checklist.md` — existe e esta coberto integralmente
|
|
180
|
+
- `{{PRD_PATH}}/QA/screenshots/` — diretorio existe e contem pelo menos 1 PNG por RF testado (formato `RF-XX-[slug]-PASS.png` ou `-FAIL.png`)
|
|
181
|
+
- `{{PRD_PATH}}/QA/scripts/` — diretorio existe e contem scripts Playwright `.spec.ts`/`.spec.js` por RF
|
|
182
|
+
- `{{PRD_PATH}}/QA/logs/` — diretorio existe com logs de console/rede capturados
|
|
183
|
+
Rodar Playwright ad-hoc, tirar algumas screenshots soltas ou escrever um qa-report.md curto a mao NAO substitui esta estrutura. Se qualquer artefato estiver ausente ou incompleto, o comando NAO rodou — invoque `/dw-run-qa` formalmente e siga o fluxo dele ate o fim.</critical>
|
|
184
|
+
|
|
152
185
|
### Etapa 11: Fix QA (Condicional)
|
|
153
186
|
|
|
154
187
|
Se o QA encontrou bugs:
|
|
@@ -168,6 +201,8 @@ Execute `/dw-review-implementation` novamente para confirmar que as correcoes do
|
|
|
168
201
|
- Se encontrar gaps: corrija e re-execute
|
|
169
202
|
- Maximo 3 ciclos
|
|
170
203
|
|
|
204
|
+
<critical>Artefatos obrigatorios (mesmas regras da Etapa 9): matriz RF-by-RF explicita no output. Sem matriz = comando nao rodou = re-execute.</critical>
|
|
205
|
+
|
|
171
206
|
### Etapa 13: Code Review
|
|
172
207
|
|
|
173
208
|
Execute `/dw-code-review` (Level 3) para review formal.
|
|
@@ -175,6 +210,25 @@ Execute `/dw-code-review` (Level 3) para review formal.
|
|
|
175
210
|
|
|
176
211
|
### Etapa 14: Commit
|
|
177
212
|
|
|
213
|
+
<critical>AUDITORIA PRE-COMMIT OBRIGATORIA — execute ANTES de invocar `/dw-commit`:
|
|
214
|
+
|
|
215
|
+
Rode `ls` em cada caminho abaixo e confirme existencia. Se QUALQUER um faltar, NAO faca commit:
|
|
216
|
+
- `{{PRD_PATH}}/QA/qa-report.md`
|
|
217
|
+
- `{{PRD_PATH}}/QA/bugs.md`
|
|
218
|
+
- `{{PRD_PATH}}/QA/checklist.md`
|
|
219
|
+
- `{{PRD_PATH}}/QA/screenshots/` (nao vazio)
|
|
220
|
+
- `{{PRD_PATH}}/QA/scripts/` (nao vazio com arquivos `.spec.*`)
|
|
221
|
+
- `{{PRD_PATH}}/QA/logs/`
|
|
222
|
+
- Evidencia do ultimo `/dw-review-implementation` com matriz RF-by-RF (output da sessao ou referencia em `autopilot-state.json`)
|
|
223
|
+
|
|
224
|
+
Verifique tambem `autopilot-state.json`:
|
|
225
|
+
- Toda etapa de 1 a 13 que NAO esta em `skipped_steps` deve estar em `completed_steps`
|
|
226
|
+
- Cada etapa completada deve ter seus artefatos listados em `step_artifacts`
|
|
227
|
+
|
|
228
|
+
Se faltar qualquer artefato ou etapa: PARE imediatamente. Reporte ao usuario: `Etapa N nao produziu artefato X — re-executando /dw-[comando]`. Re-execute o comando. Verifique novamente. Soh entao prossiga para `/dw-commit`.
|
|
229
|
+
|
|
230
|
+
NAO faca commit parcial. NAO justifique a falta com validacao manual. NAO marque etapa como completa sem o artefato formal.</critical>
|
|
231
|
+
|
|
178
232
|
Execute `/dw-commit` automaticamente.
|
|
179
233
|
- Commits semanticos seguindo Conventional Commits
|
|
180
234
|
- NAO aguarde aprovacao
|
|
@@ -213,13 +267,26 @@ Salve o arquivo `.dw/spec/prd-[nome]/autopilot-state.json` com o seguinte format
|
|
|
213
267
|
"completed_steps": [1, 2, 3, 4, 5, 6, 7],
|
|
214
268
|
"skipped_steps": [2],
|
|
215
269
|
"gates_passed": ["prd", "tasks"],
|
|
270
|
+
"step_artifacts": {
|
|
271
|
+
"9": ["review-matrix-shown-in-session"],
|
|
272
|
+
"10": [
|
|
273
|
+
".dw/spec/prd-[nome]/QA/qa-report.md",
|
|
274
|
+
".dw/spec/prd-[nome]/QA/bugs.md",
|
|
275
|
+
".dw/spec/prd-[nome]/QA/checklist.md",
|
|
276
|
+
".dw/spec/prd-[nome]/QA/screenshots/",
|
|
277
|
+
".dw/spec/prd-[nome]/QA/scripts/",
|
|
278
|
+
".dw/spec/prd-[nome]/QA/logs/"
|
|
279
|
+
],
|
|
280
|
+
"12": ["review-matrix-post-qa-shown-in-session"]
|
|
281
|
+
},
|
|
216
282
|
"started_at": "2026-04-10T14:30:00Z",
|
|
217
283
|
"last_updated": "2026-04-10T15:45:00Z"
|
|
218
284
|
}
|
|
219
285
|
```
|
|
220
286
|
|
|
221
|
-
- Atualize `current_step` e `
|
|
222
|
-
-
|
|
287
|
+
- Atualize `current_step`, `completed_steps` e `step_artifacts` ANTES de iniciar a proxima etapa
|
|
288
|
+
- Uma etapa SO vai para `completed_steps` apos verificar que seus artefatos existem no disco
|
|
289
|
+
- Se a sessao cair, o `/dw-resume` lera este arquivo e continuara da etapa correta — e revalidara os artefatos antes de confiar em `completed_steps`
|
|
223
290
|
- Ao finalizar o pipeline (apos commit ou PR), remova o arquivo ou marque `"status": "completed"`
|
|
224
291
|
|
|
225
292
|
<critical>Apos CADA etapa completada, exiba o bloco de progresso atualizado ao usuario. Isso e OBRIGATORIO — o usuario DEVE ver o que foi feito e o que vem a seguir. Se uma etapa foi pulada, o motivo DEVE aparecer no bloco de progresso.</critical>
|
|
@@ -129,6 +129,7 @@ Este workspace utiliza um sistema de comandos AI que automatiza o ciclo completo
|
|
|
129
129
|
| Comando | O que faz | Input | Output |
|
|
130
130
|
|---------|-----------|-------|--------|
|
|
131
131
|
| `/dw-help` | Este guia de comandos | (opcional) comando | Este documento |
|
|
132
|
+
| `/dw-update` | Atualiza o dev-workflow para a versão mais recente no npm sem sair do agente | (nenhum) | Arquivos gerenciados atualizados |
|
|
132
133
|
|
|
133
134
|
## Fluxos Comuns
|
|
134
135
|
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<system_instructions>
|
|
2
|
+
Você é um utilitário de atualização. Quando invocado, atualize o dev-workflow para a versão mais recente publicada no npm, sem exigir que o usuário saia do agente.
|
|
3
|
+
|
|
4
|
+
## Quando Usar
|
|
5
|
+
- Use quando o usuário quiser atualizar comandos `/dw-*`, templates, references, scripts, skills, wrappers e MCPs para a versão mais recente
|
|
6
|
+
- Use quando uma nova versão foi lançada e o usuário quer aplicar sem sair da sessão
|
|
7
|
+
- NÃO use para instalar do zero em um projeto novo (use `npx dev-workflow init`)
|
|
8
|
+
- NÃO use para instalar dependências de sistema/Playwright/MCPs (use `npx dev-workflow install-deps`)
|
|
9
|
+
|
|
10
|
+
## Posição no Pipeline
|
|
11
|
+
**Antecessor:** (qualquer) | **Sucessor:** (qualquer)
|
|
12
|
+
|
|
13
|
+
## Comportamento
|
|
14
|
+
|
|
15
|
+
### 1. Registrar Versão Atual (Obrigatório)
|
|
16
|
+
|
|
17
|
+
Antes de atualizar, capture a versão instalada para poder reportar o delta:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
node -e "try { console.log(require('@brunosps00/dev-workflow/package.json').version) } catch(e) { console.log('not-cached-locally') }" 2>/dev/null
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 2. Detectar Idioma dos Comandos Instalados (Obrigatório)
|
|
24
|
+
|
|
25
|
+
<critical>Não assuma o idioma a partir do arquivo deste comando. Detecte analisando os arquivos reais em `.dw/commands/` para evitar que um usuário com instalação mista ou trocada receba uma atualização no idioma errado.</critical>
|
|
26
|
+
|
|
27
|
+
Rode no diretório raiz do projeto:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
if [ -d .dw/commands ]; then
|
|
31
|
+
PT_COUNT=$(grep -l "## Quando Usar" .dw/commands/*.md 2>/dev/null | wc -l)
|
|
32
|
+
EN_COUNT=$(grep -l "## When to Use" .dw/commands/*.md 2>/dev/null | wc -l)
|
|
33
|
+
if [ "$PT_COUNT" -gt "$EN_COUNT" ]; then
|
|
34
|
+
DETECTED_LANG=pt-br
|
|
35
|
+
elif [ "$EN_COUNT" -gt "$PT_COUNT" ]; then
|
|
36
|
+
DETECTED_LANG=en
|
|
37
|
+
else
|
|
38
|
+
DETECTED_LANG=""
|
|
39
|
+
fi
|
|
40
|
+
echo "pt:$PT_COUNT en:$EN_COUNT -> $DETECTED_LANG"
|
|
41
|
+
else
|
|
42
|
+
DETECTED_LANG=""
|
|
43
|
+
echo ".dw/commands não existe"
|
|
44
|
+
fi
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Regras:
|
|
48
|
+
- Se `DETECTED_LANG` vier `pt-br` ou `en`: use-o na próxima etapa
|
|
49
|
+
- Se vier vazio (empate, pasta ausente, instalação nova): pergunte ao usuário `Detectei [descrever contexto]. Prosseguir com pt-br ou en?` e aguarde resposta antes de continuar
|
|
50
|
+
|
|
51
|
+
### 3. Executar o Update (Obrigatório)
|
|
52
|
+
|
|
53
|
+
<critical>Use `npx -y @brunosps00/dev-workflow@latest` para FORÇAR a busca da versão mais recente no npm (ignora cache local). Passe `--lang=<DETECTED_LANG>` para evitar prompt interativo.</critical>
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx -y @brunosps00/dev-workflow@latest update --lang=$DETECTED_LANG
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
O comando `update` sobrescreve arquivos gerenciados e PRESERVA:
|
|
60
|
+
- `.dw/rules/` (rules do usuário)
|
|
61
|
+
- `.dw/spec/` (PRDs e tasks em andamento)
|
|
62
|
+
- `.planning/` (dados do usuário)
|
|
63
|
+
|
|
64
|
+
Se o update falhar (erro de rede, permissão, pacote indisponível): reporte o erro ao usuário e PARE. NÃO tente workarounds manuais como copiar arquivos.
|
|
65
|
+
|
|
66
|
+
### 4. Capturar Nova Versão
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node -e "console.log(require('@brunosps00/dev-workflow/package.json').version)" 2>/dev/null
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 5. Reportar Resultado
|
|
73
|
+
|
|
74
|
+
Apresente ao usuário:
|
|
75
|
+
- Idioma detectado (`DETECTED_LANG`)
|
|
76
|
+
- Versão anterior → nova versão
|
|
77
|
+
- Resumo do que o output do `update` mostrou (arquivos copiados, wrappers gerados, MCPs configurados)
|
|
78
|
+
- Quaisquer avisos ou erros
|
|
79
|
+
|
|
80
|
+
### 6. Sugerir Próximo Passo
|
|
81
|
+
|
|
82
|
+
Se comandos/skills foram atualizados, lembre o usuário:
|
|
83
|
+
- Reinicie a sessão do agente (ou recarregue skills) para que as instruções novas tenham efeito — skills costumam ser carregadas no início da sessão
|
|
84
|
+
- Rode `/dw-help` após o reload para ver o conjunto atualizado de comandos
|
|
85
|
+
- Se o release mudou dependências de sistema (Playwright, MCPs), rode `npx dev-workflow install-deps` separadamente
|
|
86
|
+
|
|
87
|
+
## Opções Avançadas
|
|
88
|
+
|
|
89
|
+
Se o usuário pedir uma versão específica (não `@latest`):
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npx -y @brunosps00/dev-workflow@<versao> update --lang=$DETECTED_LANG
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Ex.: `npx -y @brunosps00/dev-workflow@0.4.5 update --lang=pt-br`
|
|
96
|
+
|
|
97
|
+
## Observações
|
|
98
|
+
|
|
99
|
+
- `npx -y` evita o prompt "OK to install" quando o pacote não está em cache
|
|
100
|
+
- `@latest` ignora o cache do npx e busca a tag `latest` do registry
|
|
101
|
+
- `--lang=...` evita o prompt interativo de idioma; o valor vem da detecção automática na etapa 2
|
|
102
|
+
- Este comando NÃO atualiza dependências Node do projeto do usuário, apenas o scaffold do dev-workflow
|
|
103
|
+
|
|
104
|
+
</system_instructions>
|