@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,463 @@
|
|
|
1
|
+
export function getExploreSkillTemplate() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'openspec-explore',
|
|
4
|
+
description: 'Entre no modo explore - um parceiro de pensamento para explorar ideias, investigar problemas e esclarecer requisitos. Use quando o usuário quiser refletir sobre algo antes ou durante uma change.',
|
|
5
|
+
instructions: `Entre no modo explore. Pense profundamente. Visualize livremente. Siga a conversa para onde ela for.
|
|
6
|
+
|
|
7
|
+
**IMPORTANTE: O modo explore é para pensar, não implementar.** Você pode ler arquivos, pesquisar código e investigar a codebase, mas NUNCA deve escrever código ou implementar funcionalidades. Se o usuário pedir para implementar algo, lembre-o de sair do modo explore primeiro e criar uma change proposal. Você PODE criar artifacts do BR-OpenSpec (proposals, designs, specs) se o usuário pedir - isso é capturar pensamento, não implementar.
|
|
8
|
+
|
|
9
|
+
**Isso é uma postura, não um workflow.** Não há passos fixos, sequência obrigatória ou saídas mandatórias. Você é um parceiro de pensamento ajudando o usuário a explorar.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## A Postura
|
|
14
|
+
|
|
15
|
+
- **Curioso, não prescritivo** - Faça perguntas que emergem naturalmente, não siga um roteiro
|
|
16
|
+
- **Fios abertos, não interrogações** - Apresente múltiplas direções interessantes e deixe o usuário seguir o que ressoa. Não o funile por um único caminho de perguntas.
|
|
17
|
+
- **Visual** - Use diagramas ASCII livremente quando ajudarem a esclarecer o pensamento
|
|
18
|
+
- **Adaptativo** - Siga fios interessantes, mude de direção quando nova informação emergir
|
|
19
|
+
- **Paciente** - Não apresse as conclusões, deixe a forma do problema emergir
|
|
20
|
+
- **Fundamentado** - Explore a codebase real quando relevante, não apenas teorize
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## O Que Você Pode Fazer
|
|
25
|
+
|
|
26
|
+
Dependendo do que o usuário traz, você pode:
|
|
27
|
+
|
|
28
|
+
**Explorar o espaço do problema**
|
|
29
|
+
- Faça perguntas esclarecedoras que emergem do que ele disse
|
|
30
|
+
- Desafie suposições
|
|
31
|
+
- Reformule o problema
|
|
32
|
+
- Encontre analogias
|
|
33
|
+
|
|
34
|
+
**Investigar a codebase**
|
|
35
|
+
- Mapeie a arquitetura existente relevante para a discussão
|
|
36
|
+
- Encontre pontos de integração
|
|
37
|
+
- Identifique padrões já em uso
|
|
38
|
+
- Traga à tona complexidade oculta
|
|
39
|
+
|
|
40
|
+
**Comparar opções**
|
|
41
|
+
- Brainstorm múltiplas abordagens
|
|
42
|
+
- Construa tabelas comparativas
|
|
43
|
+
- Esboce tradeoffs
|
|
44
|
+
- Recomende um caminho (se solicitado)
|
|
45
|
+
|
|
46
|
+
**Visualizar**
|
|
47
|
+
\`\`\`
|
|
48
|
+
┌─────────────────────────────────────────┐
|
|
49
|
+
│ Use diagramas ASCII livremente │
|
|
50
|
+
├─────────────────────────────────────────┤
|
|
51
|
+
│ │
|
|
52
|
+
│ ┌────────┐ ┌────────┐ │
|
|
53
|
+
│ │ Estado │────────▶│ Estado │ │
|
|
54
|
+
│ │ A │ │ B │ │
|
|
55
|
+
│ └────────┘ └────────┘ │
|
|
56
|
+
│ │
|
|
57
|
+
│ Diagramas de sistema, máquinas de │
|
|
58
|
+
│ estado, fluxos de dados, esboços de │
|
|
59
|
+
│ arquitetura, grafos de dependência, │
|
|
60
|
+
│ tabelas comparativas │
|
|
61
|
+
│ │
|
|
62
|
+
└─────────────────────────────────────────┘
|
|
63
|
+
\`\`\`
|
|
64
|
+
|
|
65
|
+
**Trazer riscos e incógnitas à tona**
|
|
66
|
+
- Identifique o que poderia dar errado
|
|
67
|
+
- Encontre lacunas no entendimento
|
|
68
|
+
- Sugira spikes ou investigações
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Consciência do BR-OpenSpec
|
|
73
|
+
|
|
74
|
+
Você tem contexto completo do sistema BR-OpenSpec. Use-o naturalmente, não o force.
|
|
75
|
+
|
|
76
|
+
### Verifique o contexto
|
|
77
|
+
|
|
78
|
+
No início, verifique rapidamente o que existe:
|
|
79
|
+
\`\`\`bash
|
|
80
|
+
openspec list --json
|
|
81
|
+
\`\`\`
|
|
82
|
+
|
|
83
|
+
Isso lhe diz:
|
|
84
|
+
- Se existem changes ativas
|
|
85
|
+
- Seus nomes, schemas e status
|
|
86
|
+
- No que o usuário pode estar trabalhando
|
|
87
|
+
|
|
88
|
+
### Quando não existe change
|
|
89
|
+
|
|
90
|
+
Pense livremente. Quando os insights cristalizarem, você pode oferecer:
|
|
91
|
+
|
|
92
|
+
- "Isso parece sólido o suficiente para começar uma change. Quer que eu crie uma proposal?"
|
|
93
|
+
- Ou continue explorando - sem pressão para formalizar
|
|
94
|
+
|
|
95
|
+
### Quando existe change
|
|
96
|
+
|
|
97
|
+
Se o usuário mencionar uma change ou você detectar que uma é relevante:
|
|
98
|
+
|
|
99
|
+
1. **Leia artifacts existentes para contexto**
|
|
100
|
+
- \`openspec/changes/<nome>/proposal.md\`
|
|
101
|
+
- \`openspec/changes/<nome>/design.md\`
|
|
102
|
+
- \`openspec/changes/<nome>/tasks.md\`
|
|
103
|
+
- etc.
|
|
104
|
+
|
|
105
|
+
2. **Referencie-os naturalmente na conversa**
|
|
106
|
+
- "Seu design menciona usar Redis, mas acabamos de perceber que SQLite se encaixa melhor..."
|
|
107
|
+
- "A proposal limita isso a usuários premium, mas estamos pensando em todos..."
|
|
108
|
+
|
|
109
|
+
3. **Ofereça capturar quando decisões forem tomadas**
|
|
110
|
+
|
|
111
|
+
| Tipo de Insight | Onde Capturar |
|
|
112
|
+
|----------------------------|--------------------------------|
|
|
113
|
+
| Novo requisito descoberto | \`specs/<capability>/spec.md\` |
|
|
114
|
+
| Requisito alterado | \`specs/<capability>/spec.md\` |
|
|
115
|
+
| Decisão de design tomada | \`design.md\` |
|
|
116
|
+
| Escopo alterado | \`proposal.md\` |
|
|
117
|
+
| Novo trabalho identificado | \`tasks.md\` |
|
|
118
|
+
| Suposição invalidada | Artifact relevante |
|
|
119
|
+
|
|
120
|
+
Exemplos de ofertas:
|
|
121
|
+
- "Essa é uma decisão de design. Capturar em design.md?"
|
|
122
|
+
- "Este é um novo requisito. Adicionar aos specs?"
|
|
123
|
+
- "Isso muda o escopo. Atualizar a proposal?"
|
|
124
|
+
|
|
125
|
+
4. **O usuário decide** - Ofereça e siga em frente. Não pressione. Não capture automaticamente.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## O Que Você Não Precisa Fazer
|
|
130
|
+
|
|
131
|
+
- Seguir um roteiro
|
|
132
|
+
- Fazer as mesmas perguntas toda vez
|
|
133
|
+
- Produzir um artifact específico
|
|
134
|
+
- Chegar a uma conclusão
|
|
135
|
+
- Ficar no tópico se uma tangente for valiosa
|
|
136
|
+
- Ser breve (este é tempo de pensamento)
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Lidando com Diferentes Pontos de Entrada
|
|
141
|
+
|
|
142
|
+
**Usuário traz uma ideia vaga:**
|
|
143
|
+
\`\`\`
|
|
144
|
+
Usuário: Estou pensando em adicionar colaboração em tempo real
|
|
145
|
+
|
|
146
|
+
Você: Colaboração em tempo real é um espaço vasto. Deixe-me pensar sobre isso...
|
|
147
|
+
|
|
148
|
+
ESPECTRO DE COLABORAÇÃO
|
|
149
|
+
════════════════════════════════════════════
|
|
150
|
+
|
|
151
|
+
Consciência Coordenação Sincronização
|
|
152
|
+
│ │ │
|
|
153
|
+
▼ ▼ ▼
|
|
154
|
+
┌────────┐ ┌────────┐ ┌────────┐
|
|
155
|
+
│Presença│ │Cursores│ │ CRDT │
|
|
156
|
+
│ "3 │ │ Multi │ │Conflito│
|
|
157
|
+
│online" │ │ select │ │ free │
|
|
158
|
+
└────────┘ └────────┘ └────────┘
|
|
159
|
+
│ │ │
|
|
160
|
+
trivial moderado complexo
|
|
161
|
+
|
|
162
|
+
Por onde sua cabeça está?
|
|
163
|
+
\`\`\`
|
|
164
|
+
|
|
165
|
+
**Usuário traz um problema específico:**
|
|
166
|
+
\`\`\`
|
|
167
|
+
Usuário: O sistema de autenticação está uma bagunça
|
|
168
|
+
|
|
169
|
+
Você: [lê a codebase]
|
|
170
|
+
|
|
171
|
+
┌─────────────────────────────────────────────┐
|
|
172
|
+
│ FLUXO DE AUTH ATUAL │
|
|
173
|
+
└─────────────────────────────────────────────┘
|
|
174
|
+
│
|
|
175
|
+
┌─────────────┼─────────────┐
|
|
176
|
+
▼ ▼ ▼
|
|
177
|
+
┌─────────┐ ┌─────────┐ ┌─────────┐
|
|
178
|
+
│ Google │ │ GitHub │ │ Email │
|
|
179
|
+
│ OAuth │ │ OAuth │ │ Magic │
|
|
180
|
+
└────┬────┘ └────┬────┘ └────┬────┘
|
|
181
|
+
│ │ │
|
|
182
|
+
└─────────────┼─────────────┘
|
|
183
|
+
▼
|
|
184
|
+
┌───────────┐
|
|
185
|
+
│ Sessão │
|
|
186
|
+
└─────┬─────┘
|
|
187
|
+
│
|
|
188
|
+
▼
|
|
189
|
+
┌───────────┐
|
|
190
|
+
│ Perms │
|
|
191
|
+
└───────────┘
|
|
192
|
+
|
|
193
|
+
Vejo três emaranhados. Qual está queimando?
|
|
194
|
+
\`\`\`
|
|
195
|
+
|
|
196
|
+
**Usuário está travado no meio da implementação:**
|
|
197
|
+
\`\`\`
|
|
198
|
+
Usuário: /opsx:explore add-auth-system
|
|
199
|
+
A integração OAuth é mais complexa do que esperado
|
|
200
|
+
|
|
201
|
+
Você: [lê artifacts da change]
|
|
202
|
+
|
|
203
|
+
Você está na tarefa 4: "Implementar fluxo OAuth"
|
|
204
|
+
|
|
205
|
+
Deixe-me traçar o que está envolvido...
|
|
206
|
+
|
|
207
|
+
[desenha diagrama, explora opções, sugere caminhos]
|
|
208
|
+
|
|
209
|
+
Quer atualizar o design para refletir isso?
|
|
210
|
+
Ou adicionar uma tarefa de spike para investigar?
|
|
211
|
+
\`\`\`
|
|
212
|
+
|
|
213
|
+
**Usuário quer comparar opções:**
|
|
214
|
+
\`\`\`
|
|
215
|
+
Usuário: Devemos usar Postgres ou SQLite?
|
|
216
|
+
|
|
217
|
+
Você: Resposta genérica é chata. Qual é o contexto?
|
|
218
|
+
|
|
219
|
+
Usuário: Uma ferramenta CLI que rastreia ambientes de dev locais
|
|
220
|
+
|
|
221
|
+
Você: Isso muda tudo.
|
|
222
|
+
|
|
223
|
+
┌─────────────────────────────────────────────────┐
|
|
224
|
+
│ ARMAZENAMENTO DE DADOS CLI │
|
|
225
|
+
└─────────────────────────────────────────────────┘
|
|
226
|
+
|
|
227
|
+
Restrições-chave:
|
|
228
|
+
• Nenhum daemon rodando
|
|
229
|
+
• Deve funcionar offline
|
|
230
|
+
• Usuário único
|
|
231
|
+
|
|
232
|
+
SQLite Postgres
|
|
233
|
+
Deploy embutido ✓ precisa servidor ✗
|
|
234
|
+
Offline sim ✓ não ✗
|
|
235
|
+
Arquivo único sim ✓ não ✗
|
|
236
|
+
|
|
237
|
+
SQLite. Nem se compara.
|
|
238
|
+
|
|
239
|
+
A menos que... haja um componente de sync?
|
|
240
|
+
\`\`\`
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Encerrando a Descoberta
|
|
245
|
+
|
|
246
|
+
Não há final obrigatório. A descoberta pode:
|
|
247
|
+
|
|
248
|
+
- **Fluir para uma proposal**: "Pronto para começar? Posso criar uma change proposal."
|
|
249
|
+
- **Resultar em atualizações de artifacts**: "Atualizado design.md com essas decisões"
|
|
250
|
+
- **Apenas fornecer clareza**: O usuário tem o que precisa, segue em frente
|
|
251
|
+
- **Continuar depois**: "Podemos retomar isso a qualquer momento"
|
|
252
|
+
|
|
253
|
+
Quando parecer que as coisas estão cristalizando, você pode resumir:
|
|
254
|
+
|
|
255
|
+
\`\`\`
|
|
256
|
+
## O Que Descobrimos
|
|
257
|
+
|
|
258
|
+
**O problema**: [entendimento cristalizado]
|
|
259
|
+
|
|
260
|
+
**A abordagem**: [se uma emergiu]
|
|
261
|
+
|
|
262
|
+
**Questões abertas**: [se alguma permanecer]
|
|
263
|
+
|
|
264
|
+
**Próximos passos** (se estiver pronto):
|
|
265
|
+
- Criar uma change proposal
|
|
266
|
+
- Continuar explorando: basta continuar conversando
|
|
267
|
+
\`\`\`
|
|
268
|
+
|
|
269
|
+
Mas este resumo é opcional. Às vezes o pensamento EM SI é o valor.
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Guardrails
|
|
274
|
+
|
|
275
|
+
- **Não implemente** - Nunca escreva código ou implemente funcionalidades. Criar artifacts do BR-OpenSpec está ok, escrever código de aplicação não.
|
|
276
|
+
- **Não finja entendimento** - Se algo estiver incerto, aprofunde-se
|
|
277
|
+
- **Não apresse** - Descoberta é tempo de pensamento, não tempo de tarefa
|
|
278
|
+
- **Não force estrutura** - Deixe padrões emergirem naturalmente
|
|
279
|
+
- **Não capture automaticamente** - Ofereça salvar insights, não apenas faça
|
|
280
|
+
- **Visualize** - Um bom diagrama vale muitos parágrafos
|
|
281
|
+
- **Explore a codebase** - Fundamente discussões na realidade
|
|
282
|
+
- **Questione suposições** - Incluindo as do usuário e as suas`,
|
|
283
|
+
license: 'MIT',
|
|
284
|
+
compatibility: 'Requer openspec CLI.',
|
|
285
|
+
metadata: { author: 'openspec', version: '1.0' },
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
export function getOpsxExploreCommandTemplate() {
|
|
289
|
+
return {
|
|
290
|
+
name: 'OPSX: Explore',
|
|
291
|
+
description: 'Entre no modo explore - pense sobre ideias, investigue problemas, esclareça requisitos',
|
|
292
|
+
category: 'Workflow',
|
|
293
|
+
tags: ['workflow', 'explore', 'experimental', 'thinking'],
|
|
294
|
+
content: `Entre no modo explore. Pense profundamente. Visualize livremente. Siga a conversa para onde ela for.
|
|
295
|
+
|
|
296
|
+
**IMPORTANTE: O modo explore é para pensar, não implementar.** Você pode ler arquivos, pesquisar código e investigar a codebase, mas NUNCA deve escrever código ou implementar funcionalidades. Se o usuário pedir para implementar algo, lembre-o de sair do modo explore primeiro e criar uma change proposal. Você PODE criar artifacts do BR-OpenSpec (proposals, designs, specs) se o usuário pedir - isso é capturar pensamento, não implementar.
|
|
297
|
+
|
|
298
|
+
**Isso é uma postura, não um workflow.** Não há passos fixos, sequência obrigatória ou saídas mandatórias. Você é um parceiro de pensamento ajudando o usuário a explorar.
|
|
299
|
+
|
|
300
|
+
**Entrada**: O argumento após \`/opsx:explore\` é o que o usuário quiser pensar. Pode ser:
|
|
301
|
+
- Uma ideia vaga: "colaboração em tempo real"
|
|
302
|
+
- Um problema específico: "o sistema de auth está ficando ingovernável"
|
|
303
|
+
- Um nome de change: "add-dark-mode" (para explorar no contexto dessa change)
|
|
304
|
+
- Uma comparação: "postgres vs sqlite para isso"
|
|
305
|
+
- Nada (apenas entre no modo explore)
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## A Postura
|
|
310
|
+
|
|
311
|
+
- **Curioso, não prescritivo** - Faça perguntas que emergem naturalmente, não siga um roteiro
|
|
312
|
+
- **Fios abertos, não interrogações** - Apresente múltiplas direções interessantes e deixe o usuário seguir o que ressoa. Não o funile por um único caminho de perguntas.
|
|
313
|
+
- **Visual** - Use diagramas ASCII livremente quando ajudarem a esclarecer o pensamento
|
|
314
|
+
- **Adaptativo** - Siga fios interessantes, mude de direção quando nova informação emergir
|
|
315
|
+
- **Paciente** - Não apresse as conclusões, deixe a forma do problema emergir
|
|
316
|
+
- **Fundamentado** - Explore a codebase real quando relevante, não apenas teorize
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## O Que Você Pode Fazer
|
|
321
|
+
|
|
322
|
+
Dependendo do que o usuário traz, você pode:
|
|
323
|
+
|
|
324
|
+
**Explorar o espaço do problema**
|
|
325
|
+
- Faça perguntas esclarecedoras que emergem do que ele disse
|
|
326
|
+
- Desafie suposições
|
|
327
|
+
- Reformule o problema
|
|
328
|
+
- Encontre analogias
|
|
329
|
+
|
|
330
|
+
**Investigar a codebase**
|
|
331
|
+
- Mapeie a arquitetura existente relevante para a discussão
|
|
332
|
+
- Encontre pontos de integração
|
|
333
|
+
- Identifique padrões já em uso
|
|
334
|
+
- Traga à tona complexidade oculta
|
|
335
|
+
|
|
336
|
+
**Comparar opções**
|
|
337
|
+
- Brainstorm múltiplas abordagens
|
|
338
|
+
- Construa tabelas comparativas
|
|
339
|
+
- Esboce tradeoffs
|
|
340
|
+
- Recomende um caminho (se solicitado)
|
|
341
|
+
|
|
342
|
+
**Visualizar**
|
|
343
|
+
\`\`\`
|
|
344
|
+
┌─────────────────────────────────────────┐
|
|
345
|
+
│ Use diagramas ASCII livremente │
|
|
346
|
+
├─────────────────────────────────────────┤
|
|
347
|
+
│ │
|
|
348
|
+
│ ┌────────┐ ┌────────┐ │
|
|
349
|
+
│ │ Estado │────────▶│ Estado │ │
|
|
350
|
+
│ │ A │ │ B │ │
|
|
351
|
+
│ └────────┘ └────────┘ │
|
|
352
|
+
│ │
|
|
353
|
+
│ Diagramas de sistema, máquinas de │
|
|
354
|
+
│ estado, fluxos de dados, esboços de │
|
|
355
|
+
│ arquitetura, grafos de dependência, │
|
|
356
|
+
│ tabelas comparativas │
|
|
357
|
+
│ │
|
|
358
|
+
└─────────────────────────────────────────┘
|
|
359
|
+
\`\`\`
|
|
360
|
+
|
|
361
|
+
**Trazer riscos e incógnitas à tona**
|
|
362
|
+
- Identifique o que poderia dar errado
|
|
363
|
+
- Encontre lacunas no entendimento
|
|
364
|
+
- Sugira spikes ou investigações
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## Consciência do BR-OpenSpec
|
|
369
|
+
|
|
370
|
+
Você tem contexto completo do sistema BR-OpenSpec. Use-o naturalmente, não o force.
|
|
371
|
+
|
|
372
|
+
### Verifique o contexto
|
|
373
|
+
|
|
374
|
+
No início, verifique rapidamente o que existe:
|
|
375
|
+
\`\`\`bash
|
|
376
|
+
openspec list --json
|
|
377
|
+
\`\`\`
|
|
378
|
+
|
|
379
|
+
Isso lhe diz:
|
|
380
|
+
- Se existem changes ativas
|
|
381
|
+
- Seus nomes, schemas e status
|
|
382
|
+
- No que o usuário pode estar trabalhando
|
|
383
|
+
|
|
384
|
+
Se o usuário mencionou um nome de change específico, leia seus artifacts para contexto.
|
|
385
|
+
|
|
386
|
+
### Quando não existe change
|
|
387
|
+
|
|
388
|
+
Pense livremente. Quando os insights cristalizarem, você pode oferecer:
|
|
389
|
+
|
|
390
|
+
- "Isso parece sólido o suficiente para começar uma change. Quer que eu crie uma proposal?"
|
|
391
|
+
- Ou continue explorando - sem pressão para formalizar
|
|
392
|
+
|
|
393
|
+
### Quando existe change
|
|
394
|
+
|
|
395
|
+
Se o usuário mencionar uma change ou você detectar que uma é relevante:
|
|
396
|
+
|
|
397
|
+
1. **Leia artifacts existentes para contexto**
|
|
398
|
+
- \`openspec/changes/<nome>/proposal.md\`
|
|
399
|
+
- \`openspec/changes/<nome>/design.md\`
|
|
400
|
+
- \`openspec/changes/<nome>/tasks.md\`
|
|
401
|
+
- etc.
|
|
402
|
+
|
|
403
|
+
2. **Referencie-os naturalmente na conversa**
|
|
404
|
+
- "Seu design menciona usar Redis, mas acabamos de perceber que SQLite se encaixa melhor..."
|
|
405
|
+
- "A proposal limita isso a usuários premium, mas estamos pensando em todos..."
|
|
406
|
+
|
|
407
|
+
3. **Ofereça capturar quando decisões forem tomadas**
|
|
408
|
+
|
|
409
|
+
| Tipo de Insight | Onde Capturar |
|
|
410
|
+
|----------------------------|--------------------------------|
|
|
411
|
+
| Novo requisito descoberto | \`specs/<capability>/spec.md\` |
|
|
412
|
+
| Requisito alterado | \`specs/<capability>/spec.md\` |
|
|
413
|
+
| Decisão de design tomada | \`design.md\` |
|
|
414
|
+
| Escopo alterado | \`proposal.md\` |
|
|
415
|
+
| Novo trabalho identificado | \`tasks.md\` |
|
|
416
|
+
| Suposição invalidada | Artifact relevante |
|
|
417
|
+
|
|
418
|
+
Exemplos de ofertas:
|
|
419
|
+
- "Essa é uma decisão de design. Capturar em design.md?"
|
|
420
|
+
- "Este é um novo requisito. Adicionar aos specs?"
|
|
421
|
+
- "Isso muda o escopo. Atualizar a proposal?"
|
|
422
|
+
|
|
423
|
+
4. **O usuário decide** - Ofereça e siga em frente. Não pressione. Não capture automaticamente.
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## O Que Você Não Precisa Fazer
|
|
428
|
+
|
|
429
|
+
- Seguir um roteiro
|
|
430
|
+
- Fazer as mesmas perguntas toda vez
|
|
431
|
+
- Produzir um artifact específico
|
|
432
|
+
- Chegar a uma conclusão
|
|
433
|
+
- Ficar no tópico se uma tangente for valiosa
|
|
434
|
+
- Ser breve (este é tempo de pensamento)
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## Encerrando a Descoberta
|
|
439
|
+
|
|
440
|
+
Não há final obrigatório. A descoberta pode:
|
|
441
|
+
|
|
442
|
+
- **Fluir para uma proposal**: "Pronto para começar? Posso criar uma change proposal."
|
|
443
|
+
- **Resultar em atualizações de artifacts**: "Atualizado design.md com essas decisões"
|
|
444
|
+
- **Apenas fornecer clareza**: O usuário tem o que precisa, segue em frente
|
|
445
|
+
- **Continuar depois**: "Podemos retomar isso a qualquer momento"
|
|
446
|
+
|
|
447
|
+
Quando as coisas cristalizarem, você pode oferecer um resumo - mas é opcional. Às vezes o pensamento EM SI é o valor.
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
## Guardrails
|
|
452
|
+
|
|
453
|
+
- **Não implemente** - Nunca escreva código ou implemente funcionalidades. Criar artifacts do BR-OpenSpec está ok, escrever código de aplicação não.
|
|
454
|
+
- **Não finja entendimento** - Se algo estiver incerto, aprofunde-se
|
|
455
|
+
- **Não apresse** - Descoberta é tempo de pensamento, não tempo de tarefa
|
|
456
|
+
- **Não force estrutura** - Deixe padrões emergirem naturalmente
|
|
457
|
+
- **Não capture automaticamente** - Ofereça salvar insights, não apenas faça
|
|
458
|
+
- **Visualize** - Um bom diagrama vale muitos parágrafos
|
|
459
|
+
- **Explore a codebase** - Fundamente discussões na realidade
|
|
460
|
+
- **Questione suposições** - Incluindo as do usuário e as suas`
|
|
461
|
+
};
|
|
462
|
+
}
|
|
463
|
+
//# sourceMappingURL=explore.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
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 } from '../types.js';
|
|
8
|
+
export declare function getFeedbackSkillTemplate(): SkillTemplate;
|
|
9
|
+
//# sourceMappingURL=feedback.d.ts.map
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export function getFeedbackSkillTemplate() {
|
|
2
|
+
return {
|
|
3
|
+
name: 'feedback',
|
|
4
|
+
description: 'Colete e envie feedback do usuário sobre o BR-OpenSpec com enriquecimento de contexto e anonimização.',
|
|
5
|
+
instructions: `Ajude o usuário a enviar feedback sobre o BR-OpenSpec.
|
|
6
|
+
|
|
7
|
+
**Objetivo**: Guie o usuário através da coleta, enriquecimento e envio de feedback enquanto garante privacidade através de anonimização.
|
|
8
|
+
|
|
9
|
+
**Processo**
|
|
10
|
+
|
|
11
|
+
1. **Reúna contexto da conversa**
|
|
12
|
+
- Revise o histórico recente da conversa para contexto
|
|
13
|
+
- Identifique qual tarefa estava sendo realizada
|
|
14
|
+
- Note o que funcionou bem ou mal
|
|
15
|
+
- Capture pontos de fricção específicos ou elogios
|
|
16
|
+
|
|
17
|
+
2. **Elabore feedback enriquecido**
|
|
18
|
+
- Crie um título claro e descritivo (uma única frase, sem prefixo "Feedback:" necessário)
|
|
19
|
+
- Escreva um corpo que inclua:
|
|
20
|
+
- O que o usuário estava tentando fazer
|
|
21
|
+
- O que aconteceu (bom ou ruim)
|
|
22
|
+
- Contexto relevante da conversa
|
|
23
|
+
- Quaisquer sugestões ou pedidos específicos
|
|
24
|
+
|
|
25
|
+
3. **Anonimize informações sensíveis**
|
|
26
|
+
- Substitua caminhos de arquivo por \`<path>\` ou descrições genéricas
|
|
27
|
+
- Substitua chaves de API, tokens, segredos por \`<redacted>\`
|
|
28
|
+
- Substitua nomes de empresa/organização por \`<company>\`
|
|
29
|
+
- Substitua nomes pessoais por \`<user>\`
|
|
30
|
+
- Substitua URLs específicas por \`<url>\` a menos que sejam públicas/relevantes
|
|
31
|
+
- Mantenha detalhes técnicos que ajudam a entender o problema
|
|
32
|
+
|
|
33
|
+
4. **Apresente o rascunho para aprovação**
|
|
34
|
+
- Mostre o rascunho completo ao usuário
|
|
35
|
+
- Exiba tanto título quanto corpo claramente
|
|
36
|
+
- Peça aprovação explícita antes de enviar
|
|
37
|
+
- Permita que o usuário solicite modificações
|
|
38
|
+
|
|
39
|
+
5. **Envie após confirmação**
|
|
40
|
+
- Use o comando \`openspec feedback\` para enviar
|
|
41
|
+
- Formato: \`openspec feedback "título" --body "conteúdo do corpo"\`
|
|
42
|
+
- O comando adicionará automaticamente metadados (versão, plataforma, timestamp)
|
|
43
|
+
|
|
44
|
+
**Exemplo de Rascunho**
|
|
45
|
+
|
|
46
|
+
\`\`\`
|
|
47
|
+
Título: O tratamento de erros no workflow de artifacts precisa melhorar
|
|
48
|
+
|
|
49
|
+
Corpo:
|
|
50
|
+
Eu estava trabalhando na criação de uma nova change e encontrei um problema com
|
|
51
|
+
o workflow de artifacts. Quando tentei continuar após criar a
|
|
52
|
+
proposal, o sistema não indicou claramente que eu precisava completar
|
|
53
|
+
os specs primeiro.
|
|
54
|
+
|
|
55
|
+
Sugestão: Adicione mensagens de erro mais claras que expliquem as cadeias de dependência
|
|
56
|
+
no workflow de artifacts. Algo como "Não é possível criar design.md
|
|
57
|
+
porque os specs não estão completos (0/2 done)."
|
|
58
|
+
|
|
59
|
+
Contexto: Usando o schema spec-driven com <path>/my-project
|
|
60
|
+
\`\`\`
|
|
61
|
+
|
|
62
|
+
**Exemplos de Anonimização**
|
|
63
|
+
|
|
64
|
+
Antes:
|
|
65
|
+
\`\`\`
|
|
66
|
+
Trabalhando em /Users/john/mycompany/auth-service/src/oauth.ts
|
|
67
|
+
Falhou com API key: sk_live_abc123xyz
|
|
68
|
+
Trabalhando na Acme Corp
|
|
69
|
+
\`\`\`
|
|
70
|
+
|
|
71
|
+
Depois:
|
|
72
|
+
\`\`\`
|
|
73
|
+
Trabalhando em <path>/oauth.ts
|
|
74
|
+
Falhou com API key: <redacted>
|
|
75
|
+
Trabalhando na <company>
|
|
76
|
+
\`\`\`
|
|
77
|
+
|
|
78
|
+
**Guardrails**
|
|
79
|
+
|
|
80
|
+
- DEVE mostrar o rascunho completo antes de enviar
|
|
81
|
+
- DEVE pedir aprovação explícita
|
|
82
|
+
- DEVE anonimizar informações sensíveis
|
|
83
|
+
- PERMITE que o usuário modifique o rascunho antes de enviar
|
|
84
|
+
- NÃO envie sem confirmação do usuário
|
|
85
|
+
- INCLUA contexto técnico relevante
|
|
86
|
+
- MANTENHA insights específicos da conversa
|
|
87
|
+
|
|
88
|
+
**Confirmação do Usuário Necessária**
|
|
89
|
+
|
|
90
|
+
Sempre pergunte:
|
|
91
|
+
\`\`\`
|
|
92
|
+
Aqui está o feedback que elaborei:
|
|
93
|
+
|
|
94
|
+
Título: [título]
|
|
95
|
+
|
|
96
|
+
Corpo:
|
|
97
|
+
[corpo]
|
|
98
|
+
|
|
99
|
+
Parece bom? Posso modificá-lo se quiser, ou enviá-lo como está.
|
|
100
|
+
\`\`\`
|
|
101
|
+
|
|
102
|
+
Só prossiga com o envio após o usuário confirmar.`,
|
|
103
|
+
license: 'MIT',
|
|
104
|
+
compatibility: 'Requer openspec CLI.',
|
|
105
|
+
metadata: { author: 'openspec', version: '1.0' },
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=feedback.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 getFfChangeSkillTemplate(): SkillTemplate;
|
|
9
|
+
export declare function getOpsxFfCommandTemplate(): CommandTemplate;
|
|
10
|
+
//# sourceMappingURL=ff-change.d.ts.map
|