@dynamicworks/br-openspec 1.3.1 → 2.0.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/LICENSE +22 -22
- package/README.md +210 -210
- package/README.pt-BR.md +212 -212
- package/bin/openspec.js +2 -2
- package/dist/commands/feedback.js +4 -4
- package/dist/commands/schema.js +60 -60
- package/dist/core/command-generation/adapters/amazon-q.js +5 -5
- package/dist/core/command-generation/adapters/antigravity.js +5 -5
- package/dist/core/command-generation/adapters/auggie.js +6 -6
- package/dist/core/command-generation/adapters/bob.js +6 -6
- package/dist/core/command-generation/adapters/claude.js +8 -8
- package/dist/core/command-generation/adapters/cline.js +5 -5
- package/dist/core/command-generation/adapters/codebuddy.js +7 -7
- package/dist/core/command-generation/adapters/codex.js +6 -6
- package/dist/core/command-generation/adapters/continue.js +7 -7
- package/dist/core/command-generation/adapters/costrict.js +6 -6
- package/dist/core/command-generation/adapters/crush.js +8 -8
- package/dist/core/command-generation/adapters/cursor.js +8 -8
- package/dist/core/command-generation/adapters/factory.js +6 -6
- package/dist/core/command-generation/adapters/gemini.js +5 -5
- package/dist/core/command-generation/adapters/github-copilot.js +5 -5
- package/dist/core/command-generation/adapters/iflow.js +8 -8
- package/dist/core/command-generation/adapters/junie.js +5 -5
- package/dist/core/command-generation/adapters/kilocode.js +1 -1
- package/dist/core/command-generation/adapters/kiro.js +5 -5
- package/dist/core/command-generation/adapters/lingma.js +8 -8
- package/dist/core/command-generation/adapters/opencode.js +5 -5
- package/dist/core/command-generation/adapters/pi.js +5 -5
- package/dist/core/command-generation/adapters/qoder.js +8 -8
- package/dist/core/command-generation/adapters/qwen.js +5 -5
- package/dist/core/command-generation/adapters/roocode.js +5 -5
- package/dist/core/command-generation/adapters/windsurf.js +8 -8
- 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 +18 -18
- package/dist/core/completions/templates/fish-templates.js +32 -32
- package/dist/core/completions/templates/powershell-templates.js +19 -19
- package/dist/core/completions/templates/zsh-templates.js +30 -30
- package/dist/core/shared/skill-generation.js +12 -12
- package/dist/core/templates/workflows/apply-change.js +288 -288
- package/dist/core/templates/workflows/archive-change.js +251 -251
- package/dist/core/templates/workflows/bulk-archive-change.js +472 -472
- package/dist/core/templates/workflows/continue-change.js +212 -212
- package/dist/core/templates/workflows/explore.js +443 -443
- package/dist/core/templates/workflows/feedback.js +97 -97
- package/dist/core/templates/workflows/ff-change.js +178 -178
- package/dist/core/templates/workflows/propose.js +196 -196
- package/dist/core/templates/workflows/sync-specs.js +252 -252
- package/dist/core/templates/workflows/upstream-sync.js +93 -93
- package/dist/messages/index.js +977 -977
- package/package.json +82 -84
- 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/scripts/postinstall.js +83 -83
|
@@ -2,150 +2,150 @@ export function getApplyChangeSkillTemplate() {
|
|
|
2
2
|
return {
|
|
3
3
|
name: 'openspec-apply-change',
|
|
4
4
|
description: 'Implementa tarefas de uma change do BR-OpenSpec. Use quando o usuário quiser iniciar a implementação, continuar a implementação ou trabalhar nas tarefas.',
|
|
5
|
-
instructions: `Implementa tarefas de uma change do BR-OpenSpec.
|
|
6
|
-
|
|
7
|
-
**Entrada**: Opcionalmente especifique um nome de change. Se omitido, verifique se pode ser inferido do contexto da conversa. Se vago ou ambíguo, você DEVE solicitar as changes disponíveis.
|
|
8
|
-
|
|
9
|
-
**Passos**
|
|
10
|
-
|
|
11
|
-
1. **Selecione a change**
|
|
12
|
-
|
|
13
|
-
Se um nome for fornecido, use-o. Caso contrário:
|
|
14
|
-
- Infira do contexto da conversa se o usuário mencionou uma change
|
|
15
|
-
- Selecione automaticamente se existir apenas uma change ativa
|
|
16
|
-
- Se ambíguo, execute \`openspec list --json\` para obter as changes disponíveis e use a ferramenta **AskUserQuestion** para permitir que o usuário selecione
|
|
17
|
-
|
|
18
|
-
Sempre anuncie: "Usando change: <nome>" e como substituir (por exemplo, \`/opsx:apply <outra>\`).
|
|
19
|
-
|
|
20
|
-
2. **Verifique o status para entender o schema**
|
|
21
|
-
\`\`\`bash
|
|
22
|
-
openspec status --change "<nome>" --json
|
|
23
|
-
\`\`\`
|
|
24
|
-
Analise o JSON para entender:
|
|
25
|
-
- \`schemaName\`: O workflow sendo usado (por exemplo, "spec-driven")
|
|
26
|
-
- Qual artifact contém as tarefas (tipicamente "tasks" para spec-driven, verifique o status para outros)
|
|
27
|
-
|
|
28
|
-
3. **Obtenha as instruções de apply**
|
|
29
|
-
|
|
30
|
-
\`\`\`bash
|
|
31
|
-
openspec instructions apply --change "<nome>" --json
|
|
32
|
-
\`\`\`
|
|
33
|
-
|
|
34
|
-
Isso retorna:
|
|
35
|
-
- \`contextFiles\`: artifact ID -> array de caminhos de arquivos concretos (varia por schema - pode ser proposal/specs/design/tasks ou spec/tests/implementation/docs)
|
|
36
|
-
- Progresso (total, completo, restante)
|
|
37
|
-
- Lista de tarefas com status
|
|
38
|
-
- Instrução dinâmica baseada no estado atual
|
|
39
|
-
|
|
40
|
-
**Trate os estados:**
|
|
41
|
-
- Se \`state: "blocked"\` (artifacts ausentes): exiba mensagem, sugira usar openspec-continue-change
|
|
42
|
-
- Se \`state: "all_done"\`: parabenize, sugira arquivar
|
|
43
|
-
- Caso contrário: prossiga para a implementação
|
|
44
|
-
|
|
45
|
-
4. **Leia os arquivos de contexto**
|
|
46
|
-
|
|
47
|
-
Leia cada caminho de arquivo listado em \`contextFiles\` da saída das instruções de apply.
|
|
48
|
-
Os arquivos dependem do schema sendo usado:
|
|
49
|
-
- **spec-driven**: proposal, specs, design, tasks
|
|
50
|
-
- Outros schemas: siga os contextFiles da saída do CLI
|
|
51
|
-
|
|
52
|
-
5. **Mostre o progresso atual**
|
|
53
|
-
|
|
54
|
-
Exiba:
|
|
55
|
-
- Schema sendo usado
|
|
56
|
-
- Progresso: "N/M tarefas concluídas"
|
|
57
|
-
- Visão geral das tarefas restantes
|
|
58
|
-
- Instrução dinâmica do CLI
|
|
59
|
-
|
|
60
|
-
6. **Implemente as tarefas (loop até concluir ou bloquear)**
|
|
61
|
-
|
|
62
|
-
Para cada tarefa pendente:
|
|
63
|
-
- Mostre qual tarefa está sendo trabalhada
|
|
64
|
-
- Faça as alterações de código necessárias
|
|
65
|
-
- Mantenha as alterações mínimas e focadas
|
|
66
|
-
- Marque a tarefa como concluída no arquivo de tasks: \`- [ ]\` → \`- [x]\`
|
|
67
|
-
- Continue para a próxima tarefa
|
|
68
|
-
|
|
69
|
-
**Pare se:**
|
|
70
|
-
- A tarefa estiver incerta → peça esclarecimento
|
|
71
|
-
- A implementação revelar um problema de design → sugira atualizar artifacts
|
|
72
|
-
- Encontrar erro ou bloqueio → reporte e aguarde orientação
|
|
73
|
-
- O usuário interromper
|
|
74
|
-
|
|
75
|
-
7. **Ao concluir ou pausar, mostre o status**
|
|
76
|
-
|
|
77
|
-
Exiba:
|
|
78
|
-
- Tarefas concluídas nesta sessão
|
|
79
|
-
- Progresso geral: "N/M tarefas concluídas"
|
|
80
|
-
- Se tudo concluído: sugira arquivar
|
|
81
|
-
- Se pausado: explique o porquê e aguarde orientação
|
|
82
|
-
|
|
83
|
-
**Saída Durante a Implementação**
|
|
84
|
-
|
|
85
|
-
\`\`\`
|
|
86
|
-
## Implementando: <nome-change> (schema: <nome-schema>)
|
|
87
|
-
|
|
88
|
-
Trabalhando na tarefa 3/7: <descrição da tarefa>
|
|
89
|
-
[...implementação acontecendo...]
|
|
90
|
-
✓ Tarefa concluída
|
|
91
|
-
|
|
92
|
-
Trabalhando na tarefa 4/7: <descrição da tarefa>
|
|
93
|
-
[...implementação acontecendo...]
|
|
94
|
-
✓ Tarefa concluída
|
|
95
|
-
\`\`\`
|
|
96
|
-
|
|
97
|
-
**Saída ao Concluir**
|
|
98
|
-
|
|
99
|
-
\`\`\`
|
|
100
|
-
## Implementação Concluída
|
|
101
|
-
|
|
102
|
-
**Change:** <nome-change>
|
|
103
|
-
**Schema:** <nome-schema>
|
|
104
|
-
**Progresso:** 7/7 tarefas concluídas ✓
|
|
105
|
-
|
|
106
|
-
### Concluídas Nesta Sessão
|
|
107
|
-
- [x] Tarefa 1
|
|
108
|
-
- [x] Tarefa 2
|
|
109
|
-
...
|
|
110
|
-
|
|
111
|
-
Todas as tarefas concluídas! Pronto para arquivar esta change.
|
|
112
|
-
\`\`\`
|
|
113
|
-
|
|
114
|
-
**Saída ao Pausar (Problema Encontrado)**
|
|
115
|
-
|
|
116
|
-
\`\`\`
|
|
117
|
-
## Implementação Pausada
|
|
118
|
-
|
|
119
|
-
**Change:** <nome-change>
|
|
120
|
-
**Schema:** <nome-schema>
|
|
121
|
-
**Progresso:** 4/7 tarefas concluídas
|
|
122
|
-
|
|
123
|
-
### Problema Encontrado
|
|
124
|
-
<descrição do problema>
|
|
125
|
-
|
|
126
|
-
**Opções:**
|
|
127
|
-
1. <opção 1>
|
|
128
|
-
2. <opção 2>
|
|
129
|
-
3. Outra abordagem
|
|
130
|
-
|
|
131
|
-
O que você gostaria de fazer?
|
|
132
|
-
\`\`\`
|
|
133
|
-
|
|
134
|
-
**Guardrails**
|
|
135
|
-
- Continue pelas tarefas até concluir ou bloquear
|
|
136
|
-
- Sempre leia os arquivos de contexto antes de começar (da saída das instruções de apply)
|
|
137
|
-
- Se a tarefa for ambígua, pause e pergunte antes de implementar
|
|
138
|
-
- Se a implementação revelar problemas, pause e sugira atualizar artifacts
|
|
139
|
-
- Mantenha as alterações de código mínimas e limitadas a cada tarefa
|
|
140
|
-
- Atualize a checkbox da tarefa imediatamente após concluir cada tarefa
|
|
141
|
-
- Pare em erros, bloqueios ou requisitos incertos - não adivinhe
|
|
142
|
-
- Use os contextFiles da saída do CLI, não assuma nomes de arquivos específicos
|
|
143
|
-
|
|
144
|
-
**Integração com Fluxo Fluido**
|
|
145
|
-
|
|
146
|
-
Esta skill suporta o modelo de "ações em uma change":
|
|
147
|
-
|
|
148
|
-
- **Pode ser invocada a qualquer momento**: Antes de todos os artifacts estarem prontos (se tasks existirem), após implementação parcial, intercalada com outras ações
|
|
5
|
+
instructions: `Implementa tarefas de uma change do BR-OpenSpec.
|
|
6
|
+
|
|
7
|
+
**Entrada**: Opcionalmente especifique um nome de change. Se omitido, verifique se pode ser inferido do contexto da conversa. Se vago ou ambíguo, você DEVE solicitar as changes disponíveis.
|
|
8
|
+
|
|
9
|
+
**Passos**
|
|
10
|
+
|
|
11
|
+
1. **Selecione a change**
|
|
12
|
+
|
|
13
|
+
Se um nome for fornecido, use-o. Caso contrário:
|
|
14
|
+
- Infira do contexto da conversa se o usuário mencionou uma change
|
|
15
|
+
- Selecione automaticamente se existir apenas uma change ativa
|
|
16
|
+
- Se ambíguo, execute \`openspec list --json\` para obter as changes disponíveis e use a ferramenta **AskUserQuestion** para permitir que o usuário selecione
|
|
17
|
+
|
|
18
|
+
Sempre anuncie: "Usando change: <nome>" e como substituir (por exemplo, \`/opsx:apply <outra>\`).
|
|
19
|
+
|
|
20
|
+
2. **Verifique o status para entender o schema**
|
|
21
|
+
\`\`\`bash
|
|
22
|
+
openspec status --change "<nome>" --json
|
|
23
|
+
\`\`\`
|
|
24
|
+
Analise o JSON para entender:
|
|
25
|
+
- \`schemaName\`: O workflow sendo usado (por exemplo, "spec-driven")
|
|
26
|
+
- Qual artifact contém as tarefas (tipicamente "tasks" para spec-driven, verifique o status para outros)
|
|
27
|
+
|
|
28
|
+
3. **Obtenha as instruções de apply**
|
|
29
|
+
|
|
30
|
+
\`\`\`bash
|
|
31
|
+
openspec instructions apply --change "<nome>" --json
|
|
32
|
+
\`\`\`
|
|
33
|
+
|
|
34
|
+
Isso retorna:
|
|
35
|
+
- \`contextFiles\`: artifact ID -> array de caminhos de arquivos concretos (varia por schema - pode ser proposal/specs/design/tasks ou spec/tests/implementation/docs)
|
|
36
|
+
- Progresso (total, completo, restante)
|
|
37
|
+
- Lista de tarefas com status
|
|
38
|
+
- Instrução dinâmica baseada no estado atual
|
|
39
|
+
|
|
40
|
+
**Trate os estados:**
|
|
41
|
+
- Se \`state: "blocked"\` (artifacts ausentes): exiba mensagem, sugira usar openspec-continue-change
|
|
42
|
+
- Se \`state: "all_done"\`: parabenize, sugira arquivar
|
|
43
|
+
- Caso contrário: prossiga para a implementação
|
|
44
|
+
|
|
45
|
+
4. **Leia os arquivos de contexto**
|
|
46
|
+
|
|
47
|
+
Leia cada caminho de arquivo listado em \`contextFiles\` da saída das instruções de apply.
|
|
48
|
+
Os arquivos dependem do schema sendo usado:
|
|
49
|
+
- **spec-driven**: proposal, specs, design, tasks
|
|
50
|
+
- Outros schemas: siga os contextFiles da saída do CLI
|
|
51
|
+
|
|
52
|
+
5. **Mostre o progresso atual**
|
|
53
|
+
|
|
54
|
+
Exiba:
|
|
55
|
+
- Schema sendo usado
|
|
56
|
+
- Progresso: "N/M tarefas concluídas"
|
|
57
|
+
- Visão geral das tarefas restantes
|
|
58
|
+
- Instrução dinâmica do CLI
|
|
59
|
+
|
|
60
|
+
6. **Implemente as tarefas (loop até concluir ou bloquear)**
|
|
61
|
+
|
|
62
|
+
Para cada tarefa pendente:
|
|
63
|
+
- Mostre qual tarefa está sendo trabalhada
|
|
64
|
+
- Faça as alterações de código necessárias
|
|
65
|
+
- Mantenha as alterações mínimas e focadas
|
|
66
|
+
- Marque a tarefa como concluída no arquivo de tasks: \`- [ ]\` → \`- [x]\`
|
|
67
|
+
- Continue para a próxima tarefa
|
|
68
|
+
|
|
69
|
+
**Pare se:**
|
|
70
|
+
- A tarefa estiver incerta → peça esclarecimento
|
|
71
|
+
- A implementação revelar um problema de design → sugira atualizar artifacts
|
|
72
|
+
- Encontrar erro ou bloqueio → reporte e aguarde orientação
|
|
73
|
+
- O usuário interromper
|
|
74
|
+
|
|
75
|
+
7. **Ao concluir ou pausar, mostre o status**
|
|
76
|
+
|
|
77
|
+
Exiba:
|
|
78
|
+
- Tarefas concluídas nesta sessão
|
|
79
|
+
- Progresso geral: "N/M tarefas concluídas"
|
|
80
|
+
- Se tudo concluído: sugira arquivar
|
|
81
|
+
- Se pausado: explique o porquê e aguarde orientação
|
|
82
|
+
|
|
83
|
+
**Saída Durante a Implementação**
|
|
84
|
+
|
|
85
|
+
\`\`\`
|
|
86
|
+
## Implementando: <nome-change> (schema: <nome-schema>)
|
|
87
|
+
|
|
88
|
+
Trabalhando na tarefa 3/7: <descrição da tarefa>
|
|
89
|
+
[...implementação acontecendo...]
|
|
90
|
+
✓ Tarefa concluída
|
|
91
|
+
|
|
92
|
+
Trabalhando na tarefa 4/7: <descrição da tarefa>
|
|
93
|
+
[...implementação acontecendo...]
|
|
94
|
+
✓ Tarefa concluída
|
|
95
|
+
\`\`\`
|
|
96
|
+
|
|
97
|
+
**Saída ao Concluir**
|
|
98
|
+
|
|
99
|
+
\`\`\`
|
|
100
|
+
## Implementação Concluída
|
|
101
|
+
|
|
102
|
+
**Change:** <nome-change>
|
|
103
|
+
**Schema:** <nome-schema>
|
|
104
|
+
**Progresso:** 7/7 tarefas concluídas ✓
|
|
105
|
+
|
|
106
|
+
### Concluídas Nesta Sessão
|
|
107
|
+
- [x] Tarefa 1
|
|
108
|
+
- [x] Tarefa 2
|
|
109
|
+
...
|
|
110
|
+
|
|
111
|
+
Todas as tarefas concluídas! Pronto para arquivar esta change.
|
|
112
|
+
\`\`\`
|
|
113
|
+
|
|
114
|
+
**Saída ao Pausar (Problema Encontrado)**
|
|
115
|
+
|
|
116
|
+
\`\`\`
|
|
117
|
+
## Implementação Pausada
|
|
118
|
+
|
|
119
|
+
**Change:** <nome-change>
|
|
120
|
+
**Schema:** <nome-schema>
|
|
121
|
+
**Progresso:** 4/7 tarefas concluídas
|
|
122
|
+
|
|
123
|
+
### Problema Encontrado
|
|
124
|
+
<descrição do problema>
|
|
125
|
+
|
|
126
|
+
**Opções:**
|
|
127
|
+
1. <opção 1>
|
|
128
|
+
2. <opção 2>
|
|
129
|
+
3. Outra abordagem
|
|
130
|
+
|
|
131
|
+
O que você gostaria de fazer?
|
|
132
|
+
\`\`\`
|
|
133
|
+
|
|
134
|
+
**Guardrails**
|
|
135
|
+
- Continue pelas tarefas até concluir ou bloquear
|
|
136
|
+
- Sempre leia os arquivos de contexto antes de começar (da saída das instruções de apply)
|
|
137
|
+
- Se a tarefa for ambígua, pause e pergunte antes de implementar
|
|
138
|
+
- Se a implementação revelar problemas, pause e sugira atualizar artifacts
|
|
139
|
+
- Mantenha as alterações de código mínimas e limitadas a cada tarefa
|
|
140
|
+
- Atualize a checkbox da tarefa imediatamente após concluir cada tarefa
|
|
141
|
+
- Pare em erros, bloqueios ou requisitos incertos - não adivinhe
|
|
142
|
+
- Use os contextFiles da saída do CLI, não assuma nomes de arquivos específicos
|
|
143
|
+
|
|
144
|
+
**Integração com Fluxo Fluido**
|
|
145
|
+
|
|
146
|
+
Esta skill suporta o modelo de "ações em uma change":
|
|
147
|
+
|
|
148
|
+
- **Pode ser invocada a qualquer momento**: Antes de todos os artifacts estarem prontos (se tasks existirem), após implementação parcial, intercalada com outras ações
|
|
149
149
|
- **Permite atualizações de artifacts**: Se a implementação revelar problemas de design, sugira atualizar artifacts - não está travada em fases, trabalhe de forma fluida`,
|
|
150
150
|
license: 'MIT',
|
|
151
151
|
compatibility: 'Requer openspec CLI.',
|
|
@@ -158,150 +158,150 @@ export function getOpsxApplyCommandTemplate() {
|
|
|
158
158
|
description: 'Implementa tarefas de uma change do BR-OpenSpec (Experimental)',
|
|
159
159
|
category: 'Workflow',
|
|
160
160
|
tags: ['workflow', 'artifacts', 'experimental'],
|
|
161
|
-
content: `Implementa tarefas de uma change do BR-OpenSpec.
|
|
162
|
-
|
|
163
|
-
**Entrada**: Opcionalmente especifique um nome de change (por exemplo, \`/opsx:apply add-auth\`). Se omitido, verifique se pode ser inferido do contexto da conversa. Se vago ou ambíguo, você DEVE solicitar as changes disponíveis.
|
|
164
|
-
|
|
165
|
-
**Passos**
|
|
166
|
-
|
|
167
|
-
1. **Selecione a change**
|
|
168
|
-
|
|
169
|
-
Se um nome for fornecido, use-o. Caso contrário:
|
|
170
|
-
- Infira do contexto da conversa se o usuário mencionou uma change
|
|
171
|
-
- Selecione automaticamente se existir apenas uma change ativa
|
|
172
|
-
- Se ambíguo, execute \`openspec list --json\` para obter as changes disponíveis e use a ferramenta **AskUserQuestion** para permitir que o usuário selecione
|
|
173
|
-
|
|
174
|
-
Sempre anuncie: "Usando change: <nome>" e como substituir (por exemplo, \`/opsx:apply <outra>\`).
|
|
175
|
-
|
|
176
|
-
2. **Verifique o status para entender o schema**
|
|
177
|
-
\`\`\`bash
|
|
178
|
-
openspec status --change "<nome>" --json
|
|
179
|
-
\`\`\`
|
|
180
|
-
Analise o JSON para entender:
|
|
181
|
-
- \`schemaName\`: O workflow sendo usado (por exemplo, "spec-driven")
|
|
182
|
-
- Qual artifact contém as tarefas (tipicamente "tasks" para spec-driven, verifique o status para outros)
|
|
183
|
-
|
|
184
|
-
3. **Obtenha as instruções de apply**
|
|
185
|
-
|
|
186
|
-
\`\`\`bash
|
|
187
|
-
openspec instructions apply --change "<nome>" --json
|
|
188
|
-
\`\`\`
|
|
189
|
-
|
|
190
|
-
Isso retorna:
|
|
191
|
-
- \`contextFiles\`: artifact ID -> array de caminhos de arquivos concretos (varia por schema)
|
|
192
|
-
- Progresso (total, completo, restante)
|
|
193
|
-
- Lista de tarefas com status
|
|
194
|
-
- Instrução dinâmica baseada no estado atual
|
|
195
|
-
|
|
196
|
-
**Trate os estados:**
|
|
197
|
-
- Se \`state: "blocked"\` (artifacts ausentes): exiba mensagem, sugira usar \`/opsx:continue\`
|
|
198
|
-
- Se \`state: "all_done"\`: parabenize, sugira arquivar
|
|
199
|
-
- Caso contrário: prossiga para a implementação
|
|
200
|
-
|
|
201
|
-
4. **Leia os arquivos de contexto**
|
|
202
|
-
|
|
203
|
-
Leia cada caminho de arquivo listado em \`contextFiles\` da saída das instruções de apply.
|
|
204
|
-
Os arquivos dependem do schema sendo usado:
|
|
205
|
-
- **spec-driven**: proposal, specs, design, tasks
|
|
206
|
-
- Outros schemas: siga os contextFiles da saída do CLI
|
|
207
|
-
|
|
208
|
-
5. **Mostre o progresso atual**
|
|
209
|
-
|
|
210
|
-
Exiba:
|
|
211
|
-
- Schema sendo usado
|
|
212
|
-
- Progresso: "N/M tarefas concluídas"
|
|
213
|
-
- Visão geral das tarefas restantes
|
|
214
|
-
- Instrução dinâmica do CLI
|
|
215
|
-
|
|
216
|
-
6. **Implemente as tarefas (loop até concluir ou bloquear)**
|
|
217
|
-
|
|
218
|
-
Para cada tarefa pendente:
|
|
219
|
-
- Mostre qual tarefa está sendo trabalhada
|
|
220
|
-
- Faça as alterações de código necessárias
|
|
221
|
-
- Mantenha as alterações mínimas e focadas
|
|
222
|
-
- Marque a tarefa como concluída no arquivo de tasks: \`- [ ]\` → \`- [x]\`
|
|
223
|
-
- Continue para a próxima tarefa
|
|
224
|
-
|
|
225
|
-
**Pare se:**
|
|
226
|
-
- A tarefa estiver incerta → peça esclarecimento
|
|
227
|
-
- A implementação revelar um problema de design → sugira atualizar artifacts
|
|
228
|
-
- Encontrar erro ou bloqueio → reporte e aguarde orientação
|
|
229
|
-
- O usuário interromper
|
|
230
|
-
|
|
231
|
-
7. **Ao concluir ou pausar, mostre o status**
|
|
232
|
-
|
|
233
|
-
Exiba:
|
|
234
|
-
- Tarefas concluídas nesta sessão
|
|
235
|
-
- Progresso geral: "N/M tarefas concluídas"
|
|
236
|
-
- Se tudo concluído: sugira arquivar
|
|
237
|
-
- Se pausado: explique o porquê e aguarde orientação
|
|
238
|
-
|
|
239
|
-
**Saída Durante a Implementação**
|
|
240
|
-
|
|
241
|
-
\`\`\`
|
|
242
|
-
## Implementando: <nome-change> (schema: <nome-schema>)
|
|
243
|
-
|
|
244
|
-
Trabalhando na tarefa 3/7: <descrição da tarefa>
|
|
245
|
-
[...implementação acontecendo...]
|
|
246
|
-
✓ Tarefa concluída
|
|
247
|
-
|
|
248
|
-
Trabalhando na tarefa 4/7: <descrição da tarefa>
|
|
249
|
-
[...implementação acontecendo...]
|
|
250
|
-
✓ Tarefa concluída
|
|
251
|
-
\`\`\`
|
|
252
|
-
|
|
253
|
-
**Saída ao Concluir**
|
|
254
|
-
|
|
255
|
-
\`\`\`
|
|
256
|
-
## Implementação Concluída
|
|
257
|
-
|
|
258
|
-
**Change:** <nome-change>
|
|
259
|
-
**Schema:** <nome-schema>
|
|
260
|
-
**Progresso:** 7/7 tarefas concluídas ✓
|
|
261
|
-
|
|
262
|
-
### Concluídas Nesta Sessão
|
|
263
|
-
- [x] Tarefa 1
|
|
264
|
-
- [x] Tarefa 2
|
|
265
|
-
...
|
|
266
|
-
|
|
267
|
-
Todas as tarefas concluídas! Você pode arquivar esta change com \`/opsx:archive\`.
|
|
268
|
-
\`\`\`
|
|
269
|
-
|
|
270
|
-
**Saída ao Pausar (Problema Encontrado)**
|
|
271
|
-
|
|
272
|
-
\`\`\`
|
|
273
|
-
## Implementação Pausada
|
|
274
|
-
|
|
275
|
-
**Change:** <nome-change>
|
|
276
|
-
**Schema:** <nome-schema>
|
|
277
|
-
**Progresso:** 4/7 tarefas concluídas
|
|
278
|
-
|
|
279
|
-
### Problema Encontrado
|
|
280
|
-
<descrição do problema>
|
|
281
|
-
|
|
282
|
-
**Opções:**
|
|
283
|
-
1. <opção 1>
|
|
284
|
-
2. <opção 2>
|
|
285
|
-
3. Outra abordagem
|
|
286
|
-
|
|
287
|
-
O que você gostaria de fazer?
|
|
288
|
-
\`\`\`
|
|
289
|
-
|
|
290
|
-
**Guardrails**
|
|
291
|
-
- Continue pelas tarefas até concluir ou bloquear
|
|
292
|
-
- Sempre leia os arquivos de contexto antes de começar (da saída das instruções de apply)
|
|
293
|
-
- Se a tarefa for ambígua, pause e pergunte antes de implementar
|
|
294
|
-
- Se a implementação revelar problemas, pause e sugira atualizar artifacts
|
|
295
|
-
- Mantenha as alterações de código mínimas e limitadas a cada tarefa
|
|
296
|
-
- Atualize a checkbox da tarefa imediatamente após concluir cada tarefa
|
|
297
|
-
- Pare em erros, bloqueios ou requisitos incertos - não adivinhe
|
|
298
|
-
- Use os contextFiles da saída do CLI, não assuma nomes de arquivos específicos
|
|
299
|
-
|
|
300
|
-
**Integração com Fluxo Fluido**
|
|
301
|
-
|
|
302
|
-
Esta skill suporta o modelo de "ações em uma change":
|
|
303
|
-
|
|
304
|
-
- **Pode ser invocada a qualquer momento**: Antes de todos os artifacts estarem prontos (se tasks existirem), após implementação parcial, intercalada com outras ações
|
|
161
|
+
content: `Implementa tarefas de uma change do BR-OpenSpec.
|
|
162
|
+
|
|
163
|
+
**Entrada**: Opcionalmente especifique um nome de change (por exemplo, \`/opsx:apply add-auth\`). Se omitido, verifique se pode ser inferido do contexto da conversa. Se vago ou ambíguo, você DEVE solicitar as changes disponíveis.
|
|
164
|
+
|
|
165
|
+
**Passos**
|
|
166
|
+
|
|
167
|
+
1. **Selecione a change**
|
|
168
|
+
|
|
169
|
+
Se um nome for fornecido, use-o. Caso contrário:
|
|
170
|
+
- Infira do contexto da conversa se o usuário mencionou uma change
|
|
171
|
+
- Selecione automaticamente se existir apenas uma change ativa
|
|
172
|
+
- Se ambíguo, execute \`openspec list --json\` para obter as changes disponíveis e use a ferramenta **AskUserQuestion** para permitir que o usuário selecione
|
|
173
|
+
|
|
174
|
+
Sempre anuncie: "Usando change: <nome>" e como substituir (por exemplo, \`/opsx:apply <outra>\`).
|
|
175
|
+
|
|
176
|
+
2. **Verifique o status para entender o schema**
|
|
177
|
+
\`\`\`bash
|
|
178
|
+
openspec status --change "<nome>" --json
|
|
179
|
+
\`\`\`
|
|
180
|
+
Analise o JSON para entender:
|
|
181
|
+
- \`schemaName\`: O workflow sendo usado (por exemplo, "spec-driven")
|
|
182
|
+
- Qual artifact contém as tarefas (tipicamente "tasks" para spec-driven, verifique o status para outros)
|
|
183
|
+
|
|
184
|
+
3. **Obtenha as instruções de apply**
|
|
185
|
+
|
|
186
|
+
\`\`\`bash
|
|
187
|
+
openspec instructions apply --change "<nome>" --json
|
|
188
|
+
\`\`\`
|
|
189
|
+
|
|
190
|
+
Isso retorna:
|
|
191
|
+
- \`contextFiles\`: artifact ID -> array de caminhos de arquivos concretos (varia por schema)
|
|
192
|
+
- Progresso (total, completo, restante)
|
|
193
|
+
- Lista de tarefas com status
|
|
194
|
+
- Instrução dinâmica baseada no estado atual
|
|
195
|
+
|
|
196
|
+
**Trate os estados:**
|
|
197
|
+
- Se \`state: "blocked"\` (artifacts ausentes): exiba mensagem, sugira usar \`/opsx:continue\`
|
|
198
|
+
- Se \`state: "all_done"\`: parabenize, sugira arquivar
|
|
199
|
+
- Caso contrário: prossiga para a implementação
|
|
200
|
+
|
|
201
|
+
4. **Leia os arquivos de contexto**
|
|
202
|
+
|
|
203
|
+
Leia cada caminho de arquivo listado em \`contextFiles\` da saída das instruções de apply.
|
|
204
|
+
Os arquivos dependem do schema sendo usado:
|
|
205
|
+
- **spec-driven**: proposal, specs, design, tasks
|
|
206
|
+
- Outros schemas: siga os contextFiles da saída do CLI
|
|
207
|
+
|
|
208
|
+
5. **Mostre o progresso atual**
|
|
209
|
+
|
|
210
|
+
Exiba:
|
|
211
|
+
- Schema sendo usado
|
|
212
|
+
- Progresso: "N/M tarefas concluídas"
|
|
213
|
+
- Visão geral das tarefas restantes
|
|
214
|
+
- Instrução dinâmica do CLI
|
|
215
|
+
|
|
216
|
+
6. **Implemente as tarefas (loop até concluir ou bloquear)**
|
|
217
|
+
|
|
218
|
+
Para cada tarefa pendente:
|
|
219
|
+
- Mostre qual tarefa está sendo trabalhada
|
|
220
|
+
- Faça as alterações de código necessárias
|
|
221
|
+
- Mantenha as alterações mínimas e focadas
|
|
222
|
+
- Marque a tarefa como concluída no arquivo de tasks: \`- [ ]\` → \`- [x]\`
|
|
223
|
+
- Continue para a próxima tarefa
|
|
224
|
+
|
|
225
|
+
**Pare se:**
|
|
226
|
+
- A tarefa estiver incerta → peça esclarecimento
|
|
227
|
+
- A implementação revelar um problema de design → sugira atualizar artifacts
|
|
228
|
+
- Encontrar erro ou bloqueio → reporte e aguarde orientação
|
|
229
|
+
- O usuário interromper
|
|
230
|
+
|
|
231
|
+
7. **Ao concluir ou pausar, mostre o status**
|
|
232
|
+
|
|
233
|
+
Exiba:
|
|
234
|
+
- Tarefas concluídas nesta sessão
|
|
235
|
+
- Progresso geral: "N/M tarefas concluídas"
|
|
236
|
+
- Se tudo concluído: sugira arquivar
|
|
237
|
+
- Se pausado: explique o porquê e aguarde orientação
|
|
238
|
+
|
|
239
|
+
**Saída Durante a Implementação**
|
|
240
|
+
|
|
241
|
+
\`\`\`
|
|
242
|
+
## Implementando: <nome-change> (schema: <nome-schema>)
|
|
243
|
+
|
|
244
|
+
Trabalhando na tarefa 3/7: <descrição da tarefa>
|
|
245
|
+
[...implementação acontecendo...]
|
|
246
|
+
✓ Tarefa concluída
|
|
247
|
+
|
|
248
|
+
Trabalhando na tarefa 4/7: <descrição da tarefa>
|
|
249
|
+
[...implementação acontecendo...]
|
|
250
|
+
✓ Tarefa concluída
|
|
251
|
+
\`\`\`
|
|
252
|
+
|
|
253
|
+
**Saída ao Concluir**
|
|
254
|
+
|
|
255
|
+
\`\`\`
|
|
256
|
+
## Implementação Concluída
|
|
257
|
+
|
|
258
|
+
**Change:** <nome-change>
|
|
259
|
+
**Schema:** <nome-schema>
|
|
260
|
+
**Progresso:** 7/7 tarefas concluídas ✓
|
|
261
|
+
|
|
262
|
+
### Concluídas Nesta Sessão
|
|
263
|
+
- [x] Tarefa 1
|
|
264
|
+
- [x] Tarefa 2
|
|
265
|
+
...
|
|
266
|
+
|
|
267
|
+
Todas as tarefas concluídas! Você pode arquivar esta change com \`/opsx:archive\`.
|
|
268
|
+
\`\`\`
|
|
269
|
+
|
|
270
|
+
**Saída ao Pausar (Problema Encontrado)**
|
|
271
|
+
|
|
272
|
+
\`\`\`
|
|
273
|
+
## Implementação Pausada
|
|
274
|
+
|
|
275
|
+
**Change:** <nome-change>
|
|
276
|
+
**Schema:** <nome-schema>
|
|
277
|
+
**Progresso:** 4/7 tarefas concluídas
|
|
278
|
+
|
|
279
|
+
### Problema Encontrado
|
|
280
|
+
<descrição do problema>
|
|
281
|
+
|
|
282
|
+
**Opções:**
|
|
283
|
+
1. <opção 1>
|
|
284
|
+
2. <opção 2>
|
|
285
|
+
3. Outra abordagem
|
|
286
|
+
|
|
287
|
+
O que você gostaria de fazer?
|
|
288
|
+
\`\`\`
|
|
289
|
+
|
|
290
|
+
**Guardrails**
|
|
291
|
+
- Continue pelas tarefas até concluir ou bloquear
|
|
292
|
+
- Sempre leia os arquivos de contexto antes de começar (da saída das instruções de apply)
|
|
293
|
+
- Se a tarefa for ambígua, pause e pergunte antes de implementar
|
|
294
|
+
- Se a implementação revelar problemas, pause e sugira atualizar artifacts
|
|
295
|
+
- Mantenha as alterações de código mínimas e limitadas a cada tarefa
|
|
296
|
+
- Atualize a checkbox da tarefa imediatamente após concluir cada tarefa
|
|
297
|
+
- Pare em erros, bloqueios ou requisitos incertos - não adivinhe
|
|
298
|
+
- Use os contextFiles da saída do CLI, não assuma nomes de arquivos específicos
|
|
299
|
+
|
|
300
|
+
**Integração com Fluxo Fluido**
|
|
301
|
+
|
|
302
|
+
Esta skill suporta o modelo de "ações em uma change":
|
|
303
|
+
|
|
304
|
+
- **Pode ser invocada a qualquer momento**: Antes de todos os artifacts estarem prontos (se tasks existirem), após implementação parcial, intercalada com outras ações
|
|
305
305
|
- **Permite atualizações de artifacts**: Se a implementação revelar problemas de design, sugira atualizar artifacts - não está travada em fases, trabalhe de forma fluida`
|
|
306
306
|
};
|
|
307
307
|
}
|