specweave 0.28.13 → 0.28.15

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 (86) 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/import-external.d.ts.map +1 -1
  6. package/dist/src/cli/commands/import-external.js +128 -16
  7. package/dist/src/cli/commands/import-external.js.map +1 -1
  8. package/dist/src/cli/commands/init.js +5 -5
  9. package/dist/src/cli/commands/init.js.map +1 -1
  10. package/dist/src/cli/helpers/init/external-import.d.ts +3 -1
  11. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  12. package/dist/src/cli/helpers/init/external-import.js +407 -19
  13. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  14. package/dist/src/cli/helpers/init/next-steps.d.ts.map +1 -1
  15. package/dist/src/cli/helpers/init/next-steps.js +77 -5
  16. package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
  17. package/dist/src/cli/helpers/init/smart-reinit.d.ts +2 -0
  18. package/dist/src/cli/helpers/init/smart-reinit.d.ts.map +1 -1
  19. package/dist/src/cli/helpers/init/smart-reinit.js +371 -36
  20. package/dist/src/cli/helpers/init/smart-reinit.js.map +1 -1
  21. package/dist/src/cli/helpers/init/testing-config.d.ts +5 -2
  22. package/dist/src/cli/helpers/init/testing-config.d.ts.map +1 -1
  23. package/dist/src/cli/helpers/init/testing-config.js +322 -31
  24. package/dist/src/cli/helpers/init/testing-config.js.map +1 -1
  25. package/dist/src/core/feature-deleter/validator.d.ts +1 -0
  26. package/dist/src/core/feature-deleter/validator.d.ts.map +1 -1
  27. package/dist/src/core/feature-deleter/validator.js +8 -10
  28. package/dist/src/core/feature-deleter/validator.js.map +1 -1
  29. package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
  30. package/dist/src/core/increment/increment-archiver.js +12 -5
  31. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  32. package/dist/src/core/living-docs/feature-archiver.d.ts +25 -3
  33. package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
  34. package/dist/src/core/living-docs/feature-archiver.js +131 -129
  35. package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
  36. package/dist/src/core/living-docs/feature-consistency-validator.d.ts +23 -22
  37. package/dist/src/core/living-docs/feature-consistency-validator.d.ts.map +1 -1
  38. package/dist/src/core/living-docs/feature-consistency-validator.js +68 -150
  39. package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -1
  40. package/dist/src/core/living-docs/feature-id-manager.d.ts +5 -1
  41. package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -1
  42. package/dist/src/core/living-docs/feature-id-manager.js +43 -23
  43. package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
  44. package/dist/src/core/living-docs/hierarchy-mapper.d.ts +21 -12
  45. package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
  46. package/dist/src/core/living-docs/hierarchy-mapper.js +89 -70
  47. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
  48. package/dist/src/core/living-docs/living-docs-sync.d.ts +10 -11
  49. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  50. package/dist/src/core/living-docs/living-docs-sync.js +24 -56
  51. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  52. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts +1 -1
  53. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts.map +1 -1
  54. package/dist/src/core/repo-structure/repo-bulk-discovery.js +168 -126
  55. package/dist/src/core/repo-structure/repo-bulk-discovery.js.map +1 -1
  56. package/dist/src/core/spec-detector.js +2 -2
  57. package/dist/src/core/spec-detector.js.map +1 -1
  58. package/dist/src/importers/duplicate-detector.d.ts +6 -0
  59. package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
  60. package/dist/src/importers/duplicate-detector.js +8 -2
  61. package/dist/src/importers/duplicate-detector.js.map +1 -1
  62. package/dist/src/importers/external-importer.d.ts +6 -0
  63. package/dist/src/importers/external-importer.d.ts.map +1 -1
  64. package/dist/src/importers/import-coordinator.d.ts +38 -2
  65. package/dist/src/importers/import-coordinator.d.ts.map +1 -1
  66. package/dist/src/importers/import-coordinator.js +142 -5
  67. package/dist/src/importers/import-coordinator.js.map +1 -1
  68. package/dist/src/importers/item-converter.d.ts +39 -1
  69. package/dist/src/importers/item-converter.d.ts.map +1 -1
  70. package/dist/src/importers/item-converter.js +202 -24
  71. package/dist/src/importers/item-converter.js.map +1 -1
  72. package/dist/src/living-docs/fs-id-allocator.d.ts +9 -2
  73. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  74. package/dist/src/living-docs/fs-id-allocator.js +24 -10
  75. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  76. package/dist/src/sync/sync-metadata.d.ts.map +1 -1
  77. package/dist/src/sync/sync-metadata.js +31 -2
  78. package/dist/src/sync/sync-metadata.js.map +1 -1
  79. package/dist/src/utils/project-detection.d.ts +13 -10
  80. package/dist/src/utils/project-detection.d.ts.map +1 -1
  81. package/dist/src/utils/project-detection.js +26 -11
  82. package/dist/src/utils/project-detection.js.map +1 -1
  83. package/package.json +1 -1
  84. package/plugins/specweave/agents/AGENTS-INDEX.md +0 -9
  85. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +12 -0
  86. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +18 -0
@@ -8,6 +8,338 @@ import * as path from 'path';
8
8
  import chalk from 'chalk';
9
9
  import { select, confirm } from '@inquirer/prompts';
10
10
  import { countFilesRecursive } from './path-utils.js';
11
+ /**
12
+ * Get translated strings for smart re-initialization
13
+ */
14
+ function getSmartReinitStrings(language) {
15
+ const strings = {
16
+ en: {
17
+ detected: '📦 Existing SpecWeave project detected!',
18
+ foundFolder: 'Found .specweave/ folder with your increments, docs, and configuration.',
19
+ dangerForce: '⛔ DANGER: --force DELETES ALL DATA!',
20
+ dangerWillDelete: 'This will permanently delete:',
21
+ dangerIncrements: '• All increments (.specweave/increments/)',
22
+ dangerDocs: '• All documentation (.specweave/docs/)',
23
+ dangerConfig: '• All configuration and history',
24
+ tipSafeUpdate: '💡 TIP: Use "specweave init ." (no --force) for safe updates',
25
+ ciProceedingForce: 'CI mode: Proceeding with force deletion',
26
+ confirmDelete: '⚠️ Type "y" to PERMANENTLY DELETE all .specweave/ data:',
27
+ deletionCancelled: '✅ Deletion cancelled. No data lost.',
28
+ runWithoutForce: '→ Run "specweave init ." (without --force) for safe updates',
29
+ forceModeProceed: '🔄 Force mode: Proceeding with fresh start...',
30
+ ciContinuing: 'CI mode: Continuing with existing project',
31
+ whatToDo: 'What would you like to do?',
32
+ continueWorking: '✨ Continue working (keep all existing increments, docs, and history)',
33
+ freshStart: '🔄 Fresh start (delete .specweave/ and start from scratch)',
34
+ cancel: '❌ Cancel (exit without changes)',
35
+ cancelled: '⏸️ Initialization cancelled. No changes made.',
36
+ continuingExisting: '✅ Continuing with existing project',
37
+ keepingAll: '→ Keeping all increments, docs, and history',
38
+ configUpdated: '→ Config will be updated if needed',
39
+ ciNoForce: '⛔ ERROR: Cannot start fresh in CI mode without --force flag',
40
+ useForceFlag: '→ Use "specweave init . --force" if you really want to delete all data',
41
+ warningDelete: '⚠️ WARNING: This will DELETE all increments, docs, and configuration!',
42
+ confirmFresh: 'Are you sure you want to start fresh? (all .specweave/ content will be lost)',
43
+ freshCancelled: '⏸️ Fresh start cancelled. No changes made.',
44
+ creatingBackup: '📦 Creating backup before deletion...',
45
+ backupSaved: '✅ Backup saved:',
46
+ toRestore: 'To restore: mv',
47
+ backupFailed: '⚠️ Could not create backup (proceeding anyway)',
48
+ removed: '♻️ Removed .specweave/',
49
+ filesDeleted: 'files deleted',
50
+ startingFresh: '✅ Starting fresh - will create new .specweave/ structure',
51
+ },
52
+ ru: {
53
+ detected: '📦 Обнаружен существующий проект SpecWeave!',
54
+ foundFolder: 'Найдена папка .specweave/ с вашими инкрементами, документами и конфигурацией.',
55
+ dangerForce: '⛔ ОПАСНО: --force УДАЛЯЕТ ВСЕ ДАННЫЕ!',
56
+ dangerWillDelete: 'Это навсегда удалит:',
57
+ dangerIncrements: '• Все инкременты (.specweave/increments/)',
58
+ dangerDocs: '• Всю документацию (.specweave/docs/)',
59
+ dangerConfig: '• Всю конфигурацию и историю',
60
+ tipSafeUpdate: '💡 СОВЕТ: Используйте "specweave init ." (без --force) для безопасного обновления',
61
+ ciProceedingForce: 'CI режим: Продолжаем с принудительным удалением',
62
+ confirmDelete: '⚠️ Введите "y" чтобы НАВСЕГДА УДАЛИТЬ все данные .specweave/:',
63
+ deletionCancelled: '✅ Удаление отменено. Данные сохранены.',
64
+ runWithoutForce: '→ Запустите "specweave init ." (без --force) для безопасного обновления',
65
+ forceModeProceed: '🔄 Принудительный режим: Начинаем с чистого листа...',
66
+ ciContinuing: 'CI режим: Продолжаем с существующим проектом',
67
+ whatToDo: 'Что вы хотите сделать?',
68
+ continueWorking: '✨ Продолжить работу (сохранить все инкременты, документы и историю)',
69
+ freshStart: '🔄 Начать заново (удалить .specweave/ и начать с нуля)',
70
+ cancel: '❌ Отмена (выйти без изменений)',
71
+ cancelled: '⏸️ Инициализация отменена. Изменений не внесено.',
72
+ continuingExisting: '✅ Продолжаем с существующим проектом',
73
+ keepingAll: '→ Сохраняем все инкременты, документы и историю',
74
+ configUpdated: '→ Конфигурация будет обновлена при необходимости',
75
+ ciNoForce: '⛔ ОШИБКА: Невозможно начать заново в CI режиме без флага --force',
76
+ useForceFlag: '→ Используйте "specweave init . --force" если действительно хотите удалить все данные',
77
+ warningDelete: '⚠️ ВНИМАНИЕ: Это УДАЛИТ все инкременты, документы и конфигурацию!',
78
+ confirmFresh: 'Вы уверены, что хотите начать заново? (всё содержимое .specweave/ будет потеряно)',
79
+ freshCancelled: '⏸️ Начало заново отменено. Изменений не внесено.',
80
+ creatingBackup: '📦 Создаём резервную копию перед удалением...',
81
+ backupSaved: '✅ Резервная копия сохранена:',
82
+ toRestore: 'Для восстановления: mv',
83
+ backupFailed: '⚠️ Не удалось создать резервную копию (продолжаем)',
84
+ removed: '♻️ Удалено .specweave/',
85
+ filesDeleted: 'файлов удалено',
86
+ startingFresh: '✅ Начинаем заново - создаём новую структуру .specweave/',
87
+ },
88
+ es: {
89
+ detected: '📦 ¡Proyecto SpecWeave existente detectado!',
90
+ foundFolder: 'Se encontró la carpeta .specweave/ con sus incrementos, documentos y configuración.',
91
+ dangerForce: '⛔ PELIGRO: --force ELIMINA TODOS LOS DATOS!',
92
+ dangerWillDelete: 'Esto eliminará permanentemente:',
93
+ dangerIncrements: '• Todos los incrementos (.specweave/increments/)',
94
+ dangerDocs: '• Toda la documentación (.specweave/docs/)',
95
+ dangerConfig: '• Toda la configuración e historial',
96
+ tipSafeUpdate: '💡 CONSEJO: Use "specweave init ." (sin --force) para actualizaciones seguras',
97
+ ciProceedingForce: 'Modo CI: Procediendo con eliminación forzada',
98
+ confirmDelete: '⚠️ Escriba "y" para ELIMINAR PERMANENTEMENTE todos los datos de .specweave/:',
99
+ deletionCancelled: '✅ Eliminación cancelada. No se perdieron datos.',
100
+ runWithoutForce: '→ Ejecute "specweave init ." (sin --force) para actualizaciones seguras',
101
+ forceModeProceed: '🔄 Modo forzado: Procediendo con inicio limpio...',
102
+ ciContinuing: 'Modo CI: Continuando con proyecto existente',
103
+ whatToDo: '¿Qué le gustaría hacer?',
104
+ continueWorking: '✨ Continuar trabajando (mantener todos los incrementos, documentos e historial)',
105
+ freshStart: '🔄 Empezar de nuevo (eliminar .specweave/ y comenzar desde cero)',
106
+ cancel: '❌ Cancelar (salir sin cambios)',
107
+ cancelled: '⏸️ Inicialización cancelada. No se realizaron cambios.',
108
+ continuingExisting: '✅ Continuando con proyecto existente',
109
+ keepingAll: '→ Manteniendo todos los incrementos, documentos e historial',
110
+ configUpdated: '→ La configuración se actualizará si es necesario',
111
+ ciNoForce: '⛔ ERROR: No se puede empezar de nuevo en modo CI sin el flag --force',
112
+ useForceFlag: '→ Use "specweave init . --force" si realmente quiere eliminar todos los datos',
113
+ warningDelete: '⚠️ ADVERTENCIA: ¡Esto ELIMINARÁ todos los incrementos, documentos y configuración!',
114
+ confirmFresh: '¿Está seguro de que quiere empezar de nuevo? (todo el contenido de .specweave/ se perderá)',
115
+ freshCancelled: '⏸️ Inicio limpio cancelado. No se realizaron cambios.',
116
+ creatingBackup: '📦 Creando respaldo antes de eliminar...',
117
+ backupSaved: '✅ Respaldo guardado:',
118
+ toRestore: 'Para restaurar: mv',
119
+ backupFailed: '⚠️ No se pudo crear respaldo (continuando de todos modos)',
120
+ removed: '♻️ Eliminado .specweave/',
121
+ filesDeleted: 'archivos eliminados',
122
+ startingFresh: '✅ Empezando de nuevo - se creará nueva estructura .specweave/',
123
+ },
124
+ zh: {
125
+ detected: '📦 检测到现有的 SpecWeave 项目!',
126
+ foundFolder: '找到包含增量、文档和配置的 .specweave/ 文件夹。',
127
+ dangerForce: '⛔ 危险:--force 将删除所有数据!',
128
+ dangerWillDelete: '这将永久删除:',
129
+ dangerIncrements: '• 所有增量 (.specweave/increments/)',
130
+ dangerDocs: '• 所有文档 (.specweave/docs/)',
131
+ dangerConfig: '• 所有配置和历史记录',
132
+ tipSafeUpdate: '💡 提示:使用 "specweave init ."(不带 --force)进行安全更新',
133
+ ciProceedingForce: 'CI 模式:继续强制删除',
134
+ confirmDelete: '⚠️ 输入 "y" 永久删除所有 .specweave/ 数据:',
135
+ deletionCancelled: '✅ 删除已取消。数据未丢失。',
136
+ runWithoutForce: '→ 运行 "specweave init ."(不带 --force)进行安全更新',
137
+ forceModeProceed: '🔄 强制模式:开始全新安装...',
138
+ ciContinuing: 'CI 模式:继续使用现有项目',
139
+ whatToDo: '您想做什么?',
140
+ continueWorking: '✨ 继续工作(保留所有增量、文档和历史记录)',
141
+ freshStart: '🔄 重新开始(删除 .specweave/ 并从头开始)',
142
+ cancel: '❌ 取消(退出不做更改)',
143
+ cancelled: '⏸️ 初始化已取消。未进行任何更改。',
144
+ continuingExisting: '✅ 继续使用现有项目',
145
+ keepingAll: '→ 保留所有增量、文档和历史记录',
146
+ configUpdated: '→ 如需要将更新配置',
147
+ ciNoForce: '⛔ 错误:CI 模式下没有 --force 标志无法重新开始',
148
+ useForceFlag: '→ 如果确实要删除所有数据,请使用 "specweave init . --force"',
149
+ warningDelete: '⚠️ 警告:这将删除所有增量、文档和配置!',
150
+ confirmFresh: '确定要重新开始吗?(所有 .specweave/ 内容将丢失)',
151
+ freshCancelled: '⏸️ 重新开始已取消。未进行任何更改。',
152
+ creatingBackup: '📦 删除前创建备份...',
153
+ backupSaved: '✅ 备份已保存:',
154
+ toRestore: '恢复方法:mv',
155
+ backupFailed: '⚠️ 无法创建备份(继续执行)',
156
+ removed: '♻️ 已删除 .specweave/',
157
+ filesDeleted: '个文件已删除',
158
+ startingFresh: '✅ 重新开始 - 将创建新的 .specweave/ 结构',
159
+ },
160
+ de: {
161
+ detected: '📦 Bestehendes SpecWeave-Projekt erkannt!',
162
+ foundFolder: '.specweave/ Ordner mit Ihren Inkrementen, Dokumenten und Konfiguration gefunden.',
163
+ dangerForce: '⛔ GEFAHR: --force LÖSCHT ALLE DATEN!',
164
+ dangerWillDelete: 'Dies wird dauerhaft löschen:',
165
+ dangerIncrements: '• Alle Inkremente (.specweave/increments/)',
166
+ dangerDocs: '• Alle Dokumentation (.specweave/docs/)',
167
+ dangerConfig: '• Alle Konfiguration und Historie',
168
+ tipSafeUpdate: '💡 TIPP: Verwenden Sie "specweave init ." (ohne --force) für sichere Updates',
169
+ ciProceedingForce: 'CI-Modus: Fahre mit erzwungener Löschung fort',
170
+ confirmDelete: '⚠️ Geben Sie "y" ein um ALLE .specweave/ Daten DAUERHAFT ZU LÖSCHEN:',
171
+ deletionCancelled: '✅ Löschung abgebrochen. Keine Daten verloren.',
172
+ runWithoutForce: '→ Führen Sie "specweave init ." (ohne --force) für sichere Updates aus',
173
+ forceModeProceed: '🔄 Erzwungener Modus: Fahre mit Neustart fort...',
174
+ ciContinuing: 'CI-Modus: Fahre mit bestehendem Projekt fort',
175
+ whatToDo: 'Was möchten Sie tun?',
176
+ continueWorking: '✨ Weiterarbeiten (alle Inkremente, Dokumente und Historie behalten)',
177
+ freshStart: '🔄 Neustart (lösche .specweave/ und beginne von vorne)',
178
+ cancel: '❌ Abbrechen (beenden ohne Änderungen)',
179
+ cancelled: '⏸️ Initialisierung abgebrochen. Keine Änderungen vorgenommen.',
180
+ continuingExisting: '✅ Fahre mit bestehendem Projekt fort',
181
+ keepingAll: '→ Behalte alle Inkremente, Dokumente und Historie',
182
+ configUpdated: '→ Konfiguration wird bei Bedarf aktualisiert',
183
+ ciNoForce: '⛔ FEHLER: Neustart im CI-Modus ohne --force Flag nicht möglich',
184
+ useForceFlag: '→ Verwenden Sie "specweave init . --force" wenn Sie wirklich alle Daten löschen wollen',
185
+ warningDelete: '⚠️ WARNUNG: Dies wird ALLE Inkremente, Dokumente und Konfiguration LÖSCHEN!',
186
+ confirmFresh: 'Sind Sie sicher, dass Sie neu starten wollen? (alle .specweave/ Inhalte gehen verloren)',
187
+ freshCancelled: '⏸️ Neustart abgebrochen. Keine Änderungen vorgenommen.',
188
+ creatingBackup: '📦 Erstelle Backup vor dem Löschen...',
189
+ backupSaved: '✅ Backup gespeichert:',
190
+ toRestore: 'Zum Wiederherstellen: mv',
191
+ backupFailed: '⚠️ Konnte kein Backup erstellen (fahre trotzdem fort)',
192
+ removed: '♻️ .specweave/ entfernt',
193
+ filesDeleted: 'Dateien gelöscht',
194
+ startingFresh: '✅ Starte neu - erstelle neue .specweave/ Struktur',
195
+ },
196
+ fr: {
197
+ detected: '📦 Projet SpecWeave existant détecté !',
198
+ foundFolder: 'Dossier .specweave/ trouvé avec vos incréments, documents et configuration.',
199
+ dangerForce: '⛔ DANGER : --force SUPPRIME TOUTES LES DONNÉES !',
200
+ dangerWillDelete: 'Ceci supprimera définitivement :',
201
+ dangerIncrements: '• Tous les incréments (.specweave/increments/)',
202
+ dangerDocs: '• Toute la documentation (.specweave/docs/)',
203
+ dangerConfig: '• Toute la configuration et l\'historique',
204
+ tipSafeUpdate: '💡 CONSEIL : Utilisez "specweave init ." (sans --force) pour des mises à jour sécurisées',
205
+ ciProceedingForce: 'Mode CI : Procède à la suppression forcée',
206
+ confirmDelete: '⚠️ Tapez "y" pour SUPPRIMER DÉFINITIVEMENT toutes les données .specweave/ :',
207
+ deletionCancelled: '✅ Suppression annulée. Aucune donnée perdue.',
208
+ runWithoutForce: '→ Exécutez "specweave init ." (sans --force) pour des mises à jour sécurisées',
209
+ forceModeProceed: '🔄 Mode forcé : Procède au démarrage propre...',
210
+ ciContinuing: 'Mode CI : Continue avec le projet existant',
211
+ whatToDo: 'Que souhaitez-vous faire ?',
212
+ continueWorking: '✨ Continuer à travailler (garder tous les incréments, documents et historique)',
213
+ freshStart: '🔄 Recommencer (supprimer .specweave/ et repartir de zéro)',
214
+ cancel: '❌ Annuler (quitter sans changements)',
215
+ cancelled: '⏸️ Initialisation annulée. Aucun changement effectué.',
216
+ continuingExisting: '✅ Continue avec le projet existant',
217
+ keepingAll: '→ Conservation de tous les incréments, documents et historique',
218
+ configUpdated: '→ La configuration sera mise à jour si nécessaire',
219
+ ciNoForce: '⛔ ERREUR : Impossible de recommencer en mode CI sans le flag --force',
220
+ useForceFlag: '→ Utilisez "specweave init . --force" si vous voulez vraiment supprimer toutes les données',
221
+ warningDelete: '⚠️ ATTENTION : Ceci SUPPRIMERA tous les incréments, documents et configuration !',
222
+ confirmFresh: 'Êtes-vous sûr de vouloir recommencer ? (tout le contenu de .specweave/ sera perdu)',
223
+ freshCancelled: '⏸️ Redémarrage annulé. Aucun changement effectué.',
224
+ creatingBackup: '📦 Création d\'une sauvegarde avant suppression...',
225
+ backupSaved: '✅ Sauvegarde enregistrée :',
226
+ toRestore: 'Pour restaurer : mv',
227
+ backupFailed: '⚠️ Impossible de créer une sauvegarde (continuation quand même)',
228
+ removed: '♻️ .specweave/ supprimé',
229
+ filesDeleted: 'fichiers supprimés',
230
+ startingFresh: '✅ Recommence - création d\'une nouvelle structure .specweave/',
231
+ },
232
+ ja: {
233
+ detected: '📦 既存のSpecWeaveプロジェクトが検出されました!',
234
+ foundFolder: 'インクリメント、ドキュメント、設定を含む.specweave/フォルダが見つかりました。',
235
+ dangerForce: '⛔ 危険:--forceはすべてのデータを削除します!',
236
+ dangerWillDelete: 'これにより永久に削除されます:',
237
+ dangerIncrements: '• すべてのインクリメント (.specweave/increments/)',
238
+ dangerDocs: '• すべてのドキュメント (.specweave/docs/)',
239
+ dangerConfig: '• すべての設定と履歴',
240
+ tipSafeUpdate: '💡 ヒント:安全な更新には "specweave init ."(--forceなし)を使用してください',
241
+ ciProceedingForce: 'CIモード:強制削除を続行します',
242
+ confirmDelete: '⚠️ "y" を入力してすべての.specweave/データを永久に削除:',
243
+ deletionCancelled: '✅ 削除がキャンセルされました。データは失われていません。',
244
+ runWithoutForce: '→ 安全な更新には "specweave init ."(--forceなし)を実行してください',
245
+ forceModeProceed: '🔄 強制モード:クリーンスタートを続行中...',
246
+ ciContinuing: 'CIモード:既存のプロジェクトを続行します',
247
+ whatToDo: '何をしますか?',
248
+ continueWorking: '✨ 作業を続ける(すべてのインクリメント、ドキュメント、履歴を保持)',
249
+ freshStart: '🔄 最初から始める(.specweave/を削除してゼロから開始)',
250
+ cancel: '❌ キャンセル(変更なしで終了)',
251
+ cancelled: '⏸️ 初期化がキャンセルされました。変更は行われていません。',
252
+ continuingExisting: '✅ 既存のプロジェクトを続行します',
253
+ keepingAll: '→ すべてのインクリメント、ドキュメント、履歴を保持します',
254
+ configUpdated: '→ 必要に応じて設定が更新されます',
255
+ ciNoForce: '⛔ エラー:--forceフラグなしでCIモードでは最初から始められません',
256
+ useForceFlag: '→ 本当にすべてのデータを削除したい場合は "specweave init . --force" を使用してください',
257
+ warningDelete: '⚠️ 警告:これによりすべてのインクリメント、ドキュメント、設定が削除されます!',
258
+ confirmFresh: '本当に最初から始めますか?(すべての.specweave/の内容が失われます)',
259
+ freshCancelled: '⏸️ クリーンスタートがキャンセルされました。変更は行われていません。',
260
+ creatingBackup: '📦 削除前にバックアップを作成中...',
261
+ backupSaved: '✅ バックアップが保存されました:',
262
+ toRestore: '復元するには:mv',
263
+ backupFailed: '⚠️ バックアップを作成できませんでした(続行します)',
264
+ removed: '♻️ .specweave/が削除されました',
265
+ filesDeleted: 'ファイルが削除されました',
266
+ startingFresh: '✅ 最初から始めます - 新しい.specweave/構造を作成します',
267
+ },
268
+ ko: {
269
+ detected: '📦 기존 SpecWeave 프로젝트가 감지되었습니다!',
270
+ foundFolder: '증분, 문서 및 구성이 포함된 .specweave/ 폴더를 찾았습니다.',
271
+ dangerForce: '⛔ 위험: --force는 모든 데이터를 삭제합니다!',
272
+ dangerWillDelete: '다음이 영구적으로 삭제됩니다:',
273
+ dangerIncrements: '• 모든 증분 (.specweave/increments/)',
274
+ dangerDocs: '• 모든 문서 (.specweave/docs/)',
275
+ dangerConfig: '• 모든 구성 및 기록',
276
+ tipSafeUpdate: '💡 팁: 안전한 업데이트를 위해 "specweave init ." (--force 없이)를 사용하세요',
277
+ ciProceedingForce: 'CI 모드: 강제 삭제를 진행합니다',
278
+ confirmDelete: '⚠️ 모든 .specweave/ 데이터를 영구적으로 삭제하려면 "y"를 입력하세요:',
279
+ deletionCancelled: '✅ 삭제가 취소되었습니다. 데이터가 손실되지 않았습니다.',
280
+ runWithoutForce: '→ 안전한 업데이트를 위해 "specweave init ." (--force 없이)를 실행하세요',
281
+ forceModeProceed: '🔄 강제 모드: 새로 시작을 진행합니다...',
282
+ ciContinuing: 'CI 모드: 기존 프로젝트를 계속합니다',
283
+ whatToDo: '무엇을 하시겠습니까?',
284
+ continueWorking: '✨ 계속 작업 (모든 증분, 문서 및 기록 유지)',
285
+ freshStart: '🔄 새로 시작 (.specweave/를 삭제하고 처음부터 시작)',
286
+ cancel: '❌ 취소 (변경 없이 종료)',
287
+ cancelled: '⏸️ 초기화가 취소되었습니다. 변경 사항이 없습니다.',
288
+ continuingExisting: '✅ 기존 프로젝트를 계속합니다',
289
+ keepingAll: '→ 모든 증분, 문서 및 기록을 유지합니다',
290
+ configUpdated: '→ 필요시 구성이 업데이트됩니다',
291
+ ciNoForce: '⛔ 오류: --force 플래그 없이 CI 모드에서 새로 시작할 수 없습니다',
292
+ useForceFlag: '→ 정말로 모든 데이터를 삭제하려면 "specweave init . --force"를 사용하세요',
293
+ warningDelete: '⚠️ 경고: 이것은 모든 증분, 문서 및 구성을 삭제합니다!',
294
+ confirmFresh: '정말로 새로 시작하시겠습니까? (모든 .specweave/ 내용이 손실됩니다)',
295
+ freshCancelled: '⏸️ 새로 시작이 취소되었습니다. 변경 사항이 없습니다.',
296
+ creatingBackup: '📦 삭제 전 백업 생성 중...',
297
+ backupSaved: '✅ 백업이 저장되었습니다:',
298
+ toRestore: '복원하려면: mv',
299
+ backupFailed: '⚠️ 백업을 생성할 수 없습니다 (계속 진행합니다)',
300
+ removed: '♻️ .specweave/가 제거되었습니다',
301
+ filesDeleted: '파일이 삭제되었습니다',
302
+ startingFresh: '✅ 새로 시작 - 새 .specweave/ 구조를 생성합니다',
303
+ },
304
+ pt: {
305
+ detected: '📦 Projeto SpecWeave existente detectado!',
306
+ foundFolder: 'Pasta .specweave/ encontrada com seus incrementos, documentos e configuração.',
307
+ dangerForce: '⛔ PERIGO: --force APAGA TODOS OS DADOS!',
308
+ dangerWillDelete: 'Isto irá excluir permanentemente:',
309
+ dangerIncrements: '• Todos os incrementos (.specweave/increments/)',
310
+ dangerDocs: '• Toda a documentação (.specweave/docs/)',
311
+ dangerConfig: '• Toda a configuração e histórico',
312
+ tipSafeUpdate: '💡 DICA: Use "specweave init ." (sem --force) para atualizações seguras',
313
+ ciProceedingForce: 'Modo CI: Prosseguindo com exclusão forçada',
314
+ confirmDelete: '⚠️ Digite "y" para EXCLUIR PERMANENTEMENTE todos os dados de .specweave/:',
315
+ deletionCancelled: '✅ Exclusão cancelada. Nenhum dado perdido.',
316
+ runWithoutForce: '→ Execute "specweave init ." (sem --force) para atualizações seguras',
317
+ forceModeProceed: '🔄 Modo forçado: Prosseguindo com início limpo...',
318
+ ciContinuing: 'Modo CI: Continuando com projeto existente',
319
+ whatToDo: 'O que você gostaria de fazer?',
320
+ continueWorking: '✨ Continuar trabalhando (manter todos os incrementos, documentos e histórico)',
321
+ freshStart: '🔄 Começar do zero (excluir .specweave/ e começar do início)',
322
+ cancel: '❌ Cancelar (sair sem alterações)',
323
+ cancelled: '⏸️ Inicialização cancelada. Nenhuma alteração feita.',
324
+ continuingExisting: '✅ Continuando com projeto existente',
325
+ keepingAll: '→ Mantendo todos os incrementos, documentos e histórico',
326
+ configUpdated: '→ A configuração será atualizada se necessário',
327
+ ciNoForce: '⛔ ERRO: Não é possível começar do zero no modo CI sem a flag --force',
328
+ useForceFlag: '→ Use "specweave init . --force" se realmente quiser excluir todos os dados',
329
+ warningDelete: '⚠️ AVISO: Isto EXCLUIRÁ todos os incrementos, documentos e configuração!',
330
+ confirmFresh: 'Tem certeza de que deseja começar do zero? (todo o conteúdo de .specweave/ será perdido)',
331
+ freshCancelled: '⏸️ Início limpo cancelado. Nenhuma alteração feita.',
332
+ creatingBackup: '📦 Criando backup antes da exclusão...',
333
+ backupSaved: '✅ Backup salvo:',
334
+ toRestore: 'Para restaurar: mv',
335
+ backupFailed: '⚠️ Não foi possível criar backup (prosseguindo mesmo assim)',
336
+ removed: '♻️ .specweave/ removido',
337
+ filesDeleted: 'arquivos excluídos',
338
+ startingFresh: '✅ Começando do zero - criará nova estrutura .specweave/',
339
+ },
340
+ };
341
+ return strings[language] || strings.en;
342
+ }
11
343
  /**
12
344
  * Prompt user for re-initialization action when .specweave/ already exists
13
345
  * This consolidates the duplicate logic that appeared twice in init.ts
@@ -16,58 +348,59 @@ import { countFilesRecursive } from './path-utils.js';
16
348
  * @returns The chosen action and whether to continue with existing project
17
349
  */
18
350
  export async function promptSmartReinit(options) {
19
- const { targetDir, isCI, hasForce } = options;
20
- console.log(chalk.blue('\n📦 Existing SpecWeave project detected!'));
21
- console.log(chalk.gray(' Found .specweave/ folder with your increments, docs, and configuration.\n'));
351
+ const { targetDir, isCI, hasForce, language = 'en' } = options;
352
+ const strings = getSmartReinitStrings(language);
353
+ console.log(chalk.blue('\n' + strings.detected));
354
+ console.log(chalk.gray(' ' + strings.foundFolder + '\n'));
22
355
  let action;
23
356
  if (hasForce) {
24
357
  // Force mode: warn about destructive action
25
- console.log(chalk.red.bold('\n DANGER: --force DELETES ALL DATA!'));
26
- console.log(chalk.red(' This will permanently delete:'));
27
- console.log(chalk.red(' All increments (.specweave/increments/)'));
28
- console.log(chalk.red(' All documentation (.specweave/docs/)'));
29
- console.log(chalk.red(' All configuration and history'));
30
- console.log(chalk.yellow('\n 💡 TIP: Use "specweave init ." (no --force) for safe updates\n'));
358
+ console.log(chalk.red.bold('\n' + strings.dangerForce));
359
+ console.log(chalk.red(' ' + strings.dangerWillDelete));
360
+ console.log(chalk.red(' ' + strings.dangerIncrements));
361
+ console.log(chalk.red(' ' + strings.dangerDocs));
362
+ console.log(chalk.red(' ' + strings.dangerConfig));
363
+ console.log(chalk.yellow('\n ' + strings.tipSafeUpdate + '\n'));
31
364
  if (isCI) {
32
365
  // CI mode: proceed with force deletion without prompting
33
- console.log(chalk.gray(' → CI mode: Proceeding with force deletion'));
366
+ console.log(chalk.gray(' → ' + strings.ciProceedingForce));
34
367
  action = 'fresh';
35
368
  }
36
369
  else {
37
370
  // Interactive: require explicit confirmation
38
371
  const confirmDeletion = await confirm({
39
- message: chalk.red('⚠️ Type "y" to PERMANENTLY DELETE all .specweave/ data:'),
372
+ message: chalk.red(strings.confirmDelete),
40
373
  default: false,
41
374
  });
42
375
  if (!confirmDeletion) {
43
- console.log(chalk.green('\n Deletion cancelled. No data lost.'));
44
- console.log(chalk.gray(' Run "specweave init ." (without --force) for safe updates'));
376
+ console.log(chalk.green('\n' + strings.deletionCancelled));
377
+ console.log(chalk.gray(' ' + strings.runWithoutForce));
45
378
  return { action: 'cancel', continueExisting: false };
46
379
  }
47
380
  action = 'fresh';
48
381
  }
49
- console.log(chalk.yellow('\n 🔄 Force mode: Proceeding with fresh start...'));
382
+ console.log(chalk.yellow('\n ' + strings.forceModeProceed));
50
383
  }
51
384
  else if (isCI) {
52
385
  // CI mode without force: auto-continue
53
- console.log(chalk.gray(' → CI mode: Continuing with existing project'));
386
+ console.log(chalk.gray(' → ' + strings.ciContinuing));
54
387
  action = 'continue';
55
388
  }
56
389
  else {
57
390
  // Interactive mode: show choices
58
391
  action = await select({
59
- message: 'What would you like to do?',
392
+ message: strings.whatToDo,
60
393
  choices: [
61
394
  {
62
- name: '✨ Continue working (keep all existing increments, docs, and history)',
395
+ name: strings.continueWorking,
63
396
  value: 'continue',
64
397
  },
65
398
  {
66
- name: '🔄 Fresh start (delete .specweave/ and start from scratch)',
399
+ name: strings.freshStart,
67
400
  value: 'fresh',
68
401
  },
69
402
  {
70
- name: '❌ Cancel (exit without changes)',
403
+ name: strings.cancel,
71
404
  value: 'cancel',
72
405
  }
73
406
  ],
@@ -75,18 +408,18 @@ export async function promptSmartReinit(options) {
75
408
  });
76
409
  }
77
410
  if (action === 'cancel') {
78
- console.log(chalk.yellow('\n⏸️ Initialization cancelled. No changes made.'));
411
+ console.log(chalk.yellow('\n' + strings.cancelled));
79
412
  return { action: 'cancel', continueExisting: false };
80
413
  }
81
414
  if (action === 'fresh') {
82
415
  // Handle fresh start
83
- const freshResult = await handleFreshStart(targetDir, isCI, hasForce);
416
+ const freshResult = await handleFreshStart(targetDir, isCI, hasForce, language);
84
417
  return { action: freshResult ? 'fresh' : 'cancel', continueExisting: false };
85
418
  }
86
419
  // Continue working
87
- console.log(chalk.green('\n Continuing with existing project'));
88
- console.log(chalk.gray(' Keeping all increments, docs, and history'));
89
- console.log(chalk.gray(' Config will be updated if needed\n'));
420
+ console.log(chalk.green('\n' + strings.continuingExisting));
421
+ console.log(chalk.gray(' ' + strings.keepingAll));
422
+ console.log(chalk.gray(' ' + strings.configUpdated + '\n'));
90
423
  return { action: 'continue', continueExisting: true };
91
424
  }
92
425
  /**
@@ -95,25 +428,27 @@ export async function promptSmartReinit(options) {
95
428
  * @param targetDir - Target directory
96
429
  * @param isCI - Whether running in CI mode
97
430
  * @param hasForce - Whether --force flag was used
431
+ * @param language - Language for translations
98
432
  * @returns true if fresh start succeeded, false if cancelled
99
433
  */
100
- async function handleFreshStart(targetDir, isCI, hasForce) {
434
+ async function handleFreshStart(targetDir, isCI, hasForce, language = 'en') {
435
+ const strings = getSmartReinitStrings(language);
101
436
  const specweavePath = path.join(targetDir, '.specweave');
102
437
  if (!hasForce) {
103
438
  if (isCI) {
104
439
  // CI mode without force: NEVER allow fresh start
105
- console.log(chalk.red('\n ERROR: Cannot start fresh in CI mode without --force flag'));
106
- console.log(chalk.gray(' Use "specweave init . --force" if you really want to delete all data'));
440
+ console.log(chalk.red('\n' + strings.ciNoForce));
441
+ console.log(chalk.gray(' ' + strings.useForceFlag));
107
442
  return false;
108
443
  }
109
444
  // Interactive: ask for confirmation
110
- console.log(chalk.yellow('\n⚠️ WARNING: This will DELETE all increments, docs, and configuration!'));
445
+ console.log(chalk.yellow('\n' + strings.warningDelete));
111
446
  const confirmFresh = await confirm({
112
- message: 'Are you sure you want to start fresh? (all .specweave/ content will be lost)',
447
+ message: strings.confirmFresh,
113
448
  default: false,
114
449
  });
115
450
  if (!confirmFresh) {
116
- console.log(chalk.yellow('\n⏸️ Fresh start cancelled. No changes made.'));
451
+ console.log(chalk.yellow('\n' + strings.freshCancelled));
117
452
  return false;
118
453
  }
119
454
  }
@@ -121,20 +456,20 @@ async function handleFreshStart(targetDir, isCI, hasForce) {
121
456
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-').split('T')[0];
122
457
  const backupPath = path.join(targetDir, `.specweave.backup-${timestamp}`);
123
458
  try {
124
- console.log(chalk.cyan('\n 📦 Creating backup before deletion...'));
459
+ console.log(chalk.cyan('\n ' + strings.creatingBackup));
125
460
  fs.copySync(specweavePath, backupPath);
126
- console.log(chalk.green(` Backup saved: ${path.relative(targetDir, backupPath)}`));
127
- console.log(chalk.gray(` To restore: mv ${path.basename(backupPath)} .specweave`));
461
+ console.log(chalk.green(` ${strings.backupSaved} ${path.relative(targetDir, backupPath)}`));
462
+ console.log(chalk.gray(` ${strings.toRestore} ${path.basename(backupPath)} .specweave`));
128
463
  }
129
464
  catch {
130
- console.log(chalk.yellow(' ⚠️ Could not create backup (proceeding anyway)'));
465
+ console.log(chalk.yellow(' ' + strings.backupFailed));
131
466
  }
132
467
  // Count files before deletion
133
468
  const fileCount = countFilesRecursive(specweavePath);
134
469
  // Delete .specweave/
135
470
  fs.removeSync(specweavePath);
136
- console.log(chalk.blue(`\n ♻️ Removed .specweave/ (${fileCount} files deleted)`));
137
- console.log(chalk.green(' Starting fresh - will create new .specweave/ structure\n'));
471
+ console.log(chalk.blue(`\n ${strings.removed} (${fileCount} ${strings.filesDeleted})`));
472
+ console.log(chalk.green(' ' + strings.startingFresh + '\n'));
138
473
  return true;
139
474
  }
140
475
  //# sourceMappingURL=smart-reinit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-reinit.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/smart-reinit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-reinit.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/smart-reinit.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Handles test mode selection and coverage targets
4
4
  */
5
5
  import type { TestMode } from './types.js';
6
+ import type { SupportedLanguage } from '../../../core/i18n/types.js';
6
7
  /**
7
8
  * Result of testing configuration
8
9
  */
@@ -13,15 +14,17 @@ export interface TestingConfigResult {
13
14
  /**
14
15
  * Prompt user for testing configuration
15
16
  *
17
+ * @param language - Language for translations
16
18
  * @returns Testing configuration
17
19
  */
18
- export declare function promptTestingConfig(): Promise<TestingConfigResult>;
20
+ export declare function promptTestingConfig(language?: SupportedLanguage): Promise<TestingConfigResult>;
19
21
  /**
20
22
  * Update config.json with testing configuration
21
23
  *
22
24
  * @param targetDir - Project directory
23
25
  * @param testMode - Selected test mode
24
26
  * @param coverageTarget - Selected coverage target
27
+ * @param language - Language for translations
25
28
  */
26
- export declare function updateConfigWithTesting(targetDir: string, testMode: TestMode, coverageTarget: number): void;
29
+ export declare function updateConfigWithTesting(targetDir: string, testMode: TestMode, coverageTarget: number, language?: SupportedLanguage): void;
27
30
  //# sourceMappingURL=testing-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing-config.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/testing-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAiGxE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,GACrB,IAAI,CAqBN"}
1
+ {"version":3,"file":"testing-config.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/testing-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAgUrE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,GAAE,iBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAmG1G;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,MAAM,EACtB,QAAQ,GAAE,iBAAwB,GACjC,IAAI,CAsBN"}