specweave 0.28.11 → 0.28.14

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 (102) hide show
  1. package/dist/src/cli/commands/archive.d.ts +0 -1
  2. package/dist/src/cli/commands/archive.d.ts.map +1 -1
  3. package/dist/src/cli/commands/archive.js +1 -4
  4. package/dist/src/cli/commands/archive.js.map +1 -1
  5. package/dist/src/cli/commands/init.d.ts.map +1 -1
  6. package/dist/src/cli/commands/init.js +29 -18
  7. package/dist/src/cli/commands/init.js.map +1 -1
  8. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  9. package/dist/src/cli/helpers/init/external-import.js +83 -10
  10. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  11. package/dist/src/cli/helpers/init/index.d.ts +1 -0
  12. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  13. package/dist/src/cli/helpers/init/index.js +2 -0
  14. package/dist/src/cli/helpers/init/index.js.map +1 -1
  15. package/dist/src/cli/helpers/init/language-selection.d.ts +40 -0
  16. package/dist/src/cli/helpers/init/language-selection.d.ts.map +1 -0
  17. package/dist/src/cli/helpers/init/language-selection.js +281 -0
  18. package/dist/src/cli/helpers/init/language-selection.js.map +1 -0
  19. package/dist/src/cli/helpers/init/repository-setup.d.ts +2 -0
  20. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  21. package/dist/src/cli/helpers/init/repository-setup.js +156 -12
  22. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  23. package/dist/src/cli/helpers/init/translation-config.d.ts +10 -2
  24. package/dist/src/cli/helpers/init/translation-config.d.ts.map +1 -1
  25. package/dist/src/cli/helpers/init/translation-config.js +302 -81
  26. package/dist/src/cli/helpers/init/translation-config.js.map +1 -1
  27. package/dist/src/core/config/types.d.ts +30 -2
  28. package/dist/src/core/config/types.d.ts.map +1 -1
  29. package/dist/src/core/config/types.js.map +1 -1
  30. package/dist/src/core/feature-deleter/validator.d.ts +1 -0
  31. package/dist/src/core/feature-deleter/validator.d.ts.map +1 -1
  32. package/dist/src/core/feature-deleter/validator.js +8 -10
  33. package/dist/src/core/feature-deleter/validator.js.map +1 -1
  34. package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
  35. package/dist/src/core/increment/increment-archiver.js +12 -5
  36. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  37. package/dist/src/core/living-docs/feature-archiver.d.ts +25 -3
  38. package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
  39. package/dist/src/core/living-docs/feature-archiver.js +131 -129
  40. package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
  41. package/dist/src/core/living-docs/feature-consistency-validator.d.ts +23 -22
  42. package/dist/src/core/living-docs/feature-consistency-validator.d.ts.map +1 -1
  43. package/dist/src/core/living-docs/feature-consistency-validator.js +68 -150
  44. package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -1
  45. package/dist/src/core/living-docs/feature-id-manager.d.ts +5 -1
  46. package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -1
  47. package/dist/src/core/living-docs/feature-id-manager.js +43 -23
  48. package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
  49. package/dist/src/core/living-docs/hierarchy-mapper.d.ts +21 -12
  50. package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
  51. package/dist/src/core/living-docs/hierarchy-mapper.js +89 -70
  52. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
  53. package/dist/src/core/living-docs/living-docs-sync.d.ts +10 -11
  54. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  55. package/dist/src/core/living-docs/living-docs-sync.js +24 -56
  56. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  57. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts +1 -1
  58. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts.map +1 -1
  59. package/dist/src/core/repo-structure/repo-bulk-discovery.js +168 -126
  60. package/dist/src/core/repo-structure/repo-bulk-discovery.js.map +1 -1
  61. package/dist/src/core/spec-detector.js +2 -2
  62. package/dist/src/core/spec-detector.js.map +1 -1
  63. package/dist/src/importers/duplicate-detector.d.ts +6 -0
  64. package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
  65. package/dist/src/importers/duplicate-detector.js +8 -2
  66. package/dist/src/importers/duplicate-detector.js.map +1 -1
  67. package/dist/src/importers/external-importer.d.ts +6 -0
  68. package/dist/src/importers/external-importer.d.ts.map +1 -1
  69. package/dist/src/importers/import-coordinator.d.ts +38 -2
  70. package/dist/src/importers/import-coordinator.d.ts.map +1 -1
  71. package/dist/src/importers/import-coordinator.js +142 -5
  72. package/dist/src/importers/import-coordinator.js.map +1 -1
  73. package/dist/src/importers/item-converter.d.ts +39 -1
  74. package/dist/src/importers/item-converter.d.ts.map +1 -1
  75. package/dist/src/importers/item-converter.js +193 -24
  76. package/dist/src/importers/item-converter.js.map +1 -1
  77. package/dist/src/living-docs/fs-id-allocator.d.ts +8 -2
  78. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  79. package/dist/src/living-docs/fs-id-allocator.js +18 -10
  80. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  81. package/dist/src/sync/sync-coordinator.d.ts +5 -0
  82. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  83. package/dist/src/sync/sync-coordinator.js +104 -6
  84. package/dist/src/sync/sync-coordinator.js.map +1 -1
  85. package/dist/src/utils/project-detection.d.ts +13 -10
  86. package/dist/src/utils/project-detection.d.ts.map +1 -1
  87. package/dist/src/utils/project-detection.js +26 -11
  88. package/dist/src/utils/project-detection.js.map +1 -1
  89. package/package.json +1 -1
  90. package/plugins/specweave/agents/pm/AGENT.md +41 -4
  91. package/plugins/specweave/agents/test-aware-planner/AGENT.md +54 -0
  92. package/plugins/specweave/commands/specweave-increment.md +30 -0
  93. package/plugins/specweave/commands/specweave-save.md +838 -0
  94. package/plugins/specweave/hooks/lib/update-status-line.sh +9 -1
  95. package/plugins/specweave/hooks/post-increment-completion.sh +4 -3
  96. package/plugins/specweave/hooks/post-metadata-change.sh +18 -4
  97. package/plugins/specweave/skills/increment-planner/SKILL.md +252 -2
  98. package/plugins/specweave/skills/spec-generator/SKILL.md +163 -0
  99. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +79 -12
  100. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +6 -0
  101. package/plugins/specweave-release/commands/specweave-release-npm.md +14 -22
  102. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +9 -0
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * Translation configuration prompts
3
3
  *
4
+ * NOTE: Language selection is now in language-selection.ts (asked first)
5
+ * This module only handles auto-translation scope configuration.
6
+ *
4
7
  * CRITICAL: User MUST be asked before enabling translation
5
8
  * Translation can ~2x token usage (significant cost impact)
6
9
  *
@@ -11,56 +14,292 @@ import * as path from 'path';
11
14
  import chalk from 'chalk';
12
15
  import { select, confirm } from '@inquirer/prompts';
13
16
  /**
14
- * Get human-readable language name
17
+ * Get human-readable language name in native form
15
18
  */
16
- function getLanguageName(code) {
19
+ function getLanguageNativeName(code) {
17
20
  const names = {
18
21
  en: 'English',
19
- ru: 'Russian',
20
- es: 'Spanish',
21
- zh: 'Chinese',
22
- de: 'German',
23
- fr: 'French',
24
- ja: 'Japanese',
25
- ko: 'Korean',
26
- pt: 'Portuguese',
22
+ ru: 'Русский',
23
+ es: 'Español',
24
+ zh: '中文',
25
+ de: 'Deutsch',
26
+ fr: 'Français',
27
+ ja: '日本語',
28
+ ko: '한국어',
29
+ pt: 'Português',
27
30
  };
28
31
  return names[code] || code;
29
32
  }
30
33
  /**
31
- * Prompt user for language and translation configuration
34
+ * Get translated strings for translation config prompts
35
+ */
36
+ function getTranslationStrings(language) {
37
+ const strings = {
38
+ en: {
39
+ header: '📝 Auto-Translation Configuration',
40
+ subheader: 'Configure automatic translation for your documentation',
41
+ costHeader: 'TRANSLATION COST NOTICE',
42
+ costLine1: 'Enabling translation will approximately DOUBLE token usage:',
43
+ costLine2: '• Each spec.md translation: ~$0.003-0.005',
44
+ costLine3: '• Living docs update: ~$0.002-0.004',
45
+ costLine4: '• GitHub/JIRA issue sync: ~$0.001-0.002',
46
+ costLine5: 'Estimated monthly increase: $0.50-$2.00 (depends on activity)',
47
+ enableQuestion: 'Enable automatic translation?',
48
+ disabled: 'Translation: Disabled',
49
+ manualHint: 'use /specweave:translate manually',
50
+ scopeQuestion: 'What should be auto-translated?',
51
+ scopeAll: 'Everything (specs + living docs + external tools)',
52
+ scopeLivingDocs: 'Living docs only (internal documentation)',
53
+ scopeExternal: 'External sync only (GitHub/JIRA/ADO issues)',
54
+ scopeCustom: 'Let me choose individually',
55
+ customSpecs: 'Translate spec.md, plan.md, tasks.md after creation?',
56
+ customLivingDocs: 'Translate living docs on update?',
57
+ customExternal: 'Translate GitHub/JIRA/ADO issues on sync?',
58
+ summary: 'Translation configured',
59
+ translationEnabled: 'Translation: Enabled (auto)',
60
+ scopeLabel: 'Scope',
61
+ specsLabel: 'Increment specs',
62
+ livingDocsLabel: 'Living docs',
63
+ externalLabel: 'External tools',
64
+ },
65
+ ru: {
66
+ header: '📝 Настройка автоперевода',
67
+ subheader: 'Настройте автоматический перевод документации',
68
+ costHeader: 'УВЕДОМЛЕНИЕ О СТОИМОСТИ ПЕРЕВОДА',
69
+ costLine1: 'Включение перевода примерно УДВОИТ расход токенов:',
70
+ costLine2: '• Каждый перевод spec.md: ~$0.003-0.005',
71
+ costLine3: '• Обновление living docs: ~$0.002-0.004',
72
+ costLine4: '• Синхр. GitHub/JIRA: ~$0.001-0.002',
73
+ costLine5: 'Ориентир. увеличение в месяц: $0.50-$2.00 (зависит от активности)',
74
+ enableQuestion: 'Включить автоматический перевод?',
75
+ disabled: 'Перевод: Отключён',
76
+ manualHint: 'используйте /specweave:translate вручную',
77
+ scopeQuestion: 'Что переводить автоматически?',
78
+ scopeAll: 'Всё (specs + living docs + внешние инструменты)',
79
+ scopeLivingDocs: 'Только living docs (внутренняя документация)',
80
+ scopeExternal: 'Только внешняя синхр. (GitHub/JIRA/ADO issues)',
81
+ scopeCustom: 'Выбрать по отдельности',
82
+ customSpecs: 'Переводить spec.md, plan.md, tasks.md после создания?',
83
+ customLivingDocs: 'Переводить living docs при обновлении?',
84
+ customExternal: 'Переводить GitHub/JIRA/ADO issues при синхронизации?',
85
+ summary: 'Перевод настроен',
86
+ translationEnabled: 'Перевод: Включён (авто)',
87
+ scopeLabel: 'Область',
88
+ specsLabel: 'Спецификации инкрементов',
89
+ livingDocsLabel: 'Living docs',
90
+ externalLabel: 'Внешние инструменты',
91
+ },
92
+ es: {
93
+ header: '📝 Configuración de traducción automática',
94
+ subheader: 'Configure la traducción automática de la documentación',
95
+ costHeader: 'AVISO DE COSTO DE TRADUCCIÓN',
96
+ costLine1: 'Habilitar la traducción aproximadamente DUPLICARÁ el uso de tokens:',
97
+ costLine2: '• Cada traducción de spec.md: ~$0.003-0.005',
98
+ costLine3: '• Actualización de living docs: ~$0.002-0.004',
99
+ costLine4: '• Sincr. GitHub/JIRA: ~$0.001-0.002',
100
+ costLine5: 'Aumento mensual estimado: $0.50-$2.00 (depende de la actividad)',
101
+ enableQuestion: '¿Habilitar traducción automática?',
102
+ disabled: 'Traducción: Deshabilitada',
103
+ manualHint: 'use /specweave:translate manualmente',
104
+ scopeQuestion: '¿Qué se debe traducir automáticamente?',
105
+ scopeAll: 'Todo (specs + living docs + herramientas externas)',
106
+ scopeLivingDocs: 'Solo living docs (documentación interna)',
107
+ scopeExternal: 'Solo sincr. externa (issues de GitHub/JIRA/ADO)',
108
+ scopeCustom: 'Déjame elegir individualmente',
109
+ customSpecs: '¿Traducir spec.md, plan.md, tasks.md después de crear?',
110
+ customLivingDocs: '¿Traducir living docs al actualizar?',
111
+ customExternal: '¿Traducir issues de GitHub/JIRA/ADO al sincronizar?',
112
+ summary: 'Traducción configurada',
113
+ translationEnabled: 'Traducción: Habilitada (auto)',
114
+ scopeLabel: 'Alcance',
115
+ specsLabel: 'Specs de incrementos',
116
+ livingDocsLabel: 'Living docs',
117
+ externalLabel: 'Herramientas externas',
118
+ },
119
+ zh: {
120
+ header: '📝 自动翻译配置',
121
+ subheader: '配置文档的自动翻译',
122
+ costHeader: '翻译费用通知',
123
+ costLine1: '启用翻译将使令牌使用量大约翻倍:',
124
+ costLine2: '• 每个 spec.md 翻译:~$0.003-0.005',
125
+ costLine3: '• Living docs 更新: ~$0.002-0.004',
126
+ costLine4: '• GitHub/JIRA 同步: ~$0.001-0.002',
127
+ costLine5: '预计每月增加:$0.50-$2.00(取决于活动量)',
128
+ enableQuestion: '启用自动翻译?',
129
+ disabled: '翻译:已禁用',
130
+ manualHint: '手动使用 /specweave:translate',
131
+ scopeQuestion: '什么应该自动翻译?',
132
+ scopeAll: '全部(specs + living docs + 外部工具)',
133
+ scopeLivingDocs: '仅 living docs(内部文档)',
134
+ scopeExternal: '仅外部同步(GitHub/JIRA/ADO issues)',
135
+ scopeCustom: '让我单独选择',
136
+ customSpecs: '创建后翻译 spec.md、plan.md、tasks.md?',
137
+ customLivingDocs: '更新时翻译 living docs?',
138
+ customExternal: '同步时翻译 GitHub/JIRA/ADO issues?',
139
+ summary: '翻译已配置',
140
+ translationEnabled: '翻译:已启用(自动)',
141
+ scopeLabel: '范围',
142
+ specsLabel: '增量规范',
143
+ livingDocsLabel: 'Living docs',
144
+ externalLabel: '外部工具',
145
+ },
146
+ de: {
147
+ header: '📝 Auto-Übersetzung Konfiguration',
148
+ subheader: 'Konfigurieren Sie die automatische Übersetzung der Dokumentation',
149
+ costHeader: 'ÜBERSETZUNGSKOSTEN-HINWEIS',
150
+ costLine1: 'Das Aktivieren der Übersetzung wird den Token-Verbrauch ungefähr VERDOPPELN:',
151
+ costLine2: '• Jede spec.md Übersetzung: ~$0.003-0.005',
152
+ costLine3: '• Living docs Update: ~$0.002-0.004',
153
+ costLine4: '• GitHub/JIRA Sync: ~$0.001-0.002',
154
+ costLine5: 'Geschätzte monatliche Erhöhung: $0.50-$2.00 (abhängig von Aktivität)',
155
+ enableQuestion: 'Automatische Übersetzung aktivieren?',
156
+ disabled: 'Übersetzung: Deaktiviert',
157
+ manualHint: 'verwenden Sie /specweave:translate manuell',
158
+ scopeQuestion: 'Was soll automatisch übersetzt werden?',
159
+ scopeAll: 'Alles (specs + living docs + externe Tools)',
160
+ scopeLivingDocs: 'Nur living docs (interne Dokumentation)',
161
+ scopeExternal: 'Nur externe Sync (GitHub/JIRA/ADO issues)',
162
+ scopeCustom: 'Einzeln auswählen',
163
+ customSpecs: 'spec.md, plan.md, tasks.md nach Erstellung übersetzen?',
164
+ customLivingDocs: 'Living docs bei Update übersetzen?',
165
+ customExternal: 'GitHub/JIRA/ADO issues bei Sync übersetzen?',
166
+ summary: 'Übersetzung konfiguriert',
167
+ translationEnabled: 'Übersetzung: Aktiviert (auto)',
168
+ scopeLabel: 'Bereich',
169
+ specsLabel: 'Increment Specs',
170
+ livingDocsLabel: 'Living docs',
171
+ externalLabel: 'Externe Tools',
172
+ },
173
+ fr: {
174
+ header: '📝 Configuration de traduction automatique',
175
+ subheader: 'Configurez la traduction automatique de la documentation',
176
+ costHeader: 'AVIS DE COÛT DE TRADUCTION',
177
+ costLine1: 'L\'activation de la traduction DOUBLERA approximativement l\'utilisation des tokens:',
178
+ costLine2: '• Chaque traduction spec.md: ~$0.003-0.005',
179
+ costLine3: '• Mise à jour living docs: ~$0.002-0.004',
180
+ costLine4: '• Sync GitHub/JIRA: ~$0.001-0.002',
181
+ costLine5: 'Augmentation mensuelle estimée: $0.50-$2.00 (dépend de l\'activité)',
182
+ enableQuestion: 'Activer la traduction automatique?',
183
+ disabled: 'Traduction: Désactivée',
184
+ manualHint: 'utilisez /specweave:translate manuellement',
185
+ scopeQuestion: 'Que faut-il traduire automatiquement?',
186
+ scopeAll: 'Tout (specs + living docs + outils externes)',
187
+ scopeLivingDocs: 'Living docs uniquement (documentation interne)',
188
+ scopeExternal: 'Sync externe uniquement (issues GitHub/JIRA/ADO)',
189
+ scopeCustom: 'Choisir individuellement',
190
+ customSpecs: 'Traduire spec.md, plan.md, tasks.md après création?',
191
+ customLivingDocs: 'Traduire living docs lors de la mise à jour?',
192
+ customExternal: 'Traduire issues GitHub/JIRA/ADO lors de la sync?',
193
+ summary: 'Traduction configurée',
194
+ translationEnabled: 'Traduction: Activée (auto)',
195
+ scopeLabel: 'Portée',
196
+ specsLabel: 'Specs d\'incréments',
197
+ livingDocsLabel: 'Living docs',
198
+ externalLabel: 'Outils externes',
199
+ },
200
+ ja: {
201
+ header: '📝 自動翻訳設定',
202
+ subheader: 'ドキュメントの自動翻訳を設定',
203
+ costHeader: '翻訳コスト通知',
204
+ costLine1: '翻訳を有効にすると、トークン使用量がほぼ2倍になります:',
205
+ costLine2: '• 各 spec.md 翻訳:~$0.003-0.005',
206
+ costLine3: '• Living docs 更新: ~$0.002-0.004',
207
+ costLine4: '• GitHub/JIRA 同期: ~$0.001-0.002',
208
+ costLine5: '推定月額増加:$0.50-$2.00(活動量による)',
209
+ enableQuestion: '自動翻訳を有効にしますか?',
210
+ disabled: '翻訳:無効',
211
+ manualHint: '手動で /specweave:translate を使用',
212
+ scopeQuestion: '何を自動翻訳しますか?',
213
+ scopeAll: 'すべて(specs + living docs + 外部ツール)',
214
+ scopeLivingDocs: 'living docs のみ(内部ドキュメント)',
215
+ scopeExternal: '外部同期のみ(GitHub/JIRA/ADO issues)',
216
+ scopeCustom: '個別に選択',
217
+ customSpecs: '作成後に spec.md, plan.md, tasks.md を翻訳?',
218
+ customLivingDocs: '更新時に living docs を翻訳?',
219
+ customExternal: '同期時に GitHub/JIRA/ADO issues を翻訳?',
220
+ summary: '翻訳が設定されました',
221
+ translationEnabled: '翻訳:有効(自動)',
222
+ scopeLabel: '範囲',
223
+ specsLabel: 'インクリメント仕様',
224
+ livingDocsLabel: 'Living docs',
225
+ externalLabel: '外部ツール',
226
+ },
227
+ ko: {
228
+ header: '📝 자동 번역 구성',
229
+ subheader: '문서의 자동 번역 구성',
230
+ costHeader: '번역 비용 알림',
231
+ costLine1: '번역을 활성화하면 토큰 사용량이 약 2배로 증가합니다:',
232
+ costLine2: '• 각 spec.md 번역: ~$0.003-0.005',
233
+ costLine3: '• Living docs 업데이트: ~$0.002-0.004',
234
+ costLine4: '• GitHub/JIRA 동기화: ~$0.001-0.002',
235
+ costLine5: '예상 월 증가: $0.50-$2.00 (활동량에 따라 다름)',
236
+ enableQuestion: '자동 번역을 활성화하시겠습니까?',
237
+ disabled: '번역: 비활성화됨',
238
+ manualHint: '수동으로 /specweave:translate 사용',
239
+ scopeQuestion: '무엇을 자동 번역하시겠습니까?',
240
+ scopeAll: '전체 (specs + living docs + 외부 도구)',
241
+ scopeLivingDocs: 'living docs만 (내부 문서)',
242
+ scopeExternal: '외부 동기화만 (GitHub/JIRA/ADO issues)',
243
+ scopeCustom: '개별 선택',
244
+ customSpecs: '생성 후 spec.md, plan.md, tasks.md 번역?',
245
+ customLivingDocs: '업데이트 시 living docs 번역?',
246
+ customExternal: '동기화 시 GitHub/JIRA/ADO issues 번역?',
247
+ summary: '번역이 구성되었습니다',
248
+ translationEnabled: '번역: 활성화됨 (자동)',
249
+ scopeLabel: '범위',
250
+ specsLabel: '증분 사양',
251
+ livingDocsLabel: 'Living docs',
252
+ externalLabel: '외부 도구',
253
+ },
254
+ pt: {
255
+ header: '📝 Configuração de tradução automática',
256
+ subheader: 'Configure a tradução automática da documentação',
257
+ costHeader: 'AVISO DE CUSTO DE TRADUÇÃO',
258
+ costLine1: 'Ativar tradução aproximadamente DOBRARÁ o uso de tokens:',
259
+ costLine2: '• Cada tradução de spec.md: ~$0.003-0.005',
260
+ costLine3: '• Atualização de living docs: ~$0.002-0.004',
261
+ costLine4: '• Sinc. GitHub/JIRA: ~$0.001-0.002',
262
+ costLine5: 'Aumento mensal estimado: $0.50-$2.00 (depende da atividade)',
263
+ enableQuestion: 'Habilitar tradução automática?',
264
+ disabled: 'Tradução: Desabilitada',
265
+ manualHint: 'use /specweave:translate manualmente',
266
+ scopeQuestion: 'O que deve ser traduzido automaticamente?',
267
+ scopeAll: 'Tudo (specs + living docs + ferramentas externas)',
268
+ scopeLivingDocs: 'Apenas living docs (documentação interna)',
269
+ scopeExternal: 'Apenas sinc. externa (issues GitHub/JIRA/ADO)',
270
+ scopeCustom: 'Deixe-me escolher individualmente',
271
+ customSpecs: 'Traduzir spec.md, plan.md, tasks.md após criação?',
272
+ customLivingDocs: 'Traduzir living docs ao atualizar?',
273
+ customExternal: 'Traduzir issues GitHub/JIRA/ADO ao sincronizar?',
274
+ summary: 'Tradução configurada',
275
+ translationEnabled: 'Tradução: Habilitada (auto)',
276
+ scopeLabel: 'Escopo',
277
+ specsLabel: 'Specs de incrementos',
278
+ livingDocsLabel: 'Living docs',
279
+ externalLabel: 'Ferramentas externas',
280
+ },
281
+ };
282
+ return strings[language] || strings.en;
283
+ }
284
+ /**
285
+ * Prompt user for translation configuration
286
+ *
287
+ * NOTE: Language is already selected in language-selection.ts
288
+ * This only handles auto-translation scope configuration.
32
289
  *
33
290
  * CRITICAL: Shows cost warning before enabling translation
34
291
  * User must explicitly opt-in to translation (default: disabled)
35
292
  *
293
+ * @param languageResult - Result from language selection (language + bilingual preference)
36
294
  * @returns Translation configuration result
37
295
  */
38
- export async function promptTranslationConfig() {
39
- console.log('');
40
- console.log(chalk.cyan.bold('🌐 Language & Translation Configuration'));
41
- console.log(chalk.gray(' Configure your documentation language'));
42
- console.log('');
43
- // STEP 1: Language Selection
44
- const language = await select({
45
- message: 'What is your preferred language for documentation?',
46
- choices: [
47
- { name: '🇬🇧 English (default, no translation overhead)', value: 'en' },
48
- { name: '🇷🇺 Русский (Russian)', value: 'ru' },
49
- { name: '🇪🇸 Español (Spanish)', value: 'es' },
50
- { name: '🇨🇳 中文 (Chinese)', value: 'zh' },
51
- { name: '🇩🇪 Deutsch (German)', value: 'de' },
52
- { name: '🇫🇷 Français (French)', value: 'fr' },
53
- { name: '🇯🇵 日本語 (Japanese)', value: 'ja' },
54
- { name: '🇰🇷 한국어 (Korean)', value: 'ko' },
55
- { name: '🇧🇷 Português (Portuguese)', value: 'pt' },
56
- ],
57
- default: 'en'
58
- });
296
+ export async function promptTranslationConfig(languageResult) {
297
+ // Get language from result or use English default
298
+ const language = languageResult?.language || 'en';
299
+ const keepEnglishOriginals = languageResult?.keepEnglishOriginals || false;
300
+ const strings = getTranslationStrings(language);
59
301
  // If English selected, no translation needed
60
302
  if (language === 'en') {
61
- console.log('');
62
- console.log(chalk.green(' ✔ Language: English (no translation overhead)'));
63
- console.log('');
64
303
  return {
65
304
  language: 'en',
66
305
  translationEnabled: false,
@@ -68,57 +307,47 @@ export async function promptTranslationConfig() {
68
307
  keepEnglishOriginals: false,
69
308
  };
70
309
  }
71
- // STEP 2: Cost Warning (CRITICAL!)
72
310
  console.log('');
73
- console.log(chalk.yellow.bold('⚠️ TRANSLATION COST NOTICE'));
311
+ console.log(chalk.cyan.bold(strings.header));
312
+ console.log(chalk.gray(` ${strings.subheader}`));
313
+ console.log('');
314
+ // STEP 1: Cost Warning (CRITICAL!)
315
+ console.log(chalk.yellow.bold(`⚠️ ${strings.costHeader}`));
74
316
  console.log(chalk.yellow('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
75
- console.log(chalk.white(' Enabling translation will approximately DOUBLE token usage:'));
317
+ console.log(chalk.white(` ${strings.costLine1}`));
76
318
  console.log('');
77
- console.log(chalk.gray(' • Each spec.md translation: ~$0.003-0.005'));
78
- console.log(chalk.gray(' • Living docs update: ~$0.002-0.004'));
79
- console.log(chalk.gray(' • GitHub/JIRA issue sync: ~$0.001-0.002'));
319
+ console.log(chalk.gray(` ${strings.costLine2}`));
320
+ console.log(chalk.gray(` ${strings.costLine3}`));
321
+ console.log(chalk.gray(` ${strings.costLine4}`));
80
322
  console.log('');
81
- console.log(chalk.gray(' Estimated monthly increase: $0.50-$2.00 (depends on activity)'));
323
+ console.log(chalk.gray(` ${strings.costLine5}`));
82
324
  console.log(chalk.gray(' Translation uses Claude Haiku (cheapest model).'));
83
325
  console.log(chalk.yellow('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
84
326
  console.log('');
85
- // STEP 3: Enable Translation?
327
+ // STEP 2: Enable Translation?
86
328
  const enableTranslation = await confirm({
87
- message: `Enable automatic translation to ${getLanguageName(language)}?`,
329
+ message: strings.enableQuestion,
88
330
  default: false, // Default to NO (opt-in, not opt-out)
89
331
  });
90
332
  if (!enableTranslation) {
91
333
  console.log('');
92
- console.log(chalk.green(` ✔ Language: ${getLanguageName(language)}`));
93
- console.log(chalk.gray(' ✔ Translation: Disabled (use /specweave:translate manually)'));
334
+ console.log(chalk.green(` ✔ ${strings.disabled} (${strings.manualHint})`));
94
335
  console.log('');
95
336
  return {
96
337
  language,
97
338
  translationEnabled: false,
98
339
  translationScope: { livingDocs: false, externalSync: false, incrementSpecs: false },
99
- keepEnglishOriginals: false,
340
+ keepEnglishOriginals,
100
341
  };
101
342
  }
102
- // STEP 4: Translation Scope
343
+ // STEP 3: Translation Scope
103
344
  const scope = await select({
104
- message: 'What should be auto-translated?',
345
+ message: strings.scopeQuestion,
105
346
  choices: [
106
- {
107
- name: 'Everything (specs + living docs + external tools)',
108
- value: 'all',
109
- },
110
- {
111
- name: 'Living docs only (internal documentation)',
112
- value: 'living-docs',
113
- },
114
- {
115
- name: 'External sync only (GitHub/JIRA/ADO issues)',
116
- value: 'external',
117
- },
118
- {
119
- name: 'Let me choose individually',
120
- value: 'custom',
121
- }
347
+ { name: strings.scopeAll, value: 'all' },
348
+ { name: strings.scopeLivingDocs, value: 'living-docs' },
349
+ { name: strings.scopeExternal, value: 'external' },
350
+ { name: strings.scopeCustom, value: 'custom' },
122
351
  ],
123
352
  default: 'living-docs'
124
353
  });
@@ -135,41 +364,33 @@ export async function promptTranslationConfig() {
135
364
  else {
136
365
  // Custom selection
137
366
  translationScope.incrementSpecs = await confirm({
138
- message: 'Translate spec.md, plan.md, tasks.md after creation?',
367
+ message: strings.customSpecs,
139
368
  default: true,
140
369
  });
141
370
  translationScope.livingDocs = await confirm({
142
- message: 'Translate living docs on update?',
371
+ message: strings.customLivingDocs,
143
372
  default: true,
144
373
  });
145
374
  translationScope.externalSync = await confirm({
146
- message: 'Translate GitHub/JIRA/ADO issues on sync?',
375
+ message: strings.customExternal,
147
376
  default: false,
148
377
  });
149
378
  }
150
- // STEP 5: Keep English Originals?
151
- const keepOriginals = await confirm({
152
- message: 'Keep English originals as .en.md files? (safer, uses more storage)',
153
- default: false,
154
- });
155
379
  // Summary
156
380
  console.log('');
157
- console.log(chalk.green(` ✔ Language: ${getLanguageName(language)}`));
158
- console.log(chalk.green(' ✔ Translation: Enabled (auto)'));
381
+ console.log(chalk.green(` ✔ ${strings.translationEnabled}`));
159
382
  if (translationScope.incrementSpecs)
160
- console.log(chalk.green('Scope: Increment specs'));
383
+ console.log(chalk.green(`${strings.scopeLabel}: ${strings.specsLabel}`));
161
384
  if (translationScope.livingDocs)
162
- console.log(chalk.green('Scope: Living docs'));
385
+ console.log(chalk.green(`${strings.scopeLabel}: ${strings.livingDocsLabel}`));
163
386
  if (translationScope.externalSync)
164
- console.log(chalk.green('Scope: External tools'));
165
- if (keepOriginals)
166
- console.log(chalk.green(' ✔ English originals: Preserved'));
387
+ console.log(chalk.green(`${strings.scopeLabel}: ${strings.externalLabel}`));
167
388
  console.log('');
168
389
  return {
169
390
  language,
170
391
  translationEnabled: true,
171
392
  translationScope,
172
- keepEnglishOriginals: keepOriginals,
393
+ keepEnglishOriginals,
173
394
  };
174
395
  }
175
396
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"translation-config.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/translation-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translation-config.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/translation-config.ts"],"names":[],"mappings":"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"}
@@ -218,16 +218,44 @@ export interface StatusLineConfiguration {
218
218
  }
219
219
  /**
220
220
  * Child repo configuration for umbrella mode
221
+ *
222
+ * ID STRATEGY (IMPORTANT):
223
+ * The `id` field should match the canonical name from your source of truth:
224
+ *
225
+ * | Scenario | ID Source | Example |
226
+ * |-----------------------|--------------------------|----------------------------------|
227
+ * | 1:1 Repo Mapping | Exact repo name | `sw-qr-menu-fe` |
228
+ * | JIRA Project | Project key (lowercase) | `WEBAPP` → `webapp` |
229
+ * | ADO Project | Project name (kebab) | `Frontend Team` → `frontend-team`|
230
+ * | Area Path | Last segment (kebab) | `Product\Web` → `web` |
231
+ * | Monorepo Package | Package name | `@acme/frontend` → `frontend` |
232
+ *
233
+ * RULE: ID should be predictable from source - no arbitrary abbreviations!
234
+ * - ✅ `id: "sw-qr-menu-fe"` (matches repo name)
235
+ * - ❌ `id: "fe"` (arbitrary, what if 2 frontend repos?)
221
236
  */
222
237
  export interface ChildRepoConfig {
223
- /** Repo identifier (e.g., 'fe', 'be', 'shared') */
238
+ /**
239
+ * Repo identifier - MUST match canonical source name:
240
+ * - GitHub repo: exact repo name (e.g., 'sw-qr-menu-fe')
241
+ * - JIRA: project key lowercase (e.g., 'webapp')
242
+ * - ADO: project name kebab-case (e.g., 'frontend-team')
243
+ */
224
244
  id: string;
225
245
  /** Path to repo (relative or absolute) */
226
246
  path: string;
227
- /** User story prefix (e.g., 'FE', 'BE', 'SHARED') */
247
+ /**
248
+ * User story prefix for US-{PREFIX}-001 format.
249
+ * Can be short (FE, BE) even if id is long.
250
+ * Example: id='sw-qr-menu-fe', prefix='FE' → US-FE-001
251
+ */
228
252
  prefix: string;
229
253
  /** GitHub URL for this repo */
230
254
  githubUrl?: string;
255
+ /** JIRA project key (if JIRA is source of truth for this project) */
256
+ jiraProject?: string;
257
+ /** ADO project name (if ADO is source of truth for this project) */
258
+ adoProject?: string;
231
259
  /** Tech stack keywords for story routing */
232
260
  techStack?: string[];
233
261
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2aH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,OAAO,EAAE,KAAK;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,OAAO;KAClB;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;KACjB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;KACtB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,KAAK,EAAE,aAAa;QACjC,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,EAAE;KAClB;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAucH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,OAAO,EAAE,KAAK;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,OAAO;KAClB;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;KACjB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;KACtB;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,KAAK,EAAE,aAAa;QACjC,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,EAAE;KAClB;CACF,CAAC"}
@@ -28,6 +28,7 @@ export declare class FeatureValidator {
28
28
  private scanIncrementReferences;
29
29
  /**
30
30
  * T-005: Detect all feature files (living docs + user stories)
31
+ * v5.0.0: Features now live in {project}/FS-XXX/ (no _features folder)
31
32
  */
32
33
  private detectFeatureFiles;
33
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/core/feature-deleter/validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,uBAA4B;IAKjD;;;OAGG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2DtF;;;;OAIG;YACW,uBAAuB;IAsDrC;;OAEG;YACW,kBAAkB;IA4ChC;;OAEG;YACW,iBAAiB;IAgB/B;;OAEG;YACW,WAAW;IAiBzB;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM;CAiC7D"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/core/feature-deleter/validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,uBAA4B;IAKjD;;;OAGG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2DtF;;;;OAIG;YACW,uBAAuB;IAsDrC;;;OAGG;YACW,kBAAkB;IA2ChC;;OAEG;YACW,iBAAiB;IAgB/B;;OAEG;YACW,WAAW;IAiBzB;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM;CAiC7D"}