@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.
Files changed (291) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +210 -0
  3. package/README.pt-BR.md +212 -0
  4. package/bin/openspec.js +3 -0
  5. package/dist/cli/index.d.ts +2 -0
  6. package/dist/cli/index.js +484 -0
  7. package/dist/commands/change.d.ts +35 -0
  8. package/dist/commands/change.js +278 -0
  9. package/dist/commands/completion.d.ts +72 -0
  10. package/dist/commands/completion.js +258 -0
  11. package/dist/commands/config.d.ts +36 -0
  12. package/dist/commands/config.js +553 -0
  13. package/dist/commands/feedback.d.ts +9 -0
  14. package/dist/commands/feedback.js +184 -0
  15. package/dist/commands/schema.d.ts +6 -0
  16. package/dist/commands/schema.js +869 -0
  17. package/dist/commands/show.d.ts +14 -0
  18. package/dist/commands/show.js +133 -0
  19. package/dist/commands/spec.d.ts +15 -0
  20. package/dist/commands/spec.js +226 -0
  21. package/dist/commands/tools.d.ts +11 -0
  22. package/dist/commands/tools.js +252 -0
  23. package/dist/commands/validate.d.ts +24 -0
  24. package/dist/commands/validate.js +295 -0
  25. package/dist/commands/workflow/index.d.ts +17 -0
  26. package/dist/commands/workflow/index.js +12 -0
  27. package/dist/commands/workflow/instructions.d.ts +29 -0
  28. package/dist/commands/workflow/instructions.js +328 -0
  29. package/dist/commands/workflow/new-change.d.ts +11 -0
  30. package/dist/commands/workflow/new-change.js +44 -0
  31. package/dist/commands/workflow/schemas.d.ts +10 -0
  32. package/dist/commands/workflow/schemas.js +35 -0
  33. package/dist/commands/workflow/shared.d.ts +57 -0
  34. package/dist/commands/workflow/shared.js +117 -0
  35. package/dist/commands/workflow/status.d.ts +14 -0
  36. package/dist/commands/workflow/status.js +76 -0
  37. package/dist/commands/workflow/templates.d.ts +16 -0
  38. package/dist/commands/workflow/templates.js +70 -0
  39. package/dist/core/archive.d.ts +11 -0
  40. package/dist/core/archive.js +322 -0
  41. package/dist/core/artifact-graph/graph.d.ts +56 -0
  42. package/dist/core/artifact-graph/graph.js +141 -0
  43. package/dist/core/artifact-graph/index.d.ts +8 -0
  44. package/dist/core/artifact-graph/index.js +14 -0
  45. package/dist/core/artifact-graph/instruction-loader.d.ts +143 -0
  46. package/dist/core/artifact-graph/instruction-loader.js +217 -0
  47. package/dist/core/artifact-graph/outputs.d.ts +14 -0
  48. package/dist/core/artifact-graph/outputs.js +39 -0
  49. package/dist/core/artifact-graph/resolver.d.ts +81 -0
  50. package/dist/core/artifact-graph/resolver.js +258 -0
  51. package/dist/core/artifact-graph/schema.d.ts +13 -0
  52. package/dist/core/artifact-graph/schema.js +108 -0
  53. package/dist/core/artifact-graph/state.d.ts +12 -0
  54. package/dist/core/artifact-graph/state.js +31 -0
  55. package/dist/core/artifact-graph/types.d.ts +45 -0
  56. package/dist/core/artifact-graph/types.js +43 -0
  57. package/dist/core/available-tools.d.ts +17 -0
  58. package/dist/core/available-tools.js +43 -0
  59. package/dist/core/command-generation/adapters/amazon-q.d.ts +13 -0
  60. package/dist/core/command-generation/adapters/amazon-q.js +26 -0
  61. package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
  62. package/dist/core/command-generation/adapters/antigravity.js +26 -0
  63. package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
  64. package/dist/core/command-generation/adapters/auggie.js +27 -0
  65. package/dist/core/command-generation/adapters/bob.d.ts +14 -0
  66. package/dist/core/command-generation/adapters/bob.js +45 -0
  67. package/dist/core/command-generation/adapters/claude.d.ts +13 -0
  68. package/dist/core/command-generation/adapters/claude.js +50 -0
  69. package/dist/core/command-generation/adapters/cline.d.ts +14 -0
  70. package/dist/core/command-generation/adapters/cline.js +27 -0
  71. package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
  72. package/dist/core/command-generation/adapters/codebuddy.js +28 -0
  73. package/dist/core/command-generation/adapters/codex.d.ts +16 -0
  74. package/dist/core/command-generation/adapters/codex.js +39 -0
  75. package/dist/core/command-generation/adapters/continue.d.ts +13 -0
  76. package/dist/core/command-generation/adapters/continue.js +28 -0
  77. package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
  78. package/dist/core/command-generation/adapters/costrict.js +27 -0
  79. package/dist/core/command-generation/adapters/crush.d.ts +13 -0
  80. package/dist/core/command-generation/adapters/crush.js +30 -0
  81. package/dist/core/command-generation/adapters/cursor.d.ts +14 -0
  82. package/dist/core/command-generation/adapters/cursor.js +44 -0
  83. package/dist/core/command-generation/adapters/factory.d.ts +13 -0
  84. package/dist/core/command-generation/adapters/factory.js +27 -0
  85. package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
  86. package/dist/core/command-generation/adapters/gemini.js +26 -0
  87. package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
  88. package/dist/core/command-generation/adapters/github-copilot.js +26 -0
  89. package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
  90. package/dist/core/command-generation/adapters/iflow.js +29 -0
  91. package/dist/core/command-generation/adapters/index.d.ts +32 -0
  92. package/dist/core/command-generation/adapters/index.js +32 -0
  93. package/dist/core/command-generation/adapters/junie.d.ts +13 -0
  94. package/dist/core/command-generation/adapters/junie.js +26 -0
  95. package/dist/core/command-generation/adapters/kilocode.d.ts +14 -0
  96. package/dist/core/command-generation/adapters/kilocode.js +23 -0
  97. package/dist/core/command-generation/adapters/kiro.d.ts +13 -0
  98. package/dist/core/command-generation/adapters/kiro.js +26 -0
  99. package/dist/core/command-generation/adapters/lingma.d.ts +13 -0
  100. package/dist/core/command-generation/adapters/lingma.js +30 -0
  101. package/dist/core/command-generation/adapters/opencode.d.ts +13 -0
  102. package/dist/core/command-generation/adapters/opencode.js +29 -0
  103. package/dist/core/command-generation/adapters/pi.d.ts +18 -0
  104. package/dist/core/command-generation/adapters/pi.js +55 -0
  105. package/dist/core/command-generation/adapters/qoder.d.ts +13 -0
  106. package/dist/core/command-generation/adapters/qoder.js +30 -0
  107. package/dist/core/command-generation/adapters/qwen.d.ts +13 -0
  108. package/dist/core/command-generation/adapters/qwen.js +26 -0
  109. package/dist/core/command-generation/adapters/roocode.d.ts +14 -0
  110. package/dist/core/command-generation/adapters/roocode.js +27 -0
  111. package/dist/core/command-generation/adapters/windsurf.d.ts +14 -0
  112. package/dist/core/command-generation/adapters/windsurf.js +51 -0
  113. package/dist/core/command-generation/generator.d.ts +21 -0
  114. package/dist/core/command-generation/generator.js +27 -0
  115. package/dist/core/command-generation/index.d.ts +22 -0
  116. package/dist/core/command-generation/index.js +24 -0
  117. package/dist/core/command-generation/registry.d.ts +36 -0
  118. package/dist/core/command-generation/registry.js +98 -0
  119. package/dist/core/command-generation/types.d.ts +56 -0
  120. package/dist/core/command-generation/types.js +8 -0
  121. package/dist/core/completions/command-registry.d.ts +7 -0
  122. package/dist/core/completions/command-registry.js +462 -0
  123. package/dist/core/completions/completion-provider.d.ts +60 -0
  124. package/dist/core/completions/completion-provider.js +102 -0
  125. package/dist/core/completions/factory.d.ts +64 -0
  126. package/dist/core/completions/factory.js +75 -0
  127. package/dist/core/completions/generators/bash-generator.d.ts +32 -0
  128. package/dist/core/completions/generators/bash-generator.js +174 -0
  129. package/dist/core/completions/generators/fish-generator.d.ts +32 -0
  130. package/dist/core/completions/generators/fish-generator.js +157 -0
  131. package/dist/core/completions/generators/powershell-generator.d.ts +33 -0
  132. package/dist/core/completions/generators/powershell-generator.js +208 -0
  133. package/dist/core/completions/generators/zsh-generator.d.ts +44 -0
  134. package/dist/core/completions/generators/zsh-generator.js +250 -0
  135. package/dist/core/completions/installers/bash-installer.d.ts +87 -0
  136. package/dist/core/completions/installers/bash-installer.js +319 -0
  137. package/dist/core/completions/installers/fish-installer.d.ts +43 -0
  138. package/dist/core/completions/installers/fish-installer.js +143 -0
  139. package/dist/core/completions/installers/powershell-installer.d.ts +102 -0
  140. package/dist/core/completions/installers/powershell-installer.js +400 -0
  141. package/dist/core/completions/installers/zsh-installer.d.ts +125 -0
  142. package/dist/core/completions/installers/zsh-installer.js +450 -0
  143. package/dist/core/completions/templates/bash-templates.d.ts +6 -0
  144. package/dist/core/completions/templates/bash-templates.js +24 -0
  145. package/dist/core/completions/templates/fish-templates.d.ts +7 -0
  146. package/dist/core/completions/templates/fish-templates.js +39 -0
  147. package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
  148. package/dist/core/completions/templates/powershell-templates.js +25 -0
  149. package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
  150. package/dist/core/completions/templates/zsh-templates.js +36 -0
  151. package/dist/core/completions/types.d.ts +79 -0
  152. package/dist/core/completions/types.js +2 -0
  153. package/dist/core/config-prompts.d.ts +9 -0
  154. package/dist/core/config-prompts.js +34 -0
  155. package/dist/core/config-schema.d.ts +86 -0
  156. package/dist/core/config-schema.js +213 -0
  157. package/dist/core/config.d.ts +18 -0
  158. package/dist/core/config.js +38 -0
  159. package/dist/core/converters/json-converter.d.ts +6 -0
  160. package/dist/core/converters/json-converter.js +51 -0
  161. package/dist/core/global-config.d.ts +44 -0
  162. package/dist/core/global-config.js +125 -0
  163. package/dist/core/index.d.ts +2 -0
  164. package/dist/core/index.js +3 -0
  165. package/dist/core/init.d.ts +37 -0
  166. package/dist/core/init.js +549 -0
  167. package/dist/core/is-project-initialized.d.ts +12 -0
  168. package/dist/core/is-project-initialized.js +18 -0
  169. package/dist/core/legacy-cleanup.d.ts +162 -0
  170. package/dist/core/legacy-cleanup.js +515 -0
  171. package/dist/core/list.d.ts +9 -0
  172. package/dist/core/list.js +172 -0
  173. package/dist/core/migration.d.ts +23 -0
  174. package/dist/core/migration.js +109 -0
  175. package/dist/core/parsers/change-parser.d.ts +13 -0
  176. package/dist/core/parsers/change-parser.js +197 -0
  177. package/dist/core/parsers/markdown-parser.d.ts +26 -0
  178. package/dist/core/parsers/markdown-parser.js +228 -0
  179. package/dist/core/parsers/requirement-blocks.d.ts +37 -0
  180. package/dist/core/parsers/requirement-blocks.js +201 -0
  181. package/dist/core/parsers/spec-structure.d.ts +9 -0
  182. package/dist/core/parsers/spec-structure.js +88 -0
  183. package/dist/core/profile-sync-drift.d.ts +38 -0
  184. package/dist/core/profile-sync-drift.js +200 -0
  185. package/dist/core/profiles.d.ts +26 -0
  186. package/dist/core/profiles.js +40 -0
  187. package/dist/core/project-config.d.ts +64 -0
  188. package/dist/core/project-config.js +224 -0
  189. package/dist/core/schemas/base.schema.d.ts +13 -0
  190. package/dist/core/schemas/base.schema.js +13 -0
  191. package/dist/core/schemas/change.schema.d.ts +73 -0
  192. package/dist/core/schemas/change.schema.js +31 -0
  193. package/dist/core/schemas/index.d.ts +4 -0
  194. package/dist/core/schemas/index.js +4 -0
  195. package/dist/core/schemas/spec.schema.d.ts +18 -0
  196. package/dist/core/schemas/spec.schema.js +15 -0
  197. package/dist/core/shared/index.d.ts +8 -0
  198. package/dist/core/shared/index.js +8 -0
  199. package/dist/core/shared/skill-generation.d.ts +49 -0
  200. package/dist/core/shared/skill-generation.js +96 -0
  201. package/dist/core/shared/tool-detection.d.ts +71 -0
  202. package/dist/core/shared/tool-detection.js +158 -0
  203. package/dist/core/specs-apply.d.ts +73 -0
  204. package/dist/core/specs-apply.js +393 -0
  205. package/dist/core/styles/palette.d.ts +7 -0
  206. package/dist/core/styles/palette.js +8 -0
  207. package/dist/core/templates/index.d.ts +8 -0
  208. package/dist/core/templates/index.js +9 -0
  209. package/dist/core/templates/skill-templates.d.ts +20 -0
  210. package/dist/core/templates/skill-templates.js +19 -0
  211. package/dist/core/templates/types.d.ts +19 -0
  212. package/dist/core/templates/types.js +5 -0
  213. package/dist/core/templates/workflows/apply-change.d.ts +10 -0
  214. package/dist/core/templates/workflows/apply-change.js +308 -0
  215. package/dist/core/templates/workflows/archive-change.d.ts +10 -0
  216. package/dist/core/templates/workflows/archive-change.js +271 -0
  217. package/dist/core/templates/workflows/bulk-archive-change.d.ts +10 -0
  218. package/dist/core/templates/workflows/bulk-archive-change.js +492 -0
  219. package/dist/core/templates/workflows/continue-change.d.ts +10 -0
  220. package/dist/core/templates/workflows/continue-change.js +232 -0
  221. package/dist/core/templates/workflows/explore.d.ts +10 -0
  222. package/dist/core/templates/workflows/explore.js +463 -0
  223. package/dist/core/templates/workflows/feedback.d.ts +9 -0
  224. package/dist/core/templates/workflows/feedback.js +108 -0
  225. package/dist/core/templates/workflows/ff-change.d.ts +10 -0
  226. package/dist/core/templates/workflows/ff-change.js +198 -0
  227. package/dist/core/templates/workflows/new-change.d.ts +10 -0
  228. package/dist/core/templates/workflows/new-change.js +21 -0
  229. package/dist/core/templates/workflows/onboard.d.ts +10 -0
  230. package/dist/core/templates/workflows/onboard.js +21 -0
  231. package/dist/core/templates/workflows/propose.d.ts +10 -0
  232. package/dist/core/templates/workflows/propose.js +216 -0
  233. package/dist/core/templates/workflows/sync-specs.d.ts +10 -0
  234. package/dist/core/templates/workflows/sync-specs.js +272 -0
  235. package/dist/core/templates/workflows/upstream-sync.d.ts +10 -0
  236. package/dist/core/templates/workflows/upstream-sync.js +116 -0
  237. package/dist/core/templates/workflows/verify-change.d.ts +10 -0
  238. package/dist/core/templates/workflows/verify-change.js +21 -0
  239. package/dist/core/tools-manager.d.ts +56 -0
  240. package/dist/core/tools-manager.js +215 -0
  241. package/dist/core/update.d.ts +77 -0
  242. package/dist/core/update.js +538 -0
  243. package/dist/core/validation/constants.d.ts +34 -0
  244. package/dist/core/validation/constants.js +40 -0
  245. package/dist/core/validation/types.d.ts +18 -0
  246. package/dist/core/validation/types.js +2 -0
  247. package/dist/core/validation/validator.d.ts +33 -0
  248. package/dist/core/validation/validator.js +419 -0
  249. package/dist/core/view.d.ts +8 -0
  250. package/dist/core/view.js +169 -0
  251. package/dist/index.d.ts +3 -0
  252. package/dist/index.js +3 -0
  253. package/dist/messages/index.d.ts +867 -0
  254. package/dist/messages/index.js +1960 -0
  255. package/dist/prompts/searchable-multi-select.d.ts +28 -0
  256. package/dist/prompts/searchable-multi-select.js +160 -0
  257. package/dist/telemetry/config.d.ts +38 -0
  258. package/dist/telemetry/config.js +136 -0
  259. package/dist/telemetry/index.d.ts +31 -0
  260. package/dist/telemetry/index.js +165 -0
  261. package/dist/ui/ascii-patterns.d.ts +16 -0
  262. package/dist/ui/ascii-patterns.js +133 -0
  263. package/dist/ui/welcome-screen.d.ts +10 -0
  264. package/dist/ui/welcome-screen.js +147 -0
  265. package/dist/utils/change-metadata.d.ts +51 -0
  266. package/dist/utils/change-metadata.js +147 -0
  267. package/dist/utils/change-utils.d.ts +62 -0
  268. package/dist/utils/change-utils.js +121 -0
  269. package/dist/utils/command-references.d.ts +18 -0
  270. package/dist/utils/command-references.js +20 -0
  271. package/dist/utils/file-system.d.ts +41 -0
  272. package/dist/utils/file-system.js +302 -0
  273. package/dist/utils/index.d.ts +6 -0
  274. package/dist/utils/index.js +9 -0
  275. package/dist/utils/interactive.d.ts +18 -0
  276. package/dist/utils/interactive.js +21 -0
  277. package/dist/utils/item-discovery.d.ts +4 -0
  278. package/dist/utils/item-discovery.js +72 -0
  279. package/dist/utils/match.d.ts +3 -0
  280. package/dist/utils/match.js +22 -0
  281. package/dist/utils/shell-detection.d.ts +20 -0
  282. package/dist/utils/shell-detection.js +41 -0
  283. package/dist/utils/task-progress.d.ts +8 -0
  284. package/dist/utils/task-progress.js +37 -0
  285. package/package.json +84 -0
  286. package/schemas/spec-driven/schema.yaml +153 -0
  287. package/schemas/spec-driven/templates/design.md +19 -0
  288. package/schemas/spec-driven/templates/proposal.md +23 -0
  289. package/schemas/spec-driven/templates/spec.md +8 -0
  290. package/schemas/spec-driven/templates/tasks.md +9 -0
  291. package/scripts/postinstall.js +83 -0
@@ -0,0 +1,198 @@
1
+ export function getFfChangeSkillTemplate() {
2
+ return {
3
+ name: 'openspec-ff-change',
4
+ description: 'Avance rapidamente pela criação de artifacts do BR-OpenSpec. Use quando o usuário quiser criar rapidamente todos os artifacts necessários para implementação sem passar por cada um individualmente.',
5
+ instructions: `Avance rapidamente pela criação de artifacts - gere tudo o que é necessário para iniciar a implementação de uma vez só.
6
+
7
+ **Entrada**: A solicitação do usuário deve incluir um nome de change (kebab-case) OU uma descrição do que ele quer construir.
8
+
9
+ **Passos**
10
+
11
+ 1. **Se nenhuma entrada clara for fornecida, pergunte o que ele quer construir**
12
+
13
+ Use a ferramenta **AskUserQuestion** (aberta, sem opções pré-definidas) para perguntar:
14
+ > "Em qual change você quer trabalhar? Descreva o que quer construir ou corrigir."
15
+
16
+ A partir da descrição dele, derive um nome kebab-case (por exemplo, "adicionar autenticação de usuário" → \`add-user-auth\`).
17
+
18
+ **IMPORTANTE**: NÃO prossiga sem entender o que o usuário quer construir.
19
+
20
+ 2. **Crie o diretório da change**
21
+ \`\`\`bash
22
+ openspec new change "<nome>"
23
+ \`\`\`
24
+ Isso cria uma change com scaffold em \`openspec/changes/<nome>/\`.
25
+
26
+ 3. **Obtenha a ordem de construção dos artifacts**
27
+ \`\`\`bash
28
+ openspec status --change "<nome>" --json
29
+ \`\`\`
30
+ Analise o JSON para obter:
31
+ - \`applyRequires\`: array de IDs de artifacts necessários antes da implementação (por exemplo, \`["tasks"]\`)
32
+ - \`artifacts\`: lista de todos os artifacts com seu status e dependências
33
+
34
+ 4. **Crie artifacts em sequência até estar pronto para apply**
35
+
36
+ Use a ferramenta **TodoWrite** para rastrear o progresso pelos artifacts.
37
+
38
+ Percorra os artifacts em ordem de dependência (artifacts sem dependências pendentes primeiro):
39
+
40
+ a. **Para cada artifact que está \`ready\` (dependências satisfeitas)**:
41
+ - Obtenha instruções:
42
+ \`\`\`bash
43
+ openspec instructions <artifact-id> --change "<nome>" --json
44
+ \`\`\`
45
+ - O JSON de instruções inclui:
46
+ - \`context\`: Contexto do projeto (restrições para você - NÃO inclua na saída)
47
+ - \`rules\`: Regras específicas do artifact (restrições para você - NÃO inclua na saída)
48
+ - \`template\`: A estrutura a ser usada para seu arquivo de saída
49
+ - \`instruction\`: Orientação específica do schema para este tipo de artifact
50
+ - \`outputPath\`: Onde escrever o artifact
51
+ - \`dependencies\`: Artifacts concluídos para ler como contexto
52
+ - Leia quaisquer arquivos de dependências concluídos para contexto
53
+ - Crie o arquivo do artifact usando \`template\` como a estrutura
54
+ - Aplique \`context\` e \`rules\` como restrições - mas NÃO copie-os para o arquivo
55
+ - Mostre breve progresso: "✓ Criado <artifact-id>"
56
+
57
+ b. **Continue até todos os artifacts \`applyRequires\` estarem completos**
58
+ - Após criar cada artifact, reexecute \`openspec status --change "<nome>" --json\`
59
+ - Verifique se cada ID de artifact em \`applyRequires\` tem \`status: "done"\` no array de artifacts
60
+ - Pare quando todos os artifacts \`applyRequires\` estiverem done
61
+
62
+ c. **Se um artifact requerer entrada do usuário** (contexto incerto):
63
+ - Use a ferramenta **AskUserQuestion** para esclarecer
64
+ - Depois continue com a criação
65
+
66
+ 5. **Mostre o status final**
67
+ \`\`\`bash
68
+ openspec status --change "<nome>"
69
+ \`\`\`
70
+
71
+ **Saída**
72
+
73
+ Após completar todos os artifacts, resuma:
74
+ - Nome da change e localização
75
+ - Lista de artifacts criados com breves descrições
76
+ - O que está pronto: "Todos os artifacts criados! Pronto para implementação."
77
+ - Prompt: "Execute \`/opsx:apply\` ou peça-me para implementar para começar a trabalhar nas tarefas."
78
+
79
+ **Diretrizes de Criação de Artifacts**
80
+
81
+ - Siga o campo \`instruction\` de \`openspec instructions\` para cada tipo de artifact
82
+ - O schema define o que cada artifact deve conter - siga-o
83
+ - Leia artifacts de dependência para contexto antes de criar novos
84
+ - Use \`template\` como a estrutura para seu arquivo de saída - preencha suas seções
85
+ - **IMPORTANTE**: \`context\` e \`rules\` são restrições para VOCÊ, não conteúdo para o arquivo
86
+ - NÃO copie blocos \`<context>\`, \`<rules>\`, \`<project_context>\` para o artifact
87
+ - Eles guiam o que você escreve, mas nunca devem aparecer na saída
88
+
89
+ **Guardrails**
90
+ - Crie TODOS os artifacts necessários para implementação (conforme definido pelo \`apply.requires\` do schema)
91
+ - Sempre leia artifacts de dependência antes de criar um novo
92
+ - Se o contexto estiver criticamente incerto, pergunte ao usuário - mas prefira tomar decisões razoáveis para manter o momento
93
+ - Se uma change com aquele nome já existir, pergunte se o usuário quer continuar ela ou criar uma nova
94
+ - Verifique se cada arquivo do artifact existe após escrever antes de prosseguir para o próximo`,
95
+ license: 'MIT',
96
+ compatibility: 'Requer openspec CLI.',
97
+ metadata: { author: 'openspec', version: '1.0' },
98
+ };
99
+ }
100
+ export function getOpsxFfCommandTemplate() {
101
+ return {
102
+ name: 'OPSX: Fast Forward',
103
+ description: 'Crie uma change e gere todos os artifacts necessários para implementação de uma vez só',
104
+ category: 'Workflow',
105
+ tags: ['workflow', 'artifacts', 'experimental'],
106
+ content: `Avance rapidamente pela criação de artifacts - gere tudo o que é necessário para iniciar a implementação.
107
+
108
+ **Entrada**: O argumento após \`/opsx:ff\` é o nome da change (kebab-case), OU uma descrição do que o usuário quer construir.
109
+
110
+ **Passos**
111
+
112
+ 1. **Se nenhuma entrada for fornecida, pergunte o que ele quer construir**
113
+
114
+ Use a ferramenta **AskUserQuestion** (aberta, sem opções pré-definidas) para perguntar:
115
+ > "Em qual change você quer trabalhar? Descreva o que quer construir ou corrigir."
116
+
117
+ A partir da descrição dele, derive um nome kebab-case (por exemplo, "adicionar autenticação de usuário" → \`add-user-auth\`).
118
+
119
+ **IMPORTANTE**: NÃO prossiga sem entender o que o usuário quer construir.
120
+
121
+ 2. **Crie o diretório da change**
122
+ \`\`\`bash
123
+ openspec new change "<nome>"
124
+ \`\`\`
125
+ Isso cria uma change com scaffold em \`openspec/changes/<nome>/\`.
126
+
127
+ 3. **Obtenha a ordem de construção dos artifacts**
128
+ \`\`\`bash
129
+ openspec status --change "<nome>" --json
130
+ \`\`\`
131
+ Analise o JSON para obter:
132
+ - \`applyRequires\`: array de IDs de artifacts necessários antes da implementação (por exemplo, \`["tasks"]\`)
133
+ - \`artifacts\`: lista de todos os artifacts com seu status e dependências
134
+
135
+ 4. **Crie artifacts em sequência até estar pronto para apply**
136
+
137
+ Use a ferramenta **TodoWrite** para rastrear o progresso pelos artifacts.
138
+
139
+ Percorra os artifacts em ordem de dependência (artifacts sem dependências pendentes primeiro):
140
+
141
+ a. **Para cada artifact que está \`ready\` (dependências satisfeitas)**:
142
+ - Obtenha instruções:
143
+ \`\`\`bash
144
+ openspec instructions <artifact-id> --change "<nome>" --json
145
+ \`\`\`
146
+ - O JSON de instruções inclui:
147
+ - \`context\`: Contexto do projeto (restrições para você - NÃO inclua na saída)
148
+ - \`rules\`: Regras específicas do artifact (restrições para você - NÃO inclua na saída)
149
+ - \`template\`: A estrutura a ser usada para seu arquivo de saída
150
+ - \`instruction\`: Orientação específica do schema para este tipo de artifact
151
+ - \`outputPath\`: Onde escrever o artifact
152
+ - \`dependencies\`: Artifacts concluídos para ler como contexto
153
+ - Leia quaisquer arquivos de dependências concluídos para contexto
154
+ - Crie o arquivo do artifact usando \`template\` como a estrutura
155
+ - Aplique \`context\` e \`rules\` como restrições - mas NÃO copie-os para o arquivo
156
+ - Mostre breve progresso: "✓ Criado <artifact-id>"
157
+
158
+ b. **Continue até todos os artifacts \`applyRequires\` estarem completos**
159
+ - Após criar cada artifact, reexecute \`openspec status --change "<nome>" --json\`
160
+ - Verifique se cada ID de artifact em \`applyRequires\` tem \`status: "done"\` no array de artifacts
161
+ - Pare quando todos os artifacts \`applyRequires\` estiverem done
162
+
163
+ c. **Se um artifact requerer entrada do usuário** (contexto incerto):
164
+ - Use a ferramenta **AskUserQuestion** para esclarecer
165
+ - Depois continue com a criação
166
+
167
+ 5. **Mostre o status final**
168
+ \`\`\`bash
169
+ openspec status --change "<nome>"
170
+ \`\`\`
171
+
172
+ **Saída**
173
+
174
+ Após completar todos os artifacts, resuma:
175
+ - Nome da change e localização
176
+ - Lista de artifacts criados com breves descrições
177
+ - O que está pronto: "Todos os artifacts criados! Pronto para implementação."
178
+ - Prompt: "Execute \`/opsx:apply\` para começar a implementar."
179
+
180
+ **Diretrizes de Criação de Artifacts**
181
+
182
+ - Siga o campo \`instruction\` de \`openspec instructions\` para cada tipo de artifact
183
+ - O schema define o que cada artifact deve conter - siga-o
184
+ - Leia artifacts de dependência para contexto antes de criar novos
185
+ - Use \`template\` como a estrutura para seu arquivo de saída - preencha suas seções
186
+ - **IMPORTANTE**: \`context\` e \`rules\` são restrições para VOCÊ, não conteúdo para o arquivo
187
+ - NÃO copie blocos \`<context>\`, \`<rules>\`, \`<project_context>\` para o artifact
188
+ - Eles guiam o que você escreve, mas nunca devem aparecer na saída
189
+
190
+ **Guardrails**
191
+ - Crie TODOS os artifacts necessários para implementação (conforme definido pelo \`apply.requires\` do schema)
192
+ - Sempre leia artifacts de dependência antes de criar um novo
193
+ - Se o contexto estiver criticamente incerto, pergunte ao usuário - mas prefira tomar decisões razoáveis para manter o momento
194
+ - Se uma change com aquele nome já existir, pergunte se o usuário quer continuar ela ou criar uma nova
195
+ - Verifique se cada arquivo do artifact existe após escrever antes de prosseguir para o próximo`
196
+ };
197
+ }
198
+ //# sourceMappingURL=ff-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 getNewChangeSkillTemplate(): SkillTemplate;
9
+ export declare function getOpsxNewCommandTemplate(): CommandTemplate;
10
+ //# sourceMappingURL=new-change.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { NEW_CHANGE_TEMPLATE_MESSAGES } from '../../../messages/index.js';
2
+ export function getNewChangeSkillTemplate() {
3
+ return {
4
+ name: 'openspec-new-change',
5
+ description: NEW_CHANGE_TEMPLATE_MESSAGES.skillDescription,
6
+ instructions: NEW_CHANGE_TEMPLATE_MESSAGES.skillInstructions,
7
+ license: 'MIT',
8
+ compatibility: NEW_CHANGE_TEMPLATE_MESSAGES.skillCompatibility,
9
+ metadata: { author: 'openspec', version: '1.0' },
10
+ };
11
+ }
12
+ export function getOpsxNewCommandTemplate() {
13
+ return {
14
+ name: 'OPSX: New',
15
+ description: NEW_CHANGE_TEMPLATE_MESSAGES.opsxDescription,
16
+ category: 'Workflow',
17
+ tags: ['workflow', 'artifacts', 'experimental'],
18
+ content: NEW_CHANGE_TEMPLATE_MESSAGES.opsxContent,
19
+ };
20
+ }
21
+ //# sourceMappingURL=new-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 getOnboardSkillTemplate(): SkillTemplate;
9
+ export declare function getOpsxOnboardCommandTemplate(): CommandTemplate;
10
+ //# sourceMappingURL=onboard.d.ts.map
@@ -0,0 +1,21 @@
1
+ import { ONBOARD_TEMPLATE_MESSAGES } from '../../../messages/index.js';
2
+ export function getOnboardSkillTemplate() {
3
+ return {
4
+ name: 'openspec-onboard',
5
+ description: ONBOARD_TEMPLATE_MESSAGES.skillDescription,
6
+ instructions: ONBOARD_TEMPLATE_MESSAGES.instructions,
7
+ license: 'MIT',
8
+ compatibility: ONBOARD_TEMPLATE_MESSAGES.skillCompatibility,
9
+ metadata: { author: 'openspec', version: '1.0' },
10
+ };
11
+ }
12
+ export function getOpsxOnboardCommandTemplate() {
13
+ return {
14
+ name: 'OPSX: Onboard',
15
+ description: ONBOARD_TEMPLATE_MESSAGES.opsxDescription,
16
+ category: 'Workflow',
17
+ tags: ['workflow', 'onboarding', 'tutorial', 'learning'],
18
+ content: ONBOARD_TEMPLATE_MESSAGES.instructions,
19
+ };
20
+ }
21
+ //# sourceMappingURL=onboard.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 getOpsxProposeSkillTemplate(): SkillTemplate;
9
+ export declare function getOpsxProposeCommandTemplate(): CommandTemplate;
10
+ //# sourceMappingURL=propose.d.ts.map
@@ -0,0 +1,216 @@
1
+ export function getOpsxProposeSkillTemplate() {
2
+ return {
3
+ name: 'openspec-propose',
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
103
+ - Verifique se cada arquivo do artifact existe após escrever antes de prosseguir para o próximo`,
104
+ license: 'MIT',
105
+ compatibility: 'Requer openspec CLI.',
106
+ metadata: { author: 'openspec', version: '1.0' },
107
+ };
108
+ }
109
+ export function getOpsxProposeCommandTemplate() {
110
+ return {
111
+ name: 'OPSX: Propose',
112
+ description: 'Proponha uma nova change - crie-a e gere todos os artifacts em um passo',
113
+ category: 'Workflow',
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
213
+ - Verifique se cada arquivo do artifact existe após escrever antes de prosseguir para o próximo`
214
+ };
215
+ }
216
+ //# sourceMappingURL=propose.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 getSyncSpecsSkillTemplate(): SkillTemplate;
9
+ export declare function getOpsxSyncCommandTemplate(): CommandTemplate;
10
+ //# sourceMappingURL=sync-specs.d.ts.map