@dynamicworks/br-openspec 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +210 -0
- package/README.pt-BR.md +212 -0
- package/bin/openspec.js +3 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +484 -0
- package/dist/commands/change.d.ts +35 -0
- package/dist/commands/change.js +278 -0
- package/dist/commands/completion.d.ts +72 -0
- package/dist/commands/completion.js +258 -0
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +553 -0
- package/dist/commands/feedback.d.ts +9 -0
- package/dist/commands/feedback.js +184 -0
- package/dist/commands/schema.d.ts +6 -0
- package/dist/commands/schema.js +869 -0
- package/dist/commands/show.d.ts +14 -0
- package/dist/commands/show.js +133 -0
- package/dist/commands/spec.d.ts +15 -0
- package/dist/commands/spec.js +226 -0
- package/dist/commands/tools.d.ts +11 -0
- package/dist/commands/tools.js +252 -0
- package/dist/commands/validate.d.ts +24 -0
- package/dist/commands/validate.js +295 -0
- package/dist/commands/workflow/index.d.ts +17 -0
- package/dist/commands/workflow/index.js +12 -0
- package/dist/commands/workflow/instructions.d.ts +29 -0
- package/dist/commands/workflow/instructions.js +328 -0
- package/dist/commands/workflow/new-change.d.ts +11 -0
- package/dist/commands/workflow/new-change.js +44 -0
- package/dist/commands/workflow/schemas.d.ts +10 -0
- package/dist/commands/workflow/schemas.js +35 -0
- package/dist/commands/workflow/shared.d.ts +57 -0
- package/dist/commands/workflow/shared.js +117 -0
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.js +76 -0
- package/dist/commands/workflow/templates.d.ts +16 -0
- package/dist/commands/workflow/templates.js +70 -0
- package/dist/core/archive.d.ts +11 -0
- package/dist/core/archive.js +322 -0
- package/dist/core/artifact-graph/graph.d.ts +56 -0
- package/dist/core/artifact-graph/graph.js +141 -0
- package/dist/core/artifact-graph/index.d.ts +8 -0
- package/dist/core/artifact-graph/index.js +14 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts +143 -0
- package/dist/core/artifact-graph/instruction-loader.js +217 -0
- package/dist/core/artifact-graph/outputs.d.ts +14 -0
- package/dist/core/artifact-graph/outputs.js +39 -0
- package/dist/core/artifact-graph/resolver.d.ts +81 -0
- package/dist/core/artifact-graph/resolver.js +258 -0
- package/dist/core/artifact-graph/schema.d.ts +13 -0
- package/dist/core/artifact-graph/schema.js +108 -0
- package/dist/core/artifact-graph/state.d.ts +12 -0
- package/dist/core/artifact-graph/state.js +31 -0
- package/dist/core/artifact-graph/types.d.ts +45 -0
- package/dist/core/artifact-graph/types.js +43 -0
- package/dist/core/available-tools.d.ts +17 -0
- package/dist/core/available-tools.js +43 -0
- package/dist/core/command-generation/adapters/amazon-q.d.ts +13 -0
- package/dist/core/command-generation/adapters/amazon-q.js +26 -0
- package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
- package/dist/core/command-generation/adapters/antigravity.js +26 -0
- package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
- package/dist/core/command-generation/adapters/auggie.js +27 -0
- package/dist/core/command-generation/adapters/bob.d.ts +14 -0
- package/dist/core/command-generation/adapters/bob.js +45 -0
- package/dist/core/command-generation/adapters/claude.d.ts +13 -0
- package/dist/core/command-generation/adapters/claude.js +50 -0
- package/dist/core/command-generation/adapters/cline.d.ts +14 -0
- package/dist/core/command-generation/adapters/cline.js +27 -0
- package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
- package/dist/core/command-generation/adapters/codebuddy.js +28 -0
- package/dist/core/command-generation/adapters/codex.d.ts +16 -0
- package/dist/core/command-generation/adapters/codex.js +39 -0
- package/dist/core/command-generation/adapters/continue.d.ts +13 -0
- package/dist/core/command-generation/adapters/continue.js +28 -0
- package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
- package/dist/core/command-generation/adapters/costrict.js +27 -0
- package/dist/core/command-generation/adapters/crush.d.ts +13 -0
- package/dist/core/command-generation/adapters/crush.js +30 -0
- package/dist/core/command-generation/adapters/cursor.d.ts +14 -0
- package/dist/core/command-generation/adapters/cursor.js +44 -0
- package/dist/core/command-generation/adapters/factory.d.ts +13 -0
- package/dist/core/command-generation/adapters/factory.js +27 -0
- package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
- package/dist/core/command-generation/adapters/gemini.js +26 -0
- package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
- package/dist/core/command-generation/adapters/github-copilot.js +26 -0
- package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
- package/dist/core/command-generation/adapters/iflow.js +29 -0
- package/dist/core/command-generation/adapters/index.d.ts +32 -0
- package/dist/core/command-generation/adapters/index.js +32 -0
- package/dist/core/command-generation/adapters/junie.d.ts +13 -0
- package/dist/core/command-generation/adapters/junie.js +26 -0
- package/dist/core/command-generation/adapters/kilocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/kilocode.js +23 -0
- package/dist/core/command-generation/adapters/kiro.d.ts +13 -0
- package/dist/core/command-generation/adapters/kiro.js +26 -0
- package/dist/core/command-generation/adapters/lingma.d.ts +13 -0
- package/dist/core/command-generation/adapters/lingma.js +30 -0
- package/dist/core/command-generation/adapters/opencode.d.ts +13 -0
- package/dist/core/command-generation/adapters/opencode.js +29 -0
- package/dist/core/command-generation/adapters/pi.d.ts +18 -0
- package/dist/core/command-generation/adapters/pi.js +55 -0
- package/dist/core/command-generation/adapters/qoder.d.ts +13 -0
- package/dist/core/command-generation/adapters/qoder.js +30 -0
- package/dist/core/command-generation/adapters/qwen.d.ts +13 -0
- package/dist/core/command-generation/adapters/qwen.js +26 -0
- package/dist/core/command-generation/adapters/roocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/roocode.js +27 -0
- package/dist/core/command-generation/adapters/windsurf.d.ts +14 -0
- package/dist/core/command-generation/adapters/windsurf.js +51 -0
- package/dist/core/command-generation/generator.d.ts +21 -0
- package/dist/core/command-generation/generator.js +27 -0
- package/dist/core/command-generation/index.d.ts +22 -0
- package/dist/core/command-generation/index.js +24 -0
- package/dist/core/command-generation/registry.d.ts +36 -0
- package/dist/core/command-generation/registry.js +98 -0
- package/dist/core/command-generation/types.d.ts +56 -0
- package/dist/core/command-generation/types.js +8 -0
- package/dist/core/completions/command-registry.d.ts +7 -0
- package/dist/core/completions/command-registry.js +462 -0
- package/dist/core/completions/completion-provider.d.ts +60 -0
- package/dist/core/completions/completion-provider.js +102 -0
- package/dist/core/completions/factory.d.ts +64 -0
- package/dist/core/completions/factory.js +75 -0
- package/dist/core/completions/generators/bash-generator.d.ts +32 -0
- package/dist/core/completions/generators/bash-generator.js +174 -0
- package/dist/core/completions/generators/fish-generator.d.ts +32 -0
- package/dist/core/completions/generators/fish-generator.js +157 -0
- package/dist/core/completions/generators/powershell-generator.d.ts +33 -0
- package/dist/core/completions/generators/powershell-generator.js +208 -0
- package/dist/core/completions/generators/zsh-generator.d.ts +44 -0
- package/dist/core/completions/generators/zsh-generator.js +250 -0
- package/dist/core/completions/installers/bash-installer.d.ts +87 -0
- package/dist/core/completions/installers/bash-installer.js +319 -0
- package/dist/core/completions/installers/fish-installer.d.ts +43 -0
- package/dist/core/completions/installers/fish-installer.js +143 -0
- package/dist/core/completions/installers/powershell-installer.d.ts +102 -0
- package/dist/core/completions/installers/powershell-installer.js +400 -0
- package/dist/core/completions/installers/zsh-installer.d.ts +125 -0
- package/dist/core/completions/installers/zsh-installer.js +450 -0
- package/dist/core/completions/templates/bash-templates.d.ts +6 -0
- package/dist/core/completions/templates/bash-templates.js +24 -0
- package/dist/core/completions/templates/fish-templates.d.ts +7 -0
- package/dist/core/completions/templates/fish-templates.js +39 -0
- package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
- package/dist/core/completions/templates/powershell-templates.js +25 -0
- package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
- package/dist/core/completions/templates/zsh-templates.js +36 -0
- package/dist/core/completions/types.d.ts +79 -0
- package/dist/core/completions/types.js +2 -0
- package/dist/core/config-prompts.d.ts +9 -0
- package/dist/core/config-prompts.js +34 -0
- package/dist/core/config-schema.d.ts +86 -0
- package/dist/core/config-schema.js +213 -0
- package/dist/core/config.d.ts +18 -0
- package/dist/core/config.js +38 -0
- package/dist/core/converters/json-converter.d.ts +6 -0
- package/dist/core/converters/json-converter.js +51 -0
- package/dist/core/global-config.d.ts +44 -0
- package/dist/core/global-config.js +125 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +3 -0
- package/dist/core/init.d.ts +37 -0
- package/dist/core/init.js +549 -0
- package/dist/core/is-project-initialized.d.ts +12 -0
- package/dist/core/is-project-initialized.js +18 -0
- package/dist/core/legacy-cleanup.d.ts +162 -0
- package/dist/core/legacy-cleanup.js +515 -0
- package/dist/core/list.d.ts +9 -0
- package/dist/core/list.js +172 -0
- package/dist/core/migration.d.ts +23 -0
- package/dist/core/migration.js +109 -0
- package/dist/core/parsers/change-parser.d.ts +13 -0
- package/dist/core/parsers/change-parser.js +197 -0
- package/dist/core/parsers/markdown-parser.d.ts +26 -0
- package/dist/core/parsers/markdown-parser.js +228 -0
- package/dist/core/parsers/requirement-blocks.d.ts +37 -0
- package/dist/core/parsers/requirement-blocks.js +201 -0
- package/dist/core/parsers/spec-structure.d.ts +9 -0
- package/dist/core/parsers/spec-structure.js +88 -0
- package/dist/core/profile-sync-drift.d.ts +38 -0
- package/dist/core/profile-sync-drift.js +200 -0
- package/dist/core/profiles.d.ts +26 -0
- package/dist/core/profiles.js +40 -0
- package/dist/core/project-config.d.ts +64 -0
- package/dist/core/project-config.js +224 -0
- package/dist/core/schemas/base.schema.d.ts +13 -0
- package/dist/core/schemas/base.schema.js +13 -0
- package/dist/core/schemas/change.schema.d.ts +73 -0
- package/dist/core/schemas/change.schema.js +31 -0
- package/dist/core/schemas/index.d.ts +4 -0
- package/dist/core/schemas/index.js +4 -0
- package/dist/core/schemas/spec.schema.d.ts +18 -0
- package/dist/core/schemas/spec.schema.js +15 -0
- package/dist/core/shared/index.d.ts +8 -0
- package/dist/core/shared/index.js +8 -0
- package/dist/core/shared/skill-generation.d.ts +49 -0
- package/dist/core/shared/skill-generation.js +96 -0
- package/dist/core/shared/tool-detection.d.ts +71 -0
- package/dist/core/shared/tool-detection.js +158 -0
- package/dist/core/specs-apply.d.ts +73 -0
- package/dist/core/specs-apply.js +393 -0
- package/dist/core/styles/palette.d.ts +7 -0
- package/dist/core/styles/palette.js +8 -0
- package/dist/core/templates/index.d.ts +8 -0
- package/dist/core/templates/index.js +9 -0
- package/dist/core/templates/skill-templates.d.ts +20 -0
- package/dist/core/templates/skill-templates.js +19 -0
- package/dist/core/templates/types.d.ts +19 -0
- package/dist/core/templates/types.js +5 -0
- package/dist/core/templates/workflows/apply-change.d.ts +10 -0
- package/dist/core/templates/workflows/apply-change.js +308 -0
- package/dist/core/templates/workflows/archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/archive-change.js +271 -0
- package/dist/core/templates/workflows/bulk-archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/bulk-archive-change.js +492 -0
- package/dist/core/templates/workflows/continue-change.d.ts +10 -0
- package/dist/core/templates/workflows/continue-change.js +232 -0
- package/dist/core/templates/workflows/explore.d.ts +10 -0
- package/dist/core/templates/workflows/explore.js +463 -0
- package/dist/core/templates/workflows/feedback.d.ts +9 -0
- package/dist/core/templates/workflows/feedback.js +108 -0
- package/dist/core/templates/workflows/ff-change.d.ts +10 -0
- package/dist/core/templates/workflows/ff-change.js +198 -0
- package/dist/core/templates/workflows/new-change.d.ts +10 -0
- package/dist/core/templates/workflows/new-change.js +21 -0
- package/dist/core/templates/workflows/onboard.d.ts +10 -0
- package/dist/core/templates/workflows/onboard.js +21 -0
- package/dist/core/templates/workflows/propose.d.ts +10 -0
- package/dist/core/templates/workflows/propose.js +216 -0
- package/dist/core/templates/workflows/sync-specs.d.ts +10 -0
- package/dist/core/templates/workflows/sync-specs.js +272 -0
- package/dist/core/templates/workflows/upstream-sync.d.ts +10 -0
- package/dist/core/templates/workflows/upstream-sync.js +116 -0
- package/dist/core/templates/workflows/verify-change.d.ts +10 -0
- package/dist/core/templates/workflows/verify-change.js +21 -0
- package/dist/core/tools-manager.d.ts +56 -0
- package/dist/core/tools-manager.js +215 -0
- package/dist/core/update.d.ts +77 -0
- package/dist/core/update.js +538 -0
- package/dist/core/validation/constants.d.ts +34 -0
- package/dist/core/validation/constants.js +40 -0
- package/dist/core/validation/types.d.ts +18 -0
- package/dist/core/validation/types.js +2 -0
- package/dist/core/validation/validator.d.ts +33 -0
- package/dist/core/validation/validator.js +419 -0
- package/dist/core/view.d.ts +8 -0
- package/dist/core/view.js +169 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/messages/index.d.ts +867 -0
- package/dist/messages/index.js +1960 -0
- package/dist/prompts/searchable-multi-select.d.ts +28 -0
- package/dist/prompts/searchable-multi-select.js +160 -0
- package/dist/telemetry/config.d.ts +38 -0
- package/dist/telemetry/config.js +136 -0
- package/dist/telemetry/index.d.ts +31 -0
- package/dist/telemetry/index.js +165 -0
- package/dist/ui/ascii-patterns.d.ts +16 -0
- package/dist/ui/ascii-patterns.js +133 -0
- package/dist/ui/welcome-screen.d.ts +10 -0
- package/dist/ui/welcome-screen.js +147 -0
- package/dist/utils/change-metadata.d.ts +51 -0
- package/dist/utils/change-metadata.js +147 -0
- package/dist/utils/change-utils.d.ts +62 -0
- package/dist/utils/change-utils.js +121 -0
- package/dist/utils/command-references.d.ts +18 -0
- package/dist/utils/command-references.js +20 -0
- package/dist/utils/file-system.d.ts +41 -0
- package/dist/utils/file-system.js +302 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/interactive.d.ts +18 -0
- package/dist/utils/interactive.js +21 -0
- package/dist/utils/item-discovery.d.ts +4 -0
- package/dist/utils/item-discovery.js +72 -0
- package/dist/utils/match.d.ts +3 -0
- package/dist/utils/match.js +22 -0
- package/dist/utils/shell-detection.d.ts +20 -0
- package/dist/utils/shell-detection.js +41 -0
- package/dist/utils/task-progress.d.ts +8 -0
- package/dist/utils/task-progress.js +37 -0
- package/package.json +84 -0
- package/schemas/spec-driven/schema.yaml +153 -0
- package/schemas/spec-driven/templates/design.md +19 -0
- package/schemas/spec-driven/templates/proposal.md +23 -0
- package/schemas/spec-driven/templates/spec.md +8 -0
- package/schemas/spec-driven/templates/tasks.md +9 -0
- package/scripts/postinstall.js +83 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
export function getApplyChangeSkillTemplate() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'openspec-apply-change',
|
|
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
|
|
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
|
+
license: 'MIT',
|
|
151
|
+
compatibility: 'Requer openspec CLI.',
|
|
152
|
+
metadata: { author: 'openspec', version: '1.0' },
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
export function getOpsxApplyCommandTemplate() {
|
|
156
|
+
return {
|
|
157
|
+
name: 'OPSX: Apply',
|
|
158
|
+
description: 'Implementa tarefas de uma change do BR-OpenSpec (Experimental)',
|
|
159
|
+
category: 'Workflow',
|
|
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
|
|
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
|
+
};
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=apply-change.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Template Workflow Modules
|
|
3
|
+
*
|
|
4
|
+
* This file is generated by splitting the legacy monolithic
|
|
5
|
+
* templates file into workflow-focused modules.
|
|
6
|
+
*/
|
|
7
|
+
import type { SkillTemplate, CommandTemplate } from '../types.js';
|
|
8
|
+
export declare function getArchiveChangeSkillTemplate(): SkillTemplate;
|
|
9
|
+
export declare function getOpsxArchiveCommandTemplate(): CommandTemplate;
|
|
10
|
+
//# sourceMappingURL=archive-change.d.ts.map
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
export function getArchiveChangeSkillTemplate() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'openspec-archive-change',
|
|
4
|
+
description: 'Arquiva uma change concluída no workflow experimental. Use quando o usuário quiser finalizar e arquivar uma change após a implementação estar completa.',
|
|
5
|
+
instructions: `Arquiva uma change concluída no workflow experimental.
|
|
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. **Se nenhum nome de change for fornecido, solicite a seleção**
|
|
12
|
+
|
|
13
|
+
Execute \`openspec list --json\` para obter as changes disponíveis. Use a ferramenta **AskUserQuestion** para permitir que o usuário selecione.
|
|
14
|
+
|
|
15
|
+
Mostre apenas as changes ativas (não arquivadas).
|
|
16
|
+
Inclua o schema usado para cada change, se disponível.
|
|
17
|
+
|
|
18
|
+
**IMPORTANTE**: NÃO adivinhe ou selecione automaticamente uma change. Sempre deixe o usuário escolher.
|
|
19
|
+
|
|
20
|
+
2. **Verifique o status de conclusão dos artifacts**
|
|
21
|
+
|
|
22
|
+
Execute \`openspec status --change "<nome>" --json\` para verificar a conclusão dos artifacts.
|
|
23
|
+
|
|
24
|
+
Analise o JSON para entender:
|
|
25
|
+
- \`schemaName\`: O workflow sendo usado
|
|
26
|
+
- \`artifacts\`: Lista de artifacts com seu status (\`done\` ou outro)
|
|
27
|
+
|
|
28
|
+
**Se algum artifact não estiver \`done\`:**
|
|
29
|
+
- Exiba um aviso listando os artifacts incompletos
|
|
30
|
+
- Use a ferramenta **AskUserQuestion** para confirmar se o usuário deseja prosseguir
|
|
31
|
+
- Prossiga se o usuário confirmar
|
|
32
|
+
|
|
33
|
+
3. **Verifique o status de conclusão das tarefas**
|
|
34
|
+
|
|
35
|
+
Leia o arquivo de tarefas (tipicamente \`tasks.md\`) para verificar tarefas incompletas.
|
|
36
|
+
|
|
37
|
+
Conte as tarefas marcadas com \`- [ ]\` (incompleto) vs \`- [x]\` (concluído).
|
|
38
|
+
|
|
39
|
+
**Se tarefas incompletas forem encontradas:**
|
|
40
|
+
- Exiba um aviso mostrando a quantidade de tarefas incompletas
|
|
41
|
+
- Use a ferramenta **AskUserQuestion** para confirmar se o usuário deseja prosseguir
|
|
42
|
+
- Prossiga se o usuário confirmar
|
|
43
|
+
|
|
44
|
+
**Se não existir arquivo de tarefas:** Prossiga sem aviso relacionado a tarefas.
|
|
45
|
+
|
|
46
|
+
4. **Avalie o estado de sincronização dos delta specs**
|
|
47
|
+
|
|
48
|
+
Verifique se existem delta specs em \`openspec/changes/<nome>/specs/\`. Se não existirem, prossiga sem prompt de sync.
|
|
49
|
+
|
|
50
|
+
**Se delta specs existirem:**
|
|
51
|
+
- Compare cada delta spec com seu spec principal correspondente em \`openspec/specs/<capability>/spec.md\`
|
|
52
|
+
- Determine quais alterações seriam aplicadas (adições, modificações, remoções, renomeações)
|
|
53
|
+
- Mostre um resumo combinado antes de solicitar
|
|
54
|
+
|
|
55
|
+
**Opções de prompt:**
|
|
56
|
+
- Se alterações forem necessárias: "Sincronizar agora (recomendado)", "Arquivar sem sincronizar"
|
|
57
|
+
- Se já estiver sincronizado: "Arquivar agora", "Sincronizar mesmo assim", "Cancelar"
|
|
58
|
+
|
|
59
|
+
Se o usuário escolher sincronizar, use a ferramenta Task (subagent_type: "general-purpose", prompt: "Use a ferramenta Skill para invocar openspec-sync-specs para a change '<nome>'. Análise de delta spec: <inclua o resumo analisado do delta spec>"). Prossiga para o arquivamento independentemente da escolha.
|
|
60
|
+
|
|
61
|
+
5. **Realize o arquivamento**
|
|
62
|
+
|
|
63
|
+
Crie o diretório de arquivo se não existir:
|
|
64
|
+
\`\`\`bash
|
|
65
|
+
mkdir -p openspec/changes/archive
|
|
66
|
+
\`\`\`
|
|
67
|
+
|
|
68
|
+
Gere o nome do destino usando a data atual: \`YYYY-MM-DD-<nome-change>\`
|
|
69
|
+
|
|
70
|
+
**Verifique se o destino já existe:**
|
|
71
|
+
- Se sim: Falhe com erro, sugira renomear o arquivo existente ou usar uma data diferente
|
|
72
|
+
- Se não: Mova o diretório da change para o arquivo
|
|
73
|
+
|
|
74
|
+
\`\`\`bash
|
|
75
|
+
mv openspec/changes/<nome> openspec/changes/archive/YYYY-MM-DD-<nome>
|
|
76
|
+
\`\`\`
|
|
77
|
+
|
|
78
|
+
6. **Exiba o resumo**
|
|
79
|
+
|
|
80
|
+
Mostre o resumo de conclusão do arquivamento incluindo:
|
|
81
|
+
- Nome da change
|
|
82
|
+
- Schema que foi usado
|
|
83
|
+
- Local do arquivo
|
|
84
|
+
- Se os specs foram sincronizados (se aplicável)
|
|
85
|
+
- Observação sobre quaisquer avisos (artifacts/tarefas incompletos)
|
|
86
|
+
|
|
87
|
+
**Saída em Sucesso**
|
|
88
|
+
|
|
89
|
+
\`\`\`
|
|
90
|
+
## Arquivamento Concluído
|
|
91
|
+
|
|
92
|
+
**Change:** <nome-change>
|
|
93
|
+
**Schema:** <nome-schema>
|
|
94
|
+
**Arquivado em:** openspec/changes/archive/YYYY-MM-DD-<nome>/
|
|
95
|
+
**Specs:** ✓ Sincronizados com os specs principais (ou "Sem delta specs" ou "Sincronização ignorada")
|
|
96
|
+
|
|
97
|
+
Todos os artifacts completos. Todas as tarefas completas.
|
|
98
|
+
\`\`\`
|
|
99
|
+
|
|
100
|
+
**Guardrails**
|
|
101
|
+
- Sempre solicite a seleção da change se não fornecida
|
|
102
|
+
- Use o grafo de artifacts (openspec status --json) para verificação de conclusão
|
|
103
|
+
- Não bloqueie o arquivamento por avisos - apenas informe e confirme
|
|
104
|
+
- Preservar .openspec.yaml ao mover para o arquivo (ele move com o diretório)
|
|
105
|
+
- Mostre um resumo claro do que aconteceu
|
|
106
|
+
- Se sync for solicitado, use a abordagem openspec-sync-specs (agent-driven)
|
|
107
|
+
- Se delta specs existirem, sempre execute a avaliação de sync e mostre o resumo combinado antes de solicitar`,
|
|
108
|
+
license: 'MIT',
|
|
109
|
+
compatibility: 'Requer openspec CLI.',
|
|
110
|
+
metadata: { author: 'openspec', version: '1.0' },
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export function getOpsxArchiveCommandTemplate() {
|
|
114
|
+
return {
|
|
115
|
+
name: 'OPSX: Archive',
|
|
116
|
+
description: 'Arquiva uma change concluída no workflow experimental',
|
|
117
|
+
category: 'Workflow',
|
|
118
|
+
tags: ['workflow', 'archive', 'experimental'],
|
|
119
|
+
content: `Arquiva uma change concluída no workflow experimental.
|
|
120
|
+
|
|
121
|
+
**Entrada**: Opcionalmente especifique um nome de change após \`/opsx:archive\` (por exemplo, \`/opsx:archive 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.
|
|
122
|
+
|
|
123
|
+
**Passos**
|
|
124
|
+
|
|
125
|
+
1. **Se nenhum nome de change for fornecido, solicite a seleção**
|
|
126
|
+
|
|
127
|
+
Execute \`openspec list --json\` para obter as changes disponíveis. Use a ferramenta **AskUserQuestion** para permitir que o usuário selecione.
|
|
128
|
+
|
|
129
|
+
Mostre apenas as changes ativas (não arquivadas).
|
|
130
|
+
Inclua o schema usado para cada change, se disponível.
|
|
131
|
+
|
|
132
|
+
**IMPORTANTE**: NÃO adivinhe ou selecione automaticamente uma change. Sempre deixe o usuário escolher.
|
|
133
|
+
|
|
134
|
+
2. **Verifique o status de conclusão dos artifacts**
|
|
135
|
+
|
|
136
|
+
Execute \`openspec status --change "<nome>" --json\` para verificar a conclusão dos artifacts.
|
|
137
|
+
|
|
138
|
+
Analise o JSON para entender:
|
|
139
|
+
- \`schemaName\`: O workflow sendo usado
|
|
140
|
+
- \`artifacts\`: Lista de artifacts com seu status (\`done\` ou outro)
|
|
141
|
+
|
|
142
|
+
**Se algum artifact não estiver \`done\`:**
|
|
143
|
+
- Exiba um aviso listando os artifacts incompletos
|
|
144
|
+
- Solicite confirmação do usuário para continuar
|
|
145
|
+
- Prossiga se o usuário confirmar
|
|
146
|
+
|
|
147
|
+
3. **Verifique o status de conclusão das tarefas**
|
|
148
|
+
|
|
149
|
+
Leia o arquivo de tarefas (tipicamente \`tasks.md\`) para verificar tarefas incompletas.
|
|
150
|
+
|
|
151
|
+
Conte as tarefas marcadas com \`- [ ]\` (incompleto) vs \`- [x]\` (concluído).
|
|
152
|
+
|
|
153
|
+
**Se tarefas incompletas forem encontradas:**
|
|
154
|
+
- Exiba um aviso mostrando a quantidade de tarefas incompletas
|
|
155
|
+
- Solicite confirmação do usuário para continuar
|
|
156
|
+
- Prossiga se o usuário confirmar
|
|
157
|
+
|
|
158
|
+
**Se não existir arquivo de tarefas:** Prossiga sem aviso relacionado a tarefas.
|
|
159
|
+
|
|
160
|
+
4. **Avalie o estado de sincronização dos delta specs**
|
|
161
|
+
|
|
162
|
+
Verifique se existem delta specs em \`openspec/changes/<nome>/specs/\`. Se não existirem, prossiga sem prompt de sync.
|
|
163
|
+
|
|
164
|
+
**Se delta specs existirem:**
|
|
165
|
+
- Compare cada delta spec com seu spec principal correspondente em \`openspec/specs/<capability>/spec.md\`
|
|
166
|
+
- Determine quais alterações seriam aplicadas (adições, modificações, remoções, renomeações)
|
|
167
|
+
- Mostre um resumo combinado antes de solicitar
|
|
168
|
+
|
|
169
|
+
**Opções de prompt:**
|
|
170
|
+
- Se alterações forem necessárias: "Sincronizar agora (recomendado)", "Arquivar sem sincronizar"
|
|
171
|
+
- Se já estiver sincronizado: "Arquivar agora", "Sincronizar mesmo assim", "Cancelar"
|
|
172
|
+
|
|
173
|
+
Se o usuário escolher sincronizar, use a ferramenta Task (subagent_type: "general-purpose", prompt: "Use a ferramenta Skill para invocar openspec-sync-specs para a change '<nome>'. Análise de delta spec: <inclua o resumo analisado do delta spec>"). Prossiga para o arquivamento independentemente da escolha.
|
|
174
|
+
|
|
175
|
+
5. **Realize o arquivamento**
|
|
176
|
+
|
|
177
|
+
Crie o diretório de arquivo se não existir:
|
|
178
|
+
\`\`\`bash
|
|
179
|
+
mkdir -p openspec/changes/archive
|
|
180
|
+
\`\`\`
|
|
181
|
+
|
|
182
|
+
Gere o nome do destino usando a data atual: \`YYYY-MM-DD-<nome-change>\`
|
|
183
|
+
|
|
184
|
+
**Verifique se o destino já existe:**
|
|
185
|
+
- Se sim: Falhe com erro, sugira renomear o arquivo existente ou usar uma data diferente
|
|
186
|
+
- Se não: Mova o diretório da change para o arquivo
|
|
187
|
+
|
|
188
|
+
\`\`\`bash
|
|
189
|
+
mv openspec/changes/<nome> openspec/changes/archive/YYYY-MM-DD-<nome>
|
|
190
|
+
\`\`\`
|
|
191
|
+
|
|
192
|
+
6. **Exiba o resumo**
|
|
193
|
+
|
|
194
|
+
Mostre o resumo de conclusão do arquivamento incluindo:
|
|
195
|
+
- Nome da change
|
|
196
|
+
- Schema que foi usado
|
|
197
|
+
- Local do arquivo
|
|
198
|
+
- Status de sincronização dos specs (sincronizado / sincronização ignorada / sem delta specs)
|
|
199
|
+
- Observação sobre quaisquer avisos (artifacts/tarefas incompletos)
|
|
200
|
+
|
|
201
|
+
**Saída em Sucesso**
|
|
202
|
+
|
|
203
|
+
\`\`\`
|
|
204
|
+
## Arquivamento Concluído
|
|
205
|
+
|
|
206
|
+
**Change:** <nome-change>
|
|
207
|
+
**Schema:** <nome-schema>
|
|
208
|
+
**Arquivado em:** openspec/changes/archive/YYYY-MM-DD-<nome>/
|
|
209
|
+
**Specs:** ✓ Sincronizados com os specs principais
|
|
210
|
+
|
|
211
|
+
Todos os artifacts completos. Todas as tarefas completas.
|
|
212
|
+
\`\`\`
|
|
213
|
+
|
|
214
|
+
**Saída em Sucesso (Sem Delta Specs)**
|
|
215
|
+
|
|
216
|
+
\`\`\`
|
|
217
|
+
## Arquivamento Concluído
|
|
218
|
+
|
|
219
|
+
**Change:** <nome-change>
|
|
220
|
+
**Schema:** <nome-schema>
|
|
221
|
+
**Arquivado em:** openspec/changes/archive/YYYY-MM-DD-<nome>/
|
|
222
|
+
**Specs:** Sem delta specs
|
|
223
|
+
|
|
224
|
+
Todos os artifacts completos. Todas as tarefas completas.
|
|
225
|
+
\`\`\`
|
|
226
|
+
|
|
227
|
+
**Saída em Sucesso com Avisos**
|
|
228
|
+
|
|
229
|
+
\`\`\`
|
|
230
|
+
## Arquivamento Concluído (com avisos)
|
|
231
|
+
|
|
232
|
+
**Change:** <nome-change>
|
|
233
|
+
**Schema:** <nome-schema>
|
|
234
|
+
**Arquivado em:** openspec/changes/archive/YYYY-MM-DD-<nome>/
|
|
235
|
+
**Specs:** Sincronização ignorada (usuário escolheu ignorar)
|
|
236
|
+
|
|
237
|
+
**Avisos:**
|
|
238
|
+
- Arquivado com 2 artifacts incompletos
|
|
239
|
+
- Arquivado com 3 tarefas incompletas
|
|
240
|
+
- Sincronização de delta spec foi ignorada (usuário escolheu ignorar)
|
|
241
|
+
|
|
242
|
+
Revise o arquivo se isso não foi intencional.
|
|
243
|
+
\`\`\`
|
|
244
|
+
|
|
245
|
+
**Saída em Erro (Arquivo Existe)**
|
|
246
|
+
|
|
247
|
+
\`\`\`
|
|
248
|
+
## Arquivamento Falhou
|
|
249
|
+
|
|
250
|
+
**Change:** <nome-change>
|
|
251
|
+
**Destino:** openspec/changes/archive/YYYY-MM-DD-<nome>/
|
|
252
|
+
|
|
253
|
+
O diretório de arquivo de destino já existe.
|
|
254
|
+
|
|
255
|
+
**Opções:**
|
|
256
|
+
1. Renomear o arquivo existente
|
|
257
|
+
2. Excluir o arquivo existente se for uma duplicata
|
|
258
|
+
3. Aguardar até uma data diferente para arquivar
|
|
259
|
+
\`\`\`
|
|
260
|
+
|
|
261
|
+
**Guardrails**
|
|
262
|
+
- Sempre solicite a seleção da change se não fornecida
|
|
263
|
+
- Use o grafo de artifacts (openspec status --json) para verificação de conclusão
|
|
264
|
+
- Não bloqueie o arquivamento por avisos - apenas informe e confirme
|
|
265
|
+
- Preservar .openspec.yaml ao mover para o arquivo (ele move com o diretório)
|
|
266
|
+
- Mostre um resumo claro do que aconteceu
|
|
267
|
+
- Se sync for solicitado, use a ferramenta Skill para invocar \`openspec-sync-specs\` (agent-driven)
|
|
268
|
+
- Se delta specs existirem, sempre execute a avaliação de sync e mostre o resumo combinado antes de solicitar`
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=archive-change.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Template Workflow Modules
|
|
3
|
+
*
|
|
4
|
+
* This file is generated by splitting the legacy monolithic
|
|
5
|
+
* templates file into workflow-focused modules.
|
|
6
|
+
*/
|
|
7
|
+
import type { SkillTemplate, CommandTemplate } from '../types.js';
|
|
8
|
+
export declare function getBulkArchiveChangeSkillTemplate(): SkillTemplate;
|
|
9
|
+
export declare function getOpsxBulkArchiveCommandTemplate(): CommandTemplate;
|
|
10
|
+
//# sourceMappingURL=bulk-archive-change.d.ts.map
|