@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.
Files changed (59) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +210 -210
  3. package/README.pt-BR.md +212 -212
  4. package/bin/openspec.js +2 -2
  5. package/dist/commands/feedback.js +4 -4
  6. package/dist/commands/schema.js +60 -60
  7. package/dist/core/command-generation/adapters/amazon-q.js +5 -5
  8. package/dist/core/command-generation/adapters/antigravity.js +5 -5
  9. package/dist/core/command-generation/adapters/auggie.js +6 -6
  10. package/dist/core/command-generation/adapters/bob.js +6 -6
  11. package/dist/core/command-generation/adapters/claude.js +8 -8
  12. package/dist/core/command-generation/adapters/cline.js +5 -5
  13. package/dist/core/command-generation/adapters/codebuddy.js +7 -7
  14. package/dist/core/command-generation/adapters/codex.js +6 -6
  15. package/dist/core/command-generation/adapters/continue.js +7 -7
  16. package/dist/core/command-generation/adapters/costrict.js +6 -6
  17. package/dist/core/command-generation/adapters/crush.js +8 -8
  18. package/dist/core/command-generation/adapters/cursor.js +8 -8
  19. package/dist/core/command-generation/adapters/factory.js +6 -6
  20. package/dist/core/command-generation/adapters/gemini.js +5 -5
  21. package/dist/core/command-generation/adapters/github-copilot.js +5 -5
  22. package/dist/core/command-generation/adapters/iflow.js +8 -8
  23. package/dist/core/command-generation/adapters/junie.js +5 -5
  24. package/dist/core/command-generation/adapters/kilocode.js +1 -1
  25. package/dist/core/command-generation/adapters/kiro.js +5 -5
  26. package/dist/core/command-generation/adapters/lingma.js +8 -8
  27. package/dist/core/command-generation/adapters/opencode.js +5 -5
  28. package/dist/core/command-generation/adapters/pi.js +5 -5
  29. package/dist/core/command-generation/adapters/qoder.js +8 -8
  30. package/dist/core/command-generation/adapters/qwen.js +5 -5
  31. package/dist/core/command-generation/adapters/roocode.js +5 -5
  32. package/dist/core/command-generation/adapters/windsurf.js +8 -8
  33. package/dist/core/completions/generators/bash-generator.js +41 -41
  34. package/dist/core/completions/generators/fish-generator.js +7 -7
  35. package/dist/core/completions/generators/powershell-generator.js +29 -29
  36. package/dist/core/completions/generators/zsh-generator.js +33 -33
  37. package/dist/core/completions/templates/bash-templates.js +18 -18
  38. package/dist/core/completions/templates/fish-templates.js +32 -32
  39. package/dist/core/completions/templates/powershell-templates.js +19 -19
  40. package/dist/core/completions/templates/zsh-templates.js +30 -30
  41. package/dist/core/shared/skill-generation.js +12 -12
  42. package/dist/core/templates/workflows/apply-change.js +288 -288
  43. package/dist/core/templates/workflows/archive-change.js +251 -251
  44. package/dist/core/templates/workflows/bulk-archive-change.js +472 -472
  45. package/dist/core/templates/workflows/continue-change.js +212 -212
  46. package/dist/core/templates/workflows/explore.js +443 -443
  47. package/dist/core/templates/workflows/feedback.js +97 -97
  48. package/dist/core/templates/workflows/ff-change.js +178 -178
  49. package/dist/core/templates/workflows/propose.js +196 -196
  50. package/dist/core/templates/workflows/sync-specs.js +252 -252
  51. package/dist/core/templates/workflows/upstream-sync.js +93 -93
  52. package/dist/messages/index.js +977 -977
  53. package/package.json +82 -84
  54. package/schemas/spec-driven/schema.yaml +153 -153
  55. package/schemas/spec-driven/templates/design.md +19 -19
  56. package/schemas/spec-driven/templates/proposal.md +23 -23
  57. package/schemas/spec-driven/templates/spec.md +8 -8
  58. package/schemas/spec-driven/templates/tasks.md +9 -9
  59. package/scripts/postinstall.js +83 -83
@@ -2,104 +2,104 @@ export function getOpsxProposeSkillTemplate() {
2
2
  return {
3
3
  name: 'openspec-propose',
4
4
  description: 'Proponha uma nova change com todos os artifacts gerados em um passo. Use quando o usuário quiser descrever rapidamente o que quer construir e obter uma proposal completa com design, specs e tasks prontos para implementação.',
5
- instructions: `Proponha uma nova change - crie a change e gere todos os artifacts em um passo.
6
-
7
- Vou criar uma change com artifacts:
8
- - proposal.md (o que & por que)
9
- - design.md (como)
10
- - tasks.md (passos de implementação)
11
-
12
- Quando pronto para implementar, execute /opsx:apply
13
-
14
- ---
15
-
16
- **Entrada**: A solicitação do usuário deve incluir um nome de change (kebab-case) OU uma descrição do que ele quer construir.
17
-
18
- **Passos**
19
-
20
- 1. **Se nenhuma entrada clara for fornecida, pergunte o que ele quer construir**
21
-
22
- Use a ferramenta **AskUserQuestion** (aberta, sem opções pré-definidas) para perguntar:
23
- > "Em qual change você quer trabalhar? Descreva o que quer construir ou corrigir."
24
-
25
- A partir da descrição dele, derive um nome kebab-case (por exemplo, "adicionar autenticação de usuário" → \`add-user-auth\`).
26
-
27
- **IMPORTANTE**: NÃO prossiga sem entender o que o usuário quer construir.
28
-
29
- 2. **Crie o diretório da change**
30
- \`\`\`bash
31
- openspec new change "<nome>"
32
- \`\`\`
33
- Isso cria uma change com scaffold em \`openspec/changes/<nome>/\` com \`.openspec.yaml\`.
34
-
35
- 3. **Obtenha a ordem de construção dos artifacts**
36
- \`\`\`bash
37
- openspec status --change "<nome>" --json
38
- \`\`\`
39
- Analise o JSON para obter:
40
- - \`applyRequires\`: array de IDs de artifacts necessários antes da implementação (por exemplo, \`["tasks"]\`)
41
- - \`artifacts\`: lista de todos os artifacts com seu status e dependências
42
-
43
- 4. **Crie artifacts em sequência até estar pronto para apply**
44
-
45
- Use a ferramenta **TodoWrite** para rastrear o progresso pelos artifacts.
46
-
47
- Percorra os artifacts em ordem de dependência (artifacts sem dependências pendentes primeiro):
48
-
49
- a. **Para cada artifact que está \`ready\` (dependências satisfeitas)**:
50
- - Obtenha instruções:
51
- \`\`\`bash
52
- openspec instructions <artifact-id> --change "<nome>" --json
53
- \`\`\`
54
- - O JSON de instruções inclui:
55
- - \`context\`: Contexto do projeto (restrições para você - NÃO inclua na saída)
56
- - \`rules\`: Regras específicas do artifact (restrições para você - NÃO inclua na saída)
57
- - \`template\`: A estrutura a ser usada para seu arquivo de saída
58
- - \`instruction\`: Orientação específica do schema para este tipo de artifact
59
- - \`outputPath\`: Onde escrever o artifact
60
- - \`dependencies\`: Artifacts concluídos para ler como contexto
61
- - Leia quaisquer arquivos de dependências concluídos para contexto
62
- - Crie o arquivo do artifact usando \`template\` como a estrutura
63
- - Aplique \`context\` e \`rules\` como restrições - mas NÃO copie-os para o arquivo
64
- - Mostre breve progresso: "Criado <artifact-id>"
65
-
66
- b. **Continue até todos os artifacts \`applyRequires\` estarem completos**
67
- - Após criar cada artifact, reexecute \`openspec status --change "<nome>" --json\`
68
- - Verifique se cada ID de artifact em \`applyRequires\` tem \`status: "done"\` no array de artifacts
69
- - Pare quando todos os artifacts \`applyRequires\` estiverem done
70
-
71
- c. **Se um artifact requerer entrada do usuário** (contexto incerto):
72
- - Use a ferramenta **AskUserQuestion** para esclarecer
73
- - Depois continue com a criação
74
-
75
- 5. **Mostre o status final**
76
- \`\`\`bash
77
- openspec status --change "<nome>"
78
- \`\`\`
79
-
80
- **Saída**
81
-
82
- Após completar todos os artifacts, resuma:
83
- - Nome da change e localização
84
- - Lista de artifacts criados com breves descrições
85
- - O que está pronto: "Todos os artifacts criados! Pronto para implementação."
86
- - Prompt: "Execute \`/opsx:apply\` ou peça-me para implementar para começar a trabalhar nas tarefas."
87
-
88
- **Diretrizes de Criação de Artifacts**
89
-
90
- - Siga o campo \`instruction\` de \`openspec instructions\` para cada tipo de artifact
91
- - O schema define o que cada artifact deve conter - siga-o
92
- - Leia artifacts de dependência para contexto antes de criar novos
93
- - Use \`template\` como a estrutura para seu arquivo de saída - preencha suas seções
94
- - **IMPORTANTE**: \`context\` e \`rules\` são restrições para VOCÊ, não conteúdo para o arquivo
95
- - NÃO copie blocos \`<context>\`, \`<rules>\`, \`<project_context>\` para o artifact
96
- - Eles guiam o que você escreve, mas nunca devem aparecer na saída
97
-
98
- **Guardrails**
99
- - Crie TODOS os artifacts necessários para implementação (conforme definido pelo \`apply.requires\` do schema)
100
- - Sempre leia artifacts de dependência antes de criar um novo
101
- - Se o contexto estiver criticamente incerto, pergunte ao usuário - mas prefira tomar decisões razoáveis para manter o momento
102
- - Se uma change com aquele nome já existir, pergunte se o usuário quer continuar ela ou criar uma nova
5
+ instructions: `Proponha uma nova change - crie a change e gere todos os artifacts em um passo.
6
+
7
+ Vou criar uma change com artifacts:
8
+ - proposal.md (o que & por que)
9
+ - design.md (como)
10
+ - tasks.md (passos de implementação)
11
+
12
+ Quando pronto para implementar, execute /opsx:apply
13
+
14
+ ---
15
+
16
+ **Entrada**: A solicitação do usuário deve incluir um nome de change (kebab-case) OU uma descrição do que ele quer construir.
17
+
18
+ **Passos**
19
+
20
+ 1. **Se nenhuma entrada clara for fornecida, pergunte o que ele quer construir**
21
+
22
+ Use a ferramenta **AskUserQuestion** (aberta, sem opções pré-definidas) para perguntar:
23
+ > "Em qual change você quer trabalhar? Descreva o que quer construir ou corrigir."
24
+
25
+ A partir da descrição dele, derive um nome kebab-case (por exemplo, "adicionar autenticação de usuário" → \`add-user-auth\`).
26
+
27
+ **IMPORTANTE**: NÃO prossiga sem entender o que o usuário quer construir.
28
+
29
+ 2. **Crie o diretório da change**
30
+ \`\`\`bash
31
+ openspec new change "<nome>"
32
+ \`\`\`
33
+ Isso cria uma change com scaffold em \`openspec/changes/<nome>/\` com \`.openspec.yaml\`.
34
+
35
+ 3. **Obtenha a ordem de construção dos artifacts**
36
+ \`\`\`bash
37
+ openspec status --change "<nome>" --json
38
+ \`\`\`
39
+ Analise o JSON para obter:
40
+ - \`applyRequires\`: array de IDs de artifacts necessários antes da implementação (por exemplo, \`["tasks"]\`)
41
+ - \`artifacts\`: lista de todos os artifacts com seu status e dependências
42
+
43
+ 4. **Crie artifacts em sequência até estar pronto para apply**
44
+
45
+ Use a ferramenta **TodoWrite** para rastrear o progresso pelos artifacts.
46
+
47
+ Percorra os artifacts em ordem de dependência (artifacts sem dependências pendentes primeiro):
48
+
49
+ a. **Para cada artifact que está \`ready\` (dependências satisfeitas)**:
50
+ - Obtenha instruções:
51
+ \`\`\`bash
52
+ openspec instructions <artifact-id> --change "<nome>" --json
53
+ \`\`\`
54
+ - O JSON de instruções inclui:
55
+ - \`context\`: Contexto do projeto (restrições para você - NÃO inclua na saída)
56
+ - \`rules\`: Regras específicas do artifact (restrições para você - NÃO inclua na saída)
57
+ - \`template\`: A estrutura a ser usada para seu arquivo de saída
58
+ - \`instruction\`: Orientação específica do schema para este tipo de artifact
59
+ - \`outputPath\`: Onde escrever o artifact
60
+ - \`dependencies\`: Artifacts concluídos para ler como contexto
61
+ - Leia quaisquer arquivos de dependências concluídos para contexto
62
+ - Crie o arquivo do artifact usando \`template\` como a estrutura
63
+ - Aplique \`context\` e \`rules\` como restrições - mas NÃO copie-os para o arquivo
64
+ - Mostre breve progresso: "Criado <artifact-id>"
65
+
66
+ b. **Continue até todos os artifacts \`applyRequires\` estarem completos**
67
+ - Após criar cada artifact, reexecute \`openspec status --change "<nome>" --json\`
68
+ - Verifique se cada ID de artifact em \`applyRequires\` tem \`status: "done"\` no array de artifacts
69
+ - Pare quando todos os artifacts \`applyRequires\` estiverem done
70
+
71
+ c. **Se um artifact requerer entrada do usuário** (contexto incerto):
72
+ - Use a ferramenta **AskUserQuestion** para esclarecer
73
+ - Depois continue com a criação
74
+
75
+ 5. **Mostre o status final**
76
+ \`\`\`bash
77
+ openspec status --change "<nome>"
78
+ \`\`\`
79
+
80
+ **Saída**
81
+
82
+ Após completar todos os artifacts, resuma:
83
+ - Nome da change e localização
84
+ - Lista de artifacts criados com breves descrições
85
+ - O que está pronto: "Todos os artifacts criados! Pronto para implementação."
86
+ - Prompt: "Execute \`/opsx:apply\` ou peça-me para implementar para começar a trabalhar nas tarefas."
87
+
88
+ **Diretrizes de Criação de Artifacts**
89
+
90
+ - Siga o campo \`instruction\` de \`openspec instructions\` para cada tipo de artifact
91
+ - O schema define o que cada artifact deve conter - siga-o
92
+ - Leia artifacts de dependência para contexto antes de criar novos
93
+ - Use \`template\` como a estrutura para seu arquivo de saída - preencha suas seções
94
+ - **IMPORTANTE**: \`context\` e \`rules\` são restrições para VOCÊ, não conteúdo para o arquivo
95
+ - NÃO copie blocos \`<context>\`, \`<rules>\`, \`<project_context>\` para o artifact
96
+ - Eles guiam o que você escreve, mas nunca devem aparecer na saída
97
+
98
+ **Guardrails**
99
+ - Crie TODOS os artifacts necessários para implementação (conforme definido pelo \`apply.requires\` do schema)
100
+ - Sempre leia artifacts de dependência antes de criar um novo
101
+ - Se o contexto estiver criticamente incerto, pergunte ao usuário - mas prefira tomar decisões razoáveis para manter o momento
102
+ - Se uma change com aquele nome já existir, pergunte se o usuário quer continuar ela ou criar uma nova
103
103
  - Verifique se cada arquivo do artifact existe após escrever antes de prosseguir para o próximo`,
104
104
  license: 'MIT',
105
105
  compatibility: 'Requer openspec CLI.',
@@ -112,104 +112,104 @@ export function getOpsxProposeCommandTemplate() {
112
112
  description: 'Proponha uma nova change - crie-a e gere todos os artifacts em um passo',
113
113
  category: 'Workflow',
114
114
  tags: ['workflow', 'artifacts', 'experimental'],
115
- content: `Proponha uma nova change - crie a change e gere todos os artifacts em um passo.
116
-
117
- Vou criar uma change com artifacts:
118
- - proposal.md (o que & por que)
119
- - design.md (como)
120
- - tasks.md (passos de implementação)
121
-
122
- Quando pronto para implementar, execute /opsx:apply
123
-
124
- ---
125
-
126
- **Entrada**: O argumento após \`/opsx:propose\` é o nome da change (kebab-case), OU uma descrição do que o usuário quer construir.
127
-
128
- **Passos**
129
-
130
- 1. **Se nenhuma entrada for fornecida, pergunte o que ele quer construir**
131
-
132
- Use a ferramenta **AskUserQuestion** (aberta, sem opções pré-definidas) para perguntar:
133
- > "Em qual change você quer trabalhar? Descreva o que quer construir ou corrigir."
134
-
135
- A partir da descrição dele, derive um nome kebab-case (por exemplo, "adicionar autenticação de usuário" → \`add-user-auth\`).
136
-
137
- **IMPORTANTE**: NÃO prossiga sem entender o que o usuário quer construir.
138
-
139
- 2. **Crie o diretório da change**
140
- \`\`\`bash
141
- openspec new change "<nome>"
142
- \`\`\`
143
- Isso cria uma change com scaffold em \`openspec/changes/<nome>/\` com \`.openspec.yaml\`.
144
-
145
- 3. **Obtenha a ordem de construção dos artifacts**
146
- \`\`\`bash
147
- openspec status --change "<nome>" --json
148
- \`\`\`
149
- Analise o JSON para obter:
150
- - \`applyRequires\`: array de IDs de artifacts necessários antes da implementação (por exemplo, \`["tasks"]\`)
151
- - \`artifacts\`: lista de todos os artifacts com seu status e dependências
152
-
153
- 4. **Crie artifacts em sequência até estar pronto para apply**
154
-
155
- Use a ferramenta **TodoWrite** para rastrear o progresso pelos artifacts.
156
-
157
- Percorra os artifacts em ordem de dependência (artifacts sem dependências pendentes primeiro):
158
-
159
- a. **Para cada artifact que está \`ready\` (dependências satisfeitas)**:
160
- - Obtenha instruções:
161
- \`\`\`bash
162
- openspec instructions <artifact-id> --change "<nome>" --json
163
- \`\`\`
164
- - O JSON de instruções inclui:
165
- - \`context\`: Contexto do projeto (restrições para você - NÃO inclua na saída)
166
- - \`rules\`: Regras específicas do artifact (restrições para você - NÃO inclua na saída)
167
- - \`template\`: A estrutura a ser usada para seu arquivo de saída
168
- - \`instruction\`: Orientação específica do schema para este tipo de artifact
169
- - \`outputPath\`: Onde escrever o artifact
170
- - \`dependencies\`: Artifacts concluídos para ler como contexto
171
- - Leia quaisquer arquivos de dependências concluídos para contexto
172
- - Crie o arquivo do artifact usando \`template\` como a estrutura
173
- - Aplique \`context\` e \`rules\` como restrições - mas NÃO copie-os para o arquivo
174
- - Mostre breve progresso: "Criado <artifact-id>"
175
-
176
- b. **Continue até todos os artifacts \`applyRequires\` estarem completos**
177
- - Após criar cada artifact, reexecute \`openspec status --change "<nome>" --json\`
178
- - Verifique se cada ID de artifact em \`applyRequires\` tem \`status: "done"\` no array de artifacts
179
- - Pare quando todos os artifacts \`applyRequires\` estiverem done
180
-
181
- c. **Se um artifact requerer entrada do usuário** (contexto incerto):
182
- - Use a ferramenta **AskUserQuestion** para esclarecer
183
- - Depois continue com a criação
184
-
185
- 5. **Mostre o status final**
186
- \`\`\`bash
187
- openspec status --change "<nome>"
188
- \`\`\`
189
-
190
- **Saída**
191
-
192
- Após completar todos os artifacts, resuma:
193
- - Nome da change e localização
194
- - Lista de artifacts criados com breves descrições
195
- - O que está pronto: "Todos os artifacts criados! Pronto para implementação."
196
- - Prompt: "Execute \`/opsx:apply\` para começar a implementar."
197
-
198
- **Diretrizes de Criação de Artifacts**
199
-
200
- - Siga o campo \`instruction\` de \`openspec instructions\` para cada tipo de artifact
201
- - O schema define o que cada artifact deve conter - siga-o
202
- - Leia artifacts de dependência para contexto antes de criar novos
203
- - Use \`template\` como a estrutura para seu arquivo de saída - preencha suas seções
204
- - **IMPORTANTE**: \`context\` e \`rules\` são restrições para VOCÊ, não conteúdo para o arquivo
205
- - NÃO copie blocos \`<context>\`, \`<rules>\`, \`<project_context>\` para o artifact
206
- - Eles guiam o que você escreve, mas nunca devem aparecer na saída
207
-
208
- **Guardrails**
209
- - Crie TODOS os artifacts necessários para implementação (conforme definido pelo \`apply.requires\` do schema)
210
- - Sempre leia artifacts de dependência antes de criar um novo
211
- - Se o contexto estiver criticamente incerto, pergunte ao usuário - mas prefira tomar decisões razoáveis para manter o momento
212
- - Se uma change com aquele nome já existir, pergunte se o usuário quer continuar ela ou criar uma nova
115
+ content: `Proponha uma nova change - crie a change e gere todos os artifacts em um passo.
116
+
117
+ Vou criar uma change com artifacts:
118
+ - proposal.md (o que & por que)
119
+ - design.md (como)
120
+ - tasks.md (passos de implementação)
121
+
122
+ Quando pronto para implementar, execute /opsx:apply
123
+
124
+ ---
125
+
126
+ **Entrada**: O argumento após \`/opsx:propose\` é o nome da change (kebab-case), OU uma descrição do que o usuário quer construir.
127
+
128
+ **Passos**
129
+
130
+ 1. **Se nenhuma entrada for fornecida, pergunte o que ele quer construir**
131
+
132
+ Use a ferramenta **AskUserQuestion** (aberta, sem opções pré-definidas) para perguntar:
133
+ > "Em qual change você quer trabalhar? Descreva o que quer construir ou corrigir."
134
+
135
+ A partir da descrição dele, derive um nome kebab-case (por exemplo, "adicionar autenticação de usuário" → \`add-user-auth\`).
136
+
137
+ **IMPORTANTE**: NÃO prossiga sem entender o que o usuário quer construir.
138
+
139
+ 2. **Crie o diretório da change**
140
+ \`\`\`bash
141
+ openspec new change "<nome>"
142
+ \`\`\`
143
+ Isso cria uma change com scaffold em \`openspec/changes/<nome>/\` com \`.openspec.yaml\`.
144
+
145
+ 3. **Obtenha a ordem de construção dos artifacts**
146
+ \`\`\`bash
147
+ openspec status --change "<nome>" --json
148
+ \`\`\`
149
+ Analise o JSON para obter:
150
+ - \`applyRequires\`: array de IDs de artifacts necessários antes da implementação (por exemplo, \`["tasks"]\`)
151
+ - \`artifacts\`: lista de todos os artifacts com seu status e dependências
152
+
153
+ 4. **Crie artifacts em sequência até estar pronto para apply**
154
+
155
+ Use a ferramenta **TodoWrite** para rastrear o progresso pelos artifacts.
156
+
157
+ Percorra os artifacts em ordem de dependência (artifacts sem dependências pendentes primeiro):
158
+
159
+ a. **Para cada artifact que está \`ready\` (dependências satisfeitas)**:
160
+ - Obtenha instruções:
161
+ \`\`\`bash
162
+ openspec instructions <artifact-id> --change "<nome>" --json
163
+ \`\`\`
164
+ - O JSON de instruções inclui:
165
+ - \`context\`: Contexto do projeto (restrições para você - NÃO inclua na saída)
166
+ - \`rules\`: Regras específicas do artifact (restrições para você - NÃO inclua na saída)
167
+ - \`template\`: A estrutura a ser usada para seu arquivo de saída
168
+ - \`instruction\`: Orientação específica do schema para este tipo de artifact
169
+ - \`outputPath\`: Onde escrever o artifact
170
+ - \`dependencies\`: Artifacts concluídos para ler como contexto
171
+ - Leia quaisquer arquivos de dependências concluídos para contexto
172
+ - Crie o arquivo do artifact usando \`template\` como a estrutura
173
+ - Aplique \`context\` e \`rules\` como restrições - mas NÃO copie-os para o arquivo
174
+ - Mostre breve progresso: "Criado <artifact-id>"
175
+
176
+ b. **Continue até todos os artifacts \`applyRequires\` estarem completos**
177
+ - Após criar cada artifact, reexecute \`openspec status --change "<nome>" --json\`
178
+ - Verifique se cada ID de artifact em \`applyRequires\` tem \`status: "done"\` no array de artifacts
179
+ - Pare quando todos os artifacts \`applyRequires\` estiverem done
180
+
181
+ c. **Se um artifact requerer entrada do usuário** (contexto incerto):
182
+ - Use a ferramenta **AskUserQuestion** para esclarecer
183
+ - Depois continue com a criação
184
+
185
+ 5. **Mostre o status final**
186
+ \`\`\`bash
187
+ openspec status --change "<nome>"
188
+ \`\`\`
189
+
190
+ **Saída**
191
+
192
+ Após completar todos os artifacts, resuma:
193
+ - Nome da change e localização
194
+ - Lista de artifacts criados com breves descrições
195
+ - O que está pronto: "Todos os artifacts criados! Pronto para implementação."
196
+ - Prompt: "Execute \`/opsx:apply\` para começar a implementar."
197
+
198
+ **Diretrizes de Criação de Artifacts**
199
+
200
+ - Siga o campo \`instruction\` de \`openspec instructions\` para cada tipo de artifact
201
+ - O schema define o que cada artifact deve conter - siga-o
202
+ - Leia artifacts de dependência para contexto antes de criar novos
203
+ - Use \`template\` como a estrutura para seu arquivo de saída - preencha suas seções
204
+ - **IMPORTANTE**: \`context\` e \`rules\` são restrições para VOCÊ, não conteúdo para o arquivo
205
+ - NÃO copie blocos \`<context>\`, \`<rules>\`, \`<project_context>\` para o artifact
206
+ - Eles guiam o que você escreve, mas nunca devem aparecer na saída
207
+
208
+ **Guardrails**
209
+ - Crie TODOS os artifacts necessários para implementação (conforme definido pelo \`apply.requires\` do schema)
210
+ - Sempre leia artifacts de dependência antes de criar um novo
211
+ - Se o contexto estiver criticamente incerto, pergunte ao usuário - mas prefira tomar decisões razoáveis para manter o momento
212
+ - Se uma change com aquele nome já existir, pergunte se o usuário quer continuar ela ou criar uma nova
213
213
  - Verifique se cada arquivo do artifact existe após escrever antes de prosseguir para o próximo`
214
214
  };
215
215
  }