@brunosps00/dev-workflow 2.0.0 → 2.1.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/.claude-plugin/marketplace.json +1 -0
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +104 -0
- package/README.md +6 -4
- package/lib/build-plugin.js +4 -1
- package/lib/constants.js +4 -2
- package/lib/validate.js +21 -0
- package/package.json +1 -1
- package/scaffold/en/commands/dw-brainstorm.md +12 -8
- package/scaffold/en/commands/dw-bugfix.md +4 -2
- package/scaffold/en/commands/dw-plan.md +2 -2
- package/scaffold/en/commands/dw-refactor.md +1 -0
- package/scaffold/en/commands/dw-review.md +33 -2
- package/scaffold/en/commands/dw-run.md +1 -0
- package/scaffold/en/commands/dw-triage.md +220 -0
- package/scaffold/en/templates/idea-onepager.md +28 -0
- package/scaffold/en/templates/task-template.md +1 -0
- package/scaffold/en/templates/tasks-template.md +9 -8
- package/scaffold/en/templates/triage-needs-info-template.md +23 -0
- package/scaffold/en/templates/triage-out-of-scope-template.md +36 -0
- package/scaffold/en/templates/triage-record-template.md +88 -0
- package/scaffold/pt-br/commands/dw-autopilot.md +81 -81
- package/scaffold/pt-br/commands/dw-brainstorm.md +12 -9
- package/scaffold/pt-br/commands/dw-bugfix.md +4 -2
- package/scaffold/pt-br/commands/dw-claude-run.md +19 -19
- package/scaffold/pt-br/commands/dw-codex-run.md +19 -19
- package/scaffold/pt-br/commands/dw-context-budget.md +10 -10
- package/scaffold/pt-br/commands/dw-copilot-run.md +20 -20
- package/scaffold/pt-br/commands/dw-dockerize.md +102 -102
- package/scaffold/pt-br/commands/dw-find-skills.md +52 -52
- package/scaffold/pt-br/commands/dw-goal.md +41 -41
- package/scaffold/pt-br/commands/dw-harness-audit.md +11 -11
- package/scaffold/pt-br/commands/dw-intel.md +70 -70
- package/scaffold/pt-br/commands/dw-learn.md +24 -24
- package/scaffold/pt-br/commands/dw-new-project.md +88 -88
- package/scaffold/pt-br/commands/dw-open-design.md +53 -53
- package/scaffold/pt-br/commands/dw-opportunities.md +45 -45
- package/scaffold/pt-br/commands/dw-pause.md +39 -39
- package/scaffold/pt-br/commands/dw-plan.md +2 -2
- package/scaffold/pt-br/commands/dw-refactor.md +31 -30
- package/scaffold/pt-br/commands/dw-resume.md +22 -22
- package/scaffold/pt-br/commands/dw-review.md +33 -2
- package/scaffold/pt-br/commands/dw-run.md +1 -0
- package/scaffold/pt-br/commands/dw-skill-health.md +10 -10
- package/scaffold/pt-br/commands/dw-subtask-complete.md +4 -4
- package/scaffold/pt-br/commands/dw-subtask-start.md +4 -4
- package/scaffold/pt-br/commands/dw-triage.md +220 -0
- package/scaffold/pt-br/templates/bugfix-summary-template.md +20 -20
- package/scaffold/pt-br/templates/concerns-template.md +20 -20
- package/scaffold/pt-br/templates/idea-onepager.md +28 -0
- package/scaffold/pt-br/templates/project-onepager.md +32 -32
- package/scaffold/pt-br/templates/state-template.md +13 -13
- package/scaffold/pt-br/templates/task-template.md +1 -0
- package/scaffold/pt-br/templates/tasks-template.md +9 -8
- package/scaffold/pt-br/templates/triage-needs-info-template.md +23 -0
- package/scaffold/pt-br/templates/triage-out-of-scope-template.md +36 -0
- package/scaffold/pt-br/templates/triage-record-template.md +88 -0
- package/scaffold/scripts/hooks/git-guardrails.mjs +41 -24
- package/scaffold/skills/dw-debug-protocol/SKILL.md +2 -0
- package/scaffold/skills/dw-debug-protocol/references/six-step-triage.md +60 -1
- package/scaffold/skills/dw-execute-phase/references/wave-coordination.md +14 -14
- package/scaffold/skills/dw-grilling/SKILL.md +17 -7
- package/scaffold/skills/dw-grilling/references/decision-tree.md +30 -7
- package/scaffold/skills/dw-simplification/references/deep-modules.md +50 -0
- package/scaffold/skills/dw-testing-discipline/SKILL.md +3 -1
- package/scaffold/skills/dw-testing-discipline/references/tdd-loop.md +83 -0
|
@@ -1,108 +1,108 @@
|
|
|
1
1
|
<system_instructions>
|
|
2
|
-
|
|
2
|
+
Você é o assistente de inteligência do codebase. Dois modos: consultar o índice existente, ou (re)construir o índice a partir do source.
|
|
3
3
|
|
|
4
|
-
<critical>Modo query e somente leitura.
|
|
4
|
+
<critical>Modo query e somente leitura. NÃO modifique código ou arquivos do projeto.</critical>
|
|
5
5
|
<critical>Modo build escreve em `.dw/intel/` apenas — nunca no source.</critical>
|
|
6
|
-
<critical>Em modo query, sempre cite as fontes (caminho do arquivo,
|
|
7
|
-
<critical>Se o
|
|
6
|
+
<critical>Em modo query, sempre cite as fontes (caminho do arquivo, número da linha quando aplicável).</critical>
|
|
7
|
+
<critical>Se o índice está defasado (>7 dias) ou ausente, suba o aviso — NÃO caia em fallback silencioso sem sinalizar.</critical>
|
|
8
8
|
|
|
9
9
|
## Modos
|
|
10
10
|
|
|
11
|
-
|
|
|
11
|
+
| Invocação | Comportamento |
|
|
12
12
|
|-----------|---------------|
|
|
13
|
-
| `/dw-intel "<pergunta>"` | **
|
|
14
|
-
| `/dw-intel --build` | **Modo build.** Scan recursivo do projeto e produz `.dw/intel/{stack,files,apis,deps}.json` + `.dw/intel/arch.md`. Use
|
|
15
|
-
| `/dw-intel --build --incremental` | Build incremental:
|
|
13
|
+
| `/dw-intel "<pergunta>"` | **Padrão — modo query.** Responde usando `.dw/intel/` (machine-readable) + `.dw/rules/` (human-readable) + grep fallback. |
|
|
14
|
+
| `/dw-intel --build` | **Modo build.** Scan recursivo do projeto e produz `.dw/intel/{stack,files,apis,deps}.json` + `.dw/intel/arch.md`. Use após refactors grandes, movimentações de arquivos, ou quando intel >7 dias defasado. |
|
|
15
|
+
| `/dw-intel --build --incremental` | Build incremental: só re-le arquivos modificados desde `.last-refresh.json`. Mais rapido mas pode perder mudancas estruturais grandes. |
|
|
16
16
|
|
|
17
17
|
## Quando Usar
|
|
18
18
|
|
|
19
|
-
- **Modo query**: entender como algo funciona no projeto (fluxo de auth, modelo de dados,
|
|
20
|
-
- **Modo build**:
|
|
21
|
-
-
|
|
19
|
+
- **Modo query**: entender como algo funciona no projeto (fluxo de auth, modelo de dados, superfície de rotas). Encontrar padrões, convenções ou decisões arquiteturais. Verificar se algo já existe antes de implementar.
|
|
20
|
+
- **Modo build**: após refactors grandes, updates massivos de dependências, ou quando `.dw/intel/` está vazio/defasado.
|
|
21
|
+
- NÃO use para implementar mudancas (use `/dw-run`).
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Posição no Pipeline
|
|
24
24
|
|
|
25
|
-
**Antecessor (modo build):** qualquer
|
|
25
|
+
**Antecessor (modo build):** qualquer mudança grande do projeto | **Sucessor:** qualquer comando `dw-*` que precisa do intel
|
|
26
26
|
|
|
27
27
|
## Skills Complementares
|
|
28
28
|
|
|
29
29
|
| Skill | Gatilho |
|
|
30
30
|
|-------|---------|
|
|
31
|
-
| `dw-codebase-intel` | **SEMPRE** quando `.dw/intel/` existir. Leia `references/query-patterns.md` para mapear a query do
|
|
31
|
+
| `dw-codebase-intel` | **SEMPRE** quando `.dw/intel/` existir. Leia `references/query-patterns.md` para mapear a query do usuário para o arquivo certo (stack/files/apis/deps/arch). |
|
|
32
32
|
| `dw-context-budget` | Use quando arquivos de intel ou codemaps ficarem grandes demais para carregamento eficiente. |
|
|
33
33
|
|
|
34
34
|
## Agent Dispatch
|
|
35
35
|
|
|
36
|
-
Quando agentes do projeto estiverem instalados, use `dw-code-explorer` para rastreamento amplo de feature e descoberta focada do codebase. Em build mode, prefira iterative retrieval: busca ampla,
|
|
36
|
+
Quando agentes do projeto estiverem instalados, use `dw-code-explorer` para rastreamento amplo de feature e descoberta focada do codebase. Em build mode, prefira iterative retrieval: busca ampla, avaliação de relevância, busca refinada e depois update de codemap.
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Variáveis de Entrada
|
|
39
39
|
|
|
40
|
-
|
|
|
40
|
+
| Variável | Descrição | Exemplo |
|
|
41
41
|
|----------|-----------|---------|
|
|
42
|
-
| `{{QUERY}}` | Pergunta sobre o codebase | "como funciona a
|
|
42
|
+
| `{{QUERY}}` | Pergunta sobre o codebase | "como funciona a autenticação?" |
|
|
43
43
|
|
|
44
|
-
##
|
|
44
|
+
## Localização dos Arquivos
|
|
45
45
|
|
|
46
46
|
- Intel machine-readable (consulta primeira): `.dw/intel/{stack,files,apis,deps,bugfixes}.json` + `.dw/intel/arch.md`
|
|
47
47
|
- Codemaps token-lean: `.dw/intel/codemaps/{architecture,backend,frontend,data,dependencies}.md`
|
|
48
48
|
- Metadados de refresh: `.dw/intel/.last-refresh.json`
|
|
49
49
|
- Rules human-readable (consulta segunda): `.dw/rules/{index,<modulo>,integrations,concerns}.md`
|
|
50
|
-
- Fonte do
|
|
51
|
-
- Grep direto fallback (consulta por
|
|
50
|
+
- Fonte do histórico de bugfixes: `.dw/bugfixes/*/SUMMARY.md`
|
|
51
|
+
- Grep direto fallback (consulta por último): os arquivos source do projeto
|
|
52
52
|
|
|
53
|
-
## Comportamento
|
|
53
|
+
## Comportamento Obrigatório
|
|
54
54
|
|
|
55
|
-
### 1.
|
|
55
|
+
### 1. Verificação de índice defasado
|
|
56
56
|
|
|
57
57
|
Antes de responder, leia `.dw/intel/.last-refresh.json` se existir:
|
|
58
58
|
|
|
59
|
-
- Se `updated_at`
|
|
59
|
+
- Se `updated_at` é mais de 7 dias atrás → prefixe a resposta com: `⚠ Indice atualizado em YYYY-MM-DD (X dias atras). Considere rodar /dw-intel --build para refresh.`
|
|
60
60
|
- Se `.dw/intel/` existe mas `.last-refresh.json` falta → prefixe com: `⚠ Sem metadado de refresh; o indice pode estar defasado.`
|
|
61
|
-
- Se `.dw/intel/`
|
|
61
|
+
- Se `.dw/intel/` não existe → diga ao usuário: `Sem .dw/intel/. Caindo para .dw/rules/ + grep. Para respostas mais ricas, rode /dw-intel --build.`
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Não recuse responder — devolva a melhor info disponível.
|
|
64
64
|
|
|
65
|
-
### 2.
|
|
65
|
+
### 2. Detecção do shape da query
|
|
66
66
|
|
|
67
67
|
Classifique o `{{QUERY}}` em uma das formas documentadas em `.agents/skills/dw-codebase-intel/references/query-patterns.md`:
|
|
68
68
|
|
|
69
|
-
- **where-is** —
|
|
70
|
-
- **what-uses** —
|
|
71
|
-
- **architecture-of** —
|
|
72
|
-
- **stack** —
|
|
73
|
-
- **dep-info** —
|
|
74
|
-
- **api-list** —
|
|
75
|
-
- **find-export** —
|
|
76
|
-
- **convention** —
|
|
77
|
-
- **bugfix-history** —
|
|
78
|
-
- **risk
|
|
69
|
+
- **where-is** — primário: `files.json`, secundário: `apis.json`
|
|
70
|
+
- **what-uses** — primário: `deps.json` (libs) ou `files.json` (símbolos)
|
|
71
|
+
- **architecture-of** — primário: `arch.md`, secundário: `stack.json`
|
|
72
|
+
- **stack** — primário: `stack.json`
|
|
73
|
+
- **dep-info** — primário: `deps.json`
|
|
74
|
+
- **api-list** — primário: `apis.json`
|
|
75
|
+
- **find-export** — primário: `files.json` (busca em arrays `exports`)
|
|
76
|
+
- **convention** — primário: `arch.md`, secundário: `.dw/rules/`
|
|
77
|
+
- **bugfix-history** — primário: `bugfixes.json`, secundário: `.dw/rules/concerns.md` (gatilhos: "bugs em <módulo>", "fixes recentes", "o que quebrou em X", "histórico de fix de Y")
|
|
78
|
+
- **risk-área** — primário: `.dw/rules/concerns.md`, secundário: `bugfixes.json` (gatilhos: "X eh arriscado", "o que eh frágil", "hot spots", "tech debt")
|
|
79
79
|
|
|
80
|
-
### 3.
|
|
80
|
+
### 3. Execução da busca
|
|
81
81
|
|
|
82
|
-
Leia o arquivo
|
|
82
|
+
Leia o arquivo primário e busque matches (case-insensitive). Ranqueie:
|
|
83
83
|
|
|
84
84
|
1. Match exato de simbolo/path
|
|
85
85
|
2. Match substring nas keys
|
|
86
|
-
3. Match substring nas
|
|
86
|
+
3. Match substring nas descrições
|
|
87
87
|
|
|
88
|
-
Se
|
|
88
|
+
Se primário retorna zero matches, caia para secundário, depois grep.
|
|
89
89
|
|
|
90
90
|
### 4. Cross-reference
|
|
91
91
|
|
|
92
|
-
Para respostas mais ricas, cruze o match
|
|
92
|
+
Para respostas mais ricas, cruze o match primário com intel relacionado:
|
|
93
93
|
|
|
94
|
-
- Um arquivo de `files.json` → pesquise suas
|
|
94
|
+
- Um arquivo de `files.json` → pesquise suas dependências em `deps.json`
|
|
95
95
|
- Uma API de `apis.json` → resolva o handler via `apis.json[entry].file`, depois liste os exports daquele arquivo em `files.json`
|
|
96
96
|
- Uma dep de `deps.json` → liste `used_by` e olhe cada entry em `files.json` para contexto
|
|
97
97
|
|
|
98
98
|
### 5. Sintetize e cite
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
Não despeje JSON. Escreva resposta de 3-8 linhas que:
|
|
101
101
|
|
|
102
102
|
- Aborda a pergunta direto
|
|
103
103
|
- Cita caminhos em backticks
|
|
104
104
|
- Inclui linhas quando conhecidas (leia o arquivo brevemente se preciso)
|
|
105
|
-
- Menciona conceitos relacionados que o
|
|
105
|
+
- Menciona conceitos relacionados que o usuário pode querer seguir
|
|
106
106
|
|
|
107
107
|
## Formato de Resposta
|
|
108
108
|
|
|
@@ -127,32 +127,32 @@ Nao despeje JSON. Escreva resposta de 3-8 linhas que:
|
|
|
127
127
|
|
|
128
128
|
## Heuristicas
|
|
129
129
|
|
|
130
|
-
- **Prefira `.dw/intel/` ao grep.** E curado
|
|
131
|
-
- **Cite caminhos,
|
|
132
|
-
- **
|
|
133
|
-
- **Combine intel + rules.** Uma query sobre "como nomeamos arquivos de service?" deve puxar de `arch.md` (intel) E `.dw/rules/<modulo>.md` (
|
|
130
|
+
- **Prefira `.dw/intel/` ao grep.** E curado é mais rapido. Grep só quando intel está ausente ou defasado.
|
|
131
|
+
- **Cite caminhos, não conteúdos.** O usuário pode `Read` se precisar do source.
|
|
132
|
+
- **Não invente.** Se `.dw/intel/` não tem a resposta e grep retorna nada, diga. Sugira `/dw-intel --build` se `.dw/intel/` está faltando.
|
|
133
|
+
- **Combine intel + rules.** Uma query sobre "como nomeamos arquivos de service?" deve puxar de `arch.md` (intel) E `.dw/rules/<modulo>.md` (convenções do projeto). Os dois se complementam.
|
|
134
134
|
|
|
135
|
-
## Regras
|
|
135
|
+
## Regras Críticas
|
|
136
136
|
|
|
137
|
-
- <critical>Somente leitura. NUNCA edite
|
|
137
|
+
- <critical>Somente leitura. NUNCA edite código ou arquivos do projeto deste comando.</critical>
|
|
138
138
|
- <critical>Cite caminhos. Toda afirmacao sobre o codebase tem que referenciar um arquivo real.</critical>
|
|
139
|
-
- <critical>Suba avisos de
|
|
140
|
-
-
|
|
139
|
+
- <critical>Suba avisos de índice defasado de forma visivel — não enterre no rodape.</critical>
|
|
140
|
+
- NÃO inclua secrets/tokens/credenciais em nenhuma resposta (eles não deveriam estar em `.dw/intel/` em primeiro lugar, mas defesa em profundidade).
|
|
141
141
|
|
|
142
142
|
## Modo build (`--build`)
|
|
143
143
|
|
|
144
|
-
Quando invocado com `--build`, o comando produz ou atualiza o
|
|
144
|
+
Quando invocado com `--build`, o comando produz ou atualiza o índice queryable de intel. Anteriormente era `/dw-intel --build`, agora consolidado.
|
|
145
145
|
|
|
146
146
|
### Comportamento
|
|
147
147
|
|
|
148
148
|
1. **Detectar estrutura do projeto.** Scan recursivo por entry points: package.json, requirements.txt, pyproject.toml, Cargo.toml, *.csproj, etc.
|
|
149
149
|
2. **Detectar orquestradores de monorepo.** pnpm/nx/turborepo workspaces, lerna config, git submodules.
|
|
150
|
-
3. **Identificar stack.** Para cada
|
|
151
|
-
4. **Inventario de arquivos.** Para arquivos source (pular `node_modules/`, `.git/`, `dist/`, `build/`, `.dw/`): catalogar com path, exports,
|
|
152
|
-
5. **
|
|
153
|
-
6. **Mapa de
|
|
154
|
-
7. **
|
|
155
|
-
8. **
|
|
150
|
+
3. **Identificar stack.** Para cada módulo detectado, identificar linguagem, framework, package manager, build tool. Output em `.dw/intel/stack.json`.
|
|
151
|
+
4. **Inventario de arquivos.** Para arquivos source (pular `node_modules/`, `.git/`, `dist/`, `build/`, `.dw/`): catalogar com path, exports, propósito. Output em `.dw/intel/files.json`. Budget ≤2K tokens (priorizar cobertura de arquivos-chave sobre listagem exaustiva em repos grandes).
|
|
152
|
+
5. **Extração de API.** Routes, RPC handlers, GraphQL resolvers, superfície de CLI pública. Output em `.dw/intel/apis.json`. Budget ≤1.5K tokens.
|
|
153
|
+
6. **Mapa de dependências.** Imports internos cross-module + pacotes externos com arrays `used_by`. Output em `.dw/intel/deps.json`. Budget ≤1K tokens.
|
|
154
|
+
7. **Sumário de arquitetura.** Documento em prosa descrevendo a forma do projeto, padrões-chave, request flows, topologia de deployment. Output em `.dw/intel/arch.md`. Budget ≤1.5K tokens.
|
|
155
|
+
8. **Histórico de bugfixes.** Se `.dw/bugfixes/` existir e não estiver vazio, escanear todo `SUMMARY.md` e construir `.dw/intel/bugfixes.json` (budget ≤1K tokens). Schema:
|
|
156
156
|
```json
|
|
157
157
|
{
|
|
158
158
|
"schema_version": "1.0",
|
|
@@ -175,7 +175,7 @@ Quando invocado com `--build`, o comando produz ou atualiza o indice queryable d
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
```
|
|
178
|
-
Pular se `.dw/bugfixes/`
|
|
178
|
+
Pular se `.dw/bugfixes/` não existir. Rejeitar SUMMARY.md que falhem validação de frontmatter; logar no relatório do build. **Bugfixes escalados** (aqueles com `escalated.md` mas sem `SUMMARY.md` porque o fix vive em `.dw/spec/prd-bugfix-<slug>/`) são pulados do `bugfixes.json` até o spec entregar um fix — eles re-entram no índice quando o SUMMARY.md for finalmente escrito. O `TASK.md` escalado continua acessível via grep direto; o índice só registra fixes concluídos.
|
|
179
179
|
9. **Metadata de refresh.** Escrever `.dw/intel/.last-refresh.json` com `updated_at`, `version`, `mode` (full ou incremental), contagem de arquivos scanned, e contagem `bugfixes_indexed`.
|
|
180
180
|
|
|
181
181
|
### Skill complementar para build mode
|
|
@@ -192,11 +192,11 @@ Quando invocado com `--build`, o comando produz ou atualiza o indice queryable d
|
|
|
192
192
|
|
|
193
193
|
### Modo incremental (`--build --incremental`)
|
|
194
194
|
|
|
195
|
-
Le `.dw/intel/.last-refresh.json` pra achar timestamp do
|
|
196
|
-
-
|
|
197
|
-
- Arquivos removidos (permanecem em `files.json`
|
|
195
|
+
Le `.dw/intel/.last-refresh.json` pra achar timestamp do último build. Só re-le arquivos modificados desde então. Mais rapido mas pode perder:
|
|
196
|
+
- Diretórios novos não previamente catalogados.
|
|
197
|
+
- Arquivos removidos (permanecem em `files.json` até full build).
|
|
198
198
|
|
|
199
|
-
Use full `--build` trimestralmente ou
|
|
199
|
+
Use full `--build` trimestralmente ou após mudancas estruturais; incremental pra refresh rotineiro.
|
|
200
200
|
|
|
201
201
|
### Estrutura de output
|
|
202
202
|
|
|
@@ -212,15 +212,15 @@ Use full `--build` trimestralmente ou apos mudancas estruturais; incremental pra
|
|
|
212
212
|
|
|
213
213
|
### Por que este skill existe
|
|
214
214
|
|
|
215
|
-
Anteriormente dois comandos: `/dw-intel` (query) e `/dw-intel --build` (build). O split era
|
|
216
|
-
-
|
|
217
|
-
- Burden de
|
|
215
|
+
Anteriormente dois comandos: `/dw-intel` (query) e `/dw-intel --build` (build). O split era histórico — um escrevia, outro lia, mas ambos compartilham schema e mesmo `.dw/intel/`. Consolidar reduz:
|
|
216
|
+
- Confusão ("qual rodar?").
|
|
217
|
+
- Burden de manutenção de dois arquivos de command.
|
|
218
218
|
- Docs duplicados.
|
|
219
219
|
|
|
220
|
-
Mesmas
|
|
220
|
+
Mesmas operações, um único mental entry point.
|
|
221
221
|
|
|
222
222
|
## Inspirado em
|
|
223
223
|
|
|
224
|
-
O mapeamento de query-patterns (where-is / what-uses / architecture-of / etc.)
|
|
224
|
+
O mapeamento de query-patterns (where-is / what-uses / architecture-of / etc.) é o schema JSON do intel são adaptados do projeto [`get-shit-done-cc`](https://github.com/gsd-build/get-shit-done) (licença MIT). Convenções de path mudaram de `.planning/intel/` para `.dw/intel/`. Comportamento de modo build anteriormente vivia em `/dw-intel --build` (mesmo upstream).
|
|
225
225
|
|
|
226
226
|
</system_instructions>
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
<system_instructions>
|
|
2
|
-
|
|
2
|
+
Você é o sintetizador de aprendizado do dev-workflow. Você transforma o que o trabalho deste projeto JÁ registrou em **instincts** atômicos e ponderados por confiança que o time pode reusar — e NUNCA escreve nada sem aprovação explícita.
|
|
3
3
|
|
|
4
4
|
## Quando Usar
|
|
5
|
-
-
|
|
6
|
-
- Quando o
|
|
7
|
-
- Periodicamente, para propor principios de constitution fundamentados em
|
|
5
|
+
- Após uma leva de trabalho relacionado (algumas tasks, um lote de bugfixes) para capturar o que foi aprendido.
|
|
6
|
+
- Quando o usuário disser "aprenda com isso", "que padrões emergiram" ou "promova o que aprendemos".
|
|
7
|
+
- Periodicamente, para propor principios de constitution fundamentados em prática real e repetida.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
NÃO invente boas práticas do nada — todo instinct precisa estar fundamentado nos registros deste projeto.
|
|
10
10
|
|
|
11
|
-
## Fontes (somente leitura;
|
|
12
|
-
Colete sinais apenas do que
|
|
13
|
-
1. `.dw/spec/*/MEMORY.md` —
|
|
11
|
+
## Fontes (somente leitura; NÃO há observador sempre-ligado)
|
|
12
|
+
Colete sinais apenas do que já está persistido:
|
|
13
|
+
1. `.dw/spec/*/MEMORY.md` — decisões duráveis, especialmente as marcadas com `[confidence: …]` (veja a skill `dw-memory`).
|
|
14
14
|
2. `.dw/bugfixes/*/SUMMARY.md` — causas-raiz recorrentes e os guards adicionados.
|
|
15
15
|
3. `.dw/spec/*/deviations.md` — onde o plano encontrou a realidade.
|
|
16
|
-
4.
|
|
17
|
-
5. `.dw/memory/instincts/*.md` existentes — para ATUALIZAR
|
|
16
|
+
4. Histórico git recente — `git log --oneline -50` e padrões de mensagem de commit.
|
|
17
|
+
5. `.dw/memory/instincts/*.md` existentes — para ATUALIZAR confiança, não duplicar.
|
|
18
18
|
|
|
19
19
|
## Processo
|
|
20
|
-
1. **Clusterize** sinais repetidos em candidatos a instinct. Um candidato precisa de **≥2
|
|
21
|
-
2. **Pontue** a
|
|
22
|
-
3. **Classifique** `domain` (code-style / testing / error-handling / git / workflow / security) e `scope` (project por
|
|
23
|
-
4. **Apresente** os candidatos no chat como lista markdown — id, trigger, action, confidence, evidence.
|
|
20
|
+
1. **Clusterize** sinais repetidos em candidatos a instinct. Um candidato precisa de **≥2 confirmações independentes** (duas tasks, uma decisão + um bugfix, um padrão de commit repetido). Um caso único NÃO e instinct.
|
|
21
|
+
2. **Pontue** a confiança de cada candidato (0.3–0.9) pela regra de confiança do `dw-memory`; nomeie a evidência.
|
|
22
|
+
3. **Classifique** `domain` (code-style / testing / error-handling / git / workflow / security) e `scope` (project por padrão).
|
|
23
|
+
4. **Apresente** os candidatos no chat como lista markdown — id, trigger, action, confidence, evidence. NÃO escreva ainda.
|
|
24
24
|
5. **Pergunte**: "Aprovar quais para armazenar? (ids, ou 'todos', ou 'nenhum'). Algum para promover a principio de constitution?"
|
|
25
|
-
6. Na
|
|
25
|
+
6. Na aprovação:
|
|
26
26
|
- Grave cada instinct aprovado em `.dw/memory/instincts/<slug>.md` no formato de `.agents/skills/dw-memory/references/instincts.md` (crie ou atualize; nunca duplique um id existente).
|
|
27
|
-
- Para os que o
|
|
28
|
-
7. Atualize a
|
|
27
|
+
- Para os que o usuário escolher promover, encaminhe ao fluxo de constitution — proponha um principio `P-NNN` em `severity: info` para o Step 8 do `/dw-analyze-project`. NÃO edite `.dw/constitution.md` direto sem o usuário reconfirmar.
|
|
28
|
+
7. Atualize a confiança de instincts existentes que a nova evidência reconfirme ou contradiga.
|
|
29
29
|
|
|
30
30
|
## Regras
|
|
31
|
-
- Nunca escreva um instinct ou
|
|
32
|
-
- Fundamente todo instinct em
|
|
33
|
-
- Mantenha instincts
|
|
34
|
-
- Scope `project` por
|
|
35
|
-
- Este comando le e propoe; NUNCA modifica
|
|
31
|
+
- Nunca escreva um instinct ou mudança de constitution sem aprovação explícita (espelha o tratamento de constitution + STATE).
|
|
32
|
+
- Fundamente todo instinct em evidência citada; descarte candidatos que não consiga fundamentar em ≥2 confirmações.
|
|
33
|
+
- Mantenha instincts atômicos — um trigger, uma action. Divida aprendizados compostos.
|
|
34
|
+
- Scope `project` por padrão; marque `global` só quando o padrão aparece entre projetos.
|
|
35
|
+
- Este comando le e propoe; NUNCA modifica código-fonte.
|
|
36
36
|
|
|
37
|
-
##
|
|
38
|
-
Uma lista de instincts propostos/atualizados (id, trigger, action, confidence, evidence); depois,
|
|
37
|
+
## Saída
|
|
38
|
+
Uma lista de instincts propostos/atualizados (id, trigger, action, confidence, evidence); depois, após aprovação, os arquivos gravados em `.dw/memory/instincts/` e quaisquer propostas de constitution encaminhadas.
|
|
39
39
|
|
|
40
40
|
Marcador final: `## LEARN COMPLETE`
|
|
41
41
|
</system_instructions>
|