@dynamicworks/br-openspec 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +11 -2
  2. package/README.pt-BR.md +11 -2
  3. package/dist/commands/config.js +4 -0
  4. package/dist/commands/schema.js +21 -21
  5. package/dist/core/completions/installers/zsh-installer.d.ts +0 -8
  6. package/dist/core/completions/installers/zsh-installer.js +3 -31
  7. package/dist/core/config.js +3 -2
  8. package/dist/core/global-config.d.ts +6 -1
  9. package/dist/core/global-config.js +15 -16
  10. package/dist/core/parsers/requirement-blocks.js +5 -5
  11. package/dist/core/parsers/spec-structure.js +1 -1
  12. package/dist/core/profile-sync-drift.js +1 -0
  13. package/dist/core/profiles.d.ts +2 -2
  14. package/dist/core/profiles.js +2 -1
  15. package/dist/core/shared/skill-generation.js +3 -1
  16. package/dist/core/shared/tool-detection.d.ts +2 -2
  17. package/dist/core/shared/tool-detection.js +2 -0
  18. package/dist/core/specs-apply.js +1 -1
  19. package/dist/core/templates/skill-templates.d.ts +1 -1
  20. package/dist/core/templates/skill-templates.js +1 -1
  21. package/dist/core/templates/workflows/code-review.d.ts +10 -0
  22. package/dist/core/templates/workflows/code-review.js +21 -0
  23. package/dist/core/templates/workflows/sync-specs.js +2 -2
  24. package/dist/core/tools-manager.js +1 -0
  25. package/dist/core/update.d.ts +6 -0
  26. package/dist/core/update.js +21 -0
  27. package/dist/core/validation/validator.js +2 -2
  28. package/dist/messages/index.d.ts +34 -2
  29. package/dist/messages/index.js +182 -12
  30. package/package.json +1 -1
  31. package/schemas/spec-driven/schema.yaml +78 -78
  32. package/schemas/spec-driven/templates/design.md +5 -5
  33. package/schemas/spec-driven/templates/proposal.md +9 -9
  34. package/schemas/spec-driven/templates/spec.md +5 -5
  35. package/schemas/spec-driven/templates/tasks.md +6 -6
  36. package/dist/core/templates/workflows/upstream-sync.d.ts +0 -10
  37. package/dist/core/templates/workflows/upstream-sync.js +0 -116
@@ -1,19 +1,19 @@
1
1
  ## Context
2
2
 
3
- <!-- Background and current state -->
3
+ <!-- Contexto e estado atual -->
4
4
 
5
5
  ## Goals / Non-Goals
6
6
 
7
7
  **Goals:**
8
- <!-- What this design aims to achieve -->
8
+ <!-- O que este design pretende alcançar -->
9
9
 
10
10
  **Non-Goals:**
11
- <!-- What is explicitly out of scope -->
11
+ <!-- O que está explicitamente fora de escopo -->
12
12
 
13
13
  ## Decisions
14
14
 
15
- <!-- Key design decisions and rationale -->
15
+ <!-- Principais decisões de design e suas justificativas -->
16
16
 
17
17
  ## Risks / Trade-offs
18
18
 
19
- <!-- Known risks and trade-offs -->
19
+ <!-- Riscos e trade-offs conhecidos -->
@@ -1,23 +1,23 @@
1
1
  ## Why
2
2
 
3
- <!-- Explain the motivation for this change. What problem does this solve? Why now? -->
3
+ <!-- Explique a motivação desta mudança. Qual problema ela resolve? Por que agora? -->
4
4
 
5
5
  ## What Changes
6
6
 
7
- <!-- Describe what will change. Be specific about new capabilities, modifications, or removals. -->
7
+ <!-- Descreva o que vai mudar. Seja específico sobre novas capacidades, modificações ou remoções. -->
8
8
 
9
9
  ## Capabilities
10
10
 
11
11
  ### New Capabilities
12
- <!-- Capabilities being introduced. Replace <name> with kebab-case identifier (e.g., user-auth, data-export, api-rate-limiting). Each creates specs/<name>/spec.md -->
13
- - `<name>`: <brief description of what this capability covers>
12
+ <!-- Capacidades sendo introduzidas. Substitua <name> por um identificador kebab-case (ex.: user-auth, data-export, api-rate-limiting). Cada uma cria specs/<name>/spec.md -->
13
+ - `<name>`: <descrição breve do que esta capacidade abrange>
14
14
 
15
15
  ### Modified Capabilities
16
- <!-- Existing capabilities whose REQUIREMENTS are changing (not just implementation).
17
- Only list here if spec-level behavior changes. Each needs a delta spec file.
18
- Use existing spec names from openspec/specs/. Leave empty if no requirement changes. -->
19
- - `<existing-name>`: <what requirement is changing>
16
+ <!-- Capacidades existentes cujos REQUIREMENTS estão mudando (não apenas a implementação).
17
+ Liste aqui somente se o comportamento em nível de spec mudar. Cada uma precisa de um arquivo de spec delta.
18
+ Use nomes de spec existentes de openspec/specs/. Deixe vazio se nenhum requisito mudar. -->
19
+ - `<existing-name>`: <qual requisito está mudando>
20
20
 
21
21
  ## Impact
22
22
 
23
- <!-- Affected code, APIs, dependencies, systems -->
23
+ <!-- Código, APIs, dependências e sistemas afetados -->
@@ -1,8 +1,8 @@
1
1
  ## ADDED Requirements
2
2
 
3
- ### Requirement: <!-- requirement name -->
4
- <!-- requirement text -->
3
+ ### Requirement: <!-- nome do requisito -->
4
+ <!-- texto do requisito -->
5
5
 
6
- #### Scenario: <!-- scenario name -->
7
- - **WHEN** <!-- condition -->
8
- - **THEN** <!-- expected outcome -->
6
+ #### Scenario: <!-- nome do cenário -->
7
+ - **WHEN** <!-- condição -->
8
+ - **THEN** <!-- resultado esperado -->
@@ -1,9 +1,9 @@
1
- ## 1. <!-- Task Group Name -->
1
+ ## 1. <!-- Nome do Grupo de Tarefas -->
2
2
 
3
- - [ ] 1.1 <!-- Task description -->
4
- - [ ] 1.2 <!-- Task description -->
3
+ - [ ] 1.1 <!-- Descrição da tarefa -->
4
+ - [ ] 1.2 <!-- Descrição da tarefa -->
5
5
 
6
- ## 2. <!-- Task Group Name -->
6
+ ## 2. <!-- Nome do Grupo de Tarefas -->
7
7
 
8
- - [ ] 2.1 <!-- Task description -->
9
- - [ ] 2.2 <!-- Task description -->
8
+ - [ ] 2.1 <!-- Descrição da tarefa -->
9
+ - [ ] 2.2 <!-- Descrição da tarefa -->
@@ -1,10 +0,0 @@
1
- /**
2
- * Upstream Sync Workflow Template
3
- *
4
- * Guides the process of syncing the BR-OpenSpec fork with the upstream
5
- * OpenSpec repository, translating new content to Brazilian Portuguese.
6
- */
7
- import type { SkillTemplate, CommandTemplate } from '../types.js';
8
- export declare function getUpstreamSyncSkillTemplate(): SkillTemplate;
9
- export declare function getOpsxUpstreamSyncCommandTemplate(): CommandTemplate;
10
- //# sourceMappingURL=upstream-sync.d.ts.map
@@ -1,116 +0,0 @@
1
- /**
2
- * Upstream Sync Workflow Template
3
- *
4
- * Guides the process of syncing the BR-OpenSpec fork with the upstream
5
- * OpenSpec repository, translating new content to Brazilian Portuguese.
6
- */
7
- export function getUpstreamSyncSkillTemplate() {
8
- return {
9
- name: 'openspec-upstream-sync',
10
- description: 'Sincroniza o BR-OpenSpec com o upstream, traduz novas mensagens e atualiza a documentação em português brasileiro. Use quando houver atualizações no repositório original que precisem ser incorporadas ao fork.',
11
- instructions: `Sincronize o BR-OpenSpec com o repositório upstream e traduza o conteúdo novo para português brasileiro.
12
-
13
- **Entrada**: O usuário indica que há atualizações no upstream ou pede para sincronizar.
14
-
15
- **Pré-requisitos**
16
- - O remote upstream deve estar configurado:
17
- \`git remote add upstream https://github.com/<upstream-owner>/<upstream-repo>.git\` (se ainda não estiver)
18
-
19
- **Passos**
20
-
21
- 1. **Verifique o estado atual**
22
- \`\`\`bash
23
- git fetch upstream
24
- git log --oneline HEAD..upstream/main --no-merges | head -20
25
- \`\`\`
26
- Isso mostra os commits que serão incorporados.
27
-
28
- 2. **Crie uma branch para o sync**
29
- \`\`\`bash
30
- git checkout -b sync/upstream-$(date +%Y%m%d)
31
- \`\`\`
32
-
33
- 3. **Faça o merge do upstream**
34
- \`\`\`bash
35
- git merge upstream/main --no-edit
36
- \`\`\`
37
- - Se houver conflitos em \`src/messages/index.ts\`, resolva mantendo as mensagens em português brasileiro e incorporando as novas chaves em inglês.
38
- - Para outros arquivos, resolva normalmente preservando as adaptações do BR-OpenSpec.
39
-
40
- 4. **Identifique novas strings de usuário**
41
- Após o merge, encontre strings hardcoded em inglês que ainda não estão no catálogo:
42
- \`\`\`bash
43
- git diff upstream/main..HEAD --name-only | grep "^src/"
44
- \`\`\`
45
- Busque por novas ocorrências de \`console.log\`, \`console.error\`, \`console.warn\`, \`.description(\`, \`message:\` em arquivos modificados.
46
-
47
- 5. **Atualize o catálogo de mensagens**
48
- - Adicione novas chaves em \`src/messages/index.ts\` na seção apropriada
49
- - Traduza os valores para português brasileiro
50
- - Mantenha a organização por domínio (CLI_DESCRIPTIONS, CLI_MESSAGES, CHANGE_MESSAGES, etc.)
51
- - Se uma seção nova for necessária, crie-a com o padrão existente
52
-
53
- 6. **Substitua strings hardcoded nos arquivos fonte**
54
- - Substitua cada string em inglês recém-adicionada pela referência ao catálogo
55
- - Adicione o import necessário de \`../messages/index.js\` (ou caminho relativo apropriado)
56
- - NÃO traduza: nomes de variáveis, comentários de código, identificadores técnicos, nomes de comandos CLI
57
-
58
- 7. **Atualize menções ao nome do projeto**
59
- - Novos textos podem referenciar "OpenSpec" em vez de "BR-OpenSpec"
60
- - Substitua referências ao nome do projeto em mensagens de usuário: \`s/\\bOpenSpec\\b/BR-OpenSpec/g\`
61
- - NÃO altere: \`openspec\` (comando), \`openspec-\` (prefixos), \`OPENSPEC_\` (constantes), URLs
62
-
63
- 8. **Sincronize a documentação traduzida**
64
- Compare os arquivos de documentação em inglês com seus correspondentes em pt-BR:
65
- - \`README.md\` ↔ \`README.pt-BR.md\`
66
- - \`docs/*.md\` ↔ \`docs/pt-BR/*.md\`
67
-
68
- Para cada arquivo modificado pelo upstream:
69
- - Aplique as mesmas mudanças estruturais nos correspondentes pt-BR
70
- - Traduza novos trechos adicionados pelo upstream
71
- - **PRESERVE adições pontuais do fork** (ex: justificativa da criação do fork, referências específicas ao BR-OpenSpec, links para recursos em pt-BR)
72
- - Substitua "OpenSpec" por "BR-OpenSpec" quando o texto se referir ao projeto que o usuário está usando
73
- - Mantenha nomes técnicos inalterados: \`openspec\`, \`.openspec.yaml\`, \`openspec/\`, skills \`openspec-*\`
74
-
75
- 9. **Atualize os testes**
76
- - Rode \`pnpm test\` para identificar testes que quebraram devido às traduções
77
- - Atualize as expectativas de strings de \`test/\` para refletir as mensagens em português
78
- - NÃO altere a lógica dos testes — apenas as strings de comparação
79
-
80
- 10. **Valide o build**
81
- \`\`\`bash
82
- pnpm run build
83
- pnpm exec tsc --noEmit
84
- pnpm lint
85
- \`\`\`
86
-
87
- 11. **Resumo do sync**
88
- Informe ao usuário:
89
- - Quais commits foram incorporados
90
- - Quais arquivos foram modificados
91
- - Quantas novas mensagens foram traduzidas
92
- - Quais arquivos de documentação foram sincronizados
93
- - Se há testes ainda falhando (e por quê)
94
-
95
- **IMPORTANTE**: NUNCA traduza código técnico (nomes de variáveis, funções, constantes) ou comentários de documentação de API. Apenas mensagens exibidas ao usuário final.
96
- `,
97
- };
98
- }
99
- export function getOpsxUpstreamSyncCommandTemplate() {
100
- return {
101
- name: 'upstream-sync',
102
- description: 'Sincroniza com upstream e traduz novidades',
103
- category: 'maintenance',
104
- tags: ['sync', 'upstream', 'i18n'],
105
- content: `Sincronize o BR-OpenSpec com o upstream.
106
-
107
- 1. Verifique atualizações: \`git fetch upstream && git log --oneline HEAD..upstream/main | head -10\`
108
- 2. Se houver commits, crie branch e faça merge
109
- 3. Identifique e traduza novas strings de usuário
110
- 4. Atualize o catálogo em \`src/messages/index.ts\`
111
- 5. Sincronize a documentação em pt-BR preservando adições do fork
112
- 6. Valide: \`pnpm run build && pnpm test\`
113
- 7. Resuma as mudanças para o usuário`,
114
- };
115
- }
116
- //# sourceMappingURL=upstream-sync.js.map