specweave 0.28.14 → 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.
- package/dist/src/cli/commands/import-external.d.ts.map +1 -1
- package/dist/src/cli/commands/import-external.js +128 -16
- package/dist/src/cli/commands/import-external.js.map +1 -1
- package/dist/src/cli/commands/init.js +5 -5
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/helpers/init/external-import.d.ts +3 -1
- package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +341 -26
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/cli/helpers/init/next-steps.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/next-steps.js +77 -5
- package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
- package/dist/src/cli/helpers/init/smart-reinit.d.ts +2 -0
- package/dist/src/cli/helpers/init/smart-reinit.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/smart-reinit.js +371 -36
- package/dist/src/cli/helpers/init/smart-reinit.js.map +1 -1
- package/dist/src/cli/helpers/init/testing-config.d.ts +5 -2
- package/dist/src/cli/helpers/init/testing-config.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/testing-config.js +322 -31
- package/dist/src/cli/helpers/init/testing-config.js.map +1 -1
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +18 -9
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.d.ts +3 -2
- package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.js +12 -6
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
- package/dist/src/sync/sync-metadata.d.ts.map +1 -1
- package/dist/src/sync/sync-metadata.js +31 -2
- package/dist/src/sync/sync-metadata.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/agents/AGENTS-INDEX.md +0 -9
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +6 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +9 -0
|
@@ -13,15 +13,232 @@ import { ItemConverter } from '../../../importers/item-converter.js';
|
|
|
13
13
|
import { loadImportConfig } from '../../../config/import-config.js';
|
|
14
14
|
import { selectRepositories } from '../github-repo-selector.js';
|
|
15
15
|
import { detectAllConfigs } from './config-detection.js';
|
|
16
|
+
/**
|
|
17
|
+
* Get translated strings for external import
|
|
18
|
+
*/
|
|
19
|
+
function getExternalImportStrings(language) {
|
|
20
|
+
const strings = {
|
|
21
|
+
en: {
|
|
22
|
+
toolDetectionHeader: '🔍 External Tool Detection',
|
|
23
|
+
found: 'Found:',
|
|
24
|
+
ciSkipping: 'CI mode: Skipping import (can run manually later)',
|
|
25
|
+
skipImport: '✓ Skipping import',
|
|
26
|
+
useExistingProfiles: 'Using existing sync profiles:',
|
|
27
|
+
failedReadProfiles: '⚠️ Failed to read sync profiles:',
|
|
28
|
+
importQuestion: 'Import existing work items to living docs?',
|
|
29
|
+
importItems: '✨ Yes, import items',
|
|
30
|
+
skipForNow: '⏭️ Skip for now',
|
|
31
|
+
importComplete: 'Import complete!',
|
|
32
|
+
someImportsFailed: '⚠️ Some imports failed:',
|
|
33
|
+
largeDataset: '⚠️ Imported items (large dataset)',
|
|
34
|
+
largeDatasetHint: '→ Consider using time range filters for faster imports',
|
|
35
|
+
livingDocsCreated: '→ Living docs created with E suffix (US-001E, US-002E, ...)',
|
|
36
|
+
organizedIntoRepos: '→ Organized into project folders',
|
|
37
|
+
organizedIntoFeatures: '→ Organized into feature folder(s)',
|
|
38
|
+
autoArchived: '→ Auto-archived items older than 30 days',
|
|
39
|
+
location: '→ Location: .specweave/docs/internal/specs/',
|
|
40
|
+
nextStepsHeader: '💡 Next steps:',
|
|
41
|
+
nextStepReview: '→ Review imported User Stories in living docs',
|
|
42
|
+
nextStepCreate: '→ Create increments manually when ready: /specweave:increment "feature"',
|
|
43
|
+
},
|
|
44
|
+
ru: {
|
|
45
|
+
toolDetectionHeader: '🔍 Обнаружение внешних инструментов',
|
|
46
|
+
found: 'Найдено:',
|
|
47
|
+
ciSkipping: 'CI режим: Пропуск импорта (можно запустить позже)',
|
|
48
|
+
skipImport: '✓ Пропуск импорта',
|
|
49
|
+
useExistingProfiles: 'Использование существующих профилей синхронизации:',
|
|
50
|
+
failedReadProfiles: '⚠️ Не удалось прочитать профили синхронизации:',
|
|
51
|
+
importQuestion: 'Импортировать существующие рабочие элементы в living docs?',
|
|
52
|
+
importItems: '✨ Да, импортировать',
|
|
53
|
+
skipForNow: '⏭️ Пропустить',
|
|
54
|
+
importComplete: 'Импорт завершён!',
|
|
55
|
+
someImportsFailed: '⚠️ Некоторые импорты не удались:',
|
|
56
|
+
largeDataset: '⚠️ Импортировано элементов (большой набор данных)',
|
|
57
|
+
largeDatasetHint: '→ Рекомендуем использовать фильтры по времени для быстрого импорта',
|
|
58
|
+
livingDocsCreated: '→ Living docs созданы с суффиксом E (US-001E, US-002E, ...)',
|
|
59
|
+
organizedIntoRepos: '→ Организовано в папки проектов',
|
|
60
|
+
organizedIntoFeatures: '→ Организовано в папки фич',
|
|
61
|
+
autoArchived: '→ Автоархивированы элементы старше 30 дней',
|
|
62
|
+
location: '→ Расположение: .specweave/docs/internal/specs/',
|
|
63
|
+
nextStepsHeader: '💡 Следующие шаги:',
|
|
64
|
+
nextStepReview: '→ Просмотрите импортированные User Stories в living docs',
|
|
65
|
+
nextStepCreate: '→ Создайте инкременты когда будете готовы: /specweave:increment "feature"',
|
|
66
|
+
},
|
|
67
|
+
es: {
|
|
68
|
+
toolDetectionHeader: '🔍 Detección de herramientas externas',
|
|
69
|
+
found: 'Encontrado:',
|
|
70
|
+
ciSkipping: 'Modo CI: Omitiendo importación (puede ejecutarse manualmente después)',
|
|
71
|
+
skipImport: '✓ Omitiendo importación',
|
|
72
|
+
useExistingProfiles: 'Usando perfiles de sincronización existentes:',
|
|
73
|
+
failedReadProfiles: '⚠️ Error al leer perfiles de sincronización:',
|
|
74
|
+
importQuestion: '¿Importar elementos de trabajo existentes a living docs?',
|
|
75
|
+
importItems: '✨ Sí, importar elementos',
|
|
76
|
+
skipForNow: '⏭️ Omitir por ahora',
|
|
77
|
+
importComplete: '¡Importación completada!',
|
|
78
|
+
someImportsFailed: '⚠️ Algunas importaciones fallaron:',
|
|
79
|
+
largeDataset: '⚠️ Elementos importados (conjunto de datos grande)',
|
|
80
|
+
largeDatasetHint: '→ Considere usar filtros de rango de tiempo para importaciones más rápidas',
|
|
81
|
+
livingDocsCreated: '→ Living docs creados con sufijo E (US-001E, US-002E, ...)',
|
|
82
|
+
organizedIntoRepos: '→ Organizado en carpetas de proyectos',
|
|
83
|
+
organizedIntoFeatures: '→ Organizado en carpeta(s) de características',
|
|
84
|
+
autoArchived: '→ Auto-archivados elementos mayores a 30 días',
|
|
85
|
+
location: '→ Ubicación: .specweave/docs/internal/specs/',
|
|
86
|
+
nextStepsHeader: '💡 Próximos pasos:',
|
|
87
|
+
nextStepReview: '→ Revise las User Stories importadas en living docs',
|
|
88
|
+
nextStepCreate: '→ Cree incrementos cuando esté listo: /specweave:increment "feature"',
|
|
89
|
+
},
|
|
90
|
+
zh: {
|
|
91
|
+
toolDetectionHeader: '🔍 外部工具检测',
|
|
92
|
+
found: '已找到:',
|
|
93
|
+
ciSkipping: 'CI 模式:跳过导入(可稍后手动运行)',
|
|
94
|
+
skipImport: '✓ 跳过导入',
|
|
95
|
+
useExistingProfiles: '使用现有同步配置:',
|
|
96
|
+
failedReadProfiles: '⚠️ 读取同步配置失败:',
|
|
97
|
+
importQuestion: '将现有工作项导入到 living docs?',
|
|
98
|
+
importItems: '✨ 是的,导入项目',
|
|
99
|
+
skipForNow: '⏭️ 暂时跳过',
|
|
100
|
+
importComplete: '导入完成!',
|
|
101
|
+
someImportsFailed: '⚠️ 部分导入失败:',
|
|
102
|
+
largeDataset: '⚠️ 已导入项目(大数据集)',
|
|
103
|
+
largeDatasetHint: '→ 建议使用时间范围过滤器加快导入',
|
|
104
|
+
livingDocsCreated: '→ Living docs 已创建,带 E 后缀 (US-001E, US-002E, ...)',
|
|
105
|
+
organizedIntoRepos: '→ 已整理到项目文件夹',
|
|
106
|
+
organizedIntoFeatures: '→ 已整理到功能文件夹',
|
|
107
|
+
autoArchived: '→ 已自动归档超过30天的项目',
|
|
108
|
+
location: '→ 位置:.specweave/docs/internal/specs/',
|
|
109
|
+
nextStepsHeader: '💡 下一步:',
|
|
110
|
+
nextStepReview: '→ 在 living docs 中查看导入的用户故事',
|
|
111
|
+
nextStepCreate: '→ 准备好后创建增量:/specweave:increment "feature"',
|
|
112
|
+
},
|
|
113
|
+
de: {
|
|
114
|
+
toolDetectionHeader: '🔍 Externe Tool-Erkennung',
|
|
115
|
+
found: 'Gefunden:',
|
|
116
|
+
ciSkipping: 'CI-Modus: Import überspringen (kann später manuell ausgeführt werden)',
|
|
117
|
+
skipImport: '✓ Import überspringen',
|
|
118
|
+
useExistingProfiles: 'Verwende bestehende Sync-Profile:',
|
|
119
|
+
failedReadProfiles: '⚠️ Fehler beim Lesen der Sync-Profile:',
|
|
120
|
+
importQuestion: 'Bestehende Arbeitselemente in Living Docs importieren?',
|
|
121
|
+
importItems: '✨ Ja, Elemente importieren',
|
|
122
|
+
skipForNow: '⏭️ Vorerst überspringen',
|
|
123
|
+
importComplete: 'Import abgeschlossen!',
|
|
124
|
+
someImportsFailed: '⚠️ Einige Importe fehlgeschlagen:',
|
|
125
|
+
largeDataset: '⚠️ Importierte Elemente (großer Datensatz)',
|
|
126
|
+
largeDatasetHint: '→ Zeitbereichsfilter für schnellere Importe empfohlen',
|
|
127
|
+
livingDocsCreated: '→ Living Docs mit E-Suffix erstellt (US-001E, US-002E, ...)',
|
|
128
|
+
organizedIntoRepos: '→ In Projektordner organisiert',
|
|
129
|
+
organizedIntoFeatures: '→ In Feature-Ordner organisiert',
|
|
130
|
+
autoArchived: '→ Elemente älter als 30 Tage automatisch archiviert',
|
|
131
|
+
location: '→ Speicherort: .specweave/docs/internal/specs/',
|
|
132
|
+
nextStepsHeader: '💡 Nächste Schritte:',
|
|
133
|
+
nextStepReview: '→ Importierte User Stories in Living Docs überprüfen',
|
|
134
|
+
nextStepCreate: '→ Bei Bedarf Inkremente erstellen: /specweave:increment "feature"',
|
|
135
|
+
},
|
|
136
|
+
fr: {
|
|
137
|
+
toolDetectionHeader: '🔍 Détection des outils externes',
|
|
138
|
+
found: 'Trouvé :',
|
|
139
|
+
ciSkipping: 'Mode CI : Import ignoré (peut être exécuté manuellement plus tard)',
|
|
140
|
+
skipImport: '✓ Import ignoré',
|
|
141
|
+
useExistingProfiles: 'Utilisation des profils de synchronisation existants :',
|
|
142
|
+
failedReadProfiles: '⚠️ Échec de lecture des profils de synchronisation :',
|
|
143
|
+
importQuestion: 'Importer les éléments de travail existants vers living docs ?',
|
|
144
|
+
importItems: '✨ Oui, importer les éléments',
|
|
145
|
+
skipForNow: '⏭️ Passer pour l\'instant',
|
|
146
|
+
importComplete: 'Import terminé !',
|
|
147
|
+
someImportsFailed: '⚠️ Certains imports ont échoué :',
|
|
148
|
+
largeDataset: '⚠️ Éléments importés (grand ensemble de données)',
|
|
149
|
+
largeDatasetHint: '→ Envisagez d\'utiliser des filtres de plage de temps pour des imports plus rapides',
|
|
150
|
+
livingDocsCreated: '→ Living docs créés avec suffixe E (US-001E, US-002E, ...)',
|
|
151
|
+
organizedIntoRepos: '→ Organisé en dossiers de projets',
|
|
152
|
+
organizedIntoFeatures: '→ Organisé en dossier(s) de fonctionnalités',
|
|
153
|
+
autoArchived: '→ Éléments de plus de 30 jours auto-archivés',
|
|
154
|
+
location: '→ Emplacement : .specweave/docs/internal/specs/',
|
|
155
|
+
nextStepsHeader: '💡 Prochaines étapes :',
|
|
156
|
+
nextStepReview: '→ Examiner les User Stories importées dans living docs',
|
|
157
|
+
nextStepCreate: '→ Créer des incréments si prêt : /specweave:increment "feature"',
|
|
158
|
+
},
|
|
159
|
+
ja: {
|
|
160
|
+
toolDetectionHeader: '🔍 外部ツール検出',
|
|
161
|
+
found: '検出:',
|
|
162
|
+
ciSkipping: 'CIモード:インポートをスキップ(後で手動実行可能)',
|
|
163
|
+
skipImport: '✓ インポートをスキップ',
|
|
164
|
+
useExistingProfiles: '既存の同期プロファイルを使用:',
|
|
165
|
+
failedReadProfiles: '⚠️ 同期プロファイルの読み取りに失敗:',
|
|
166
|
+
importQuestion: '既存の作業項目をliving docsにインポートしますか?',
|
|
167
|
+
importItems: '✨ はい、インポート',
|
|
168
|
+
skipForNow: '⏭️ 今はスキップ',
|
|
169
|
+
importComplete: 'インポート完了!',
|
|
170
|
+
someImportsFailed: '⚠️ 一部のインポートが失敗:',
|
|
171
|
+
largeDataset: '⚠️ インポートされた項目(大規模データセット)',
|
|
172
|
+
largeDatasetHint: '→ より高速なインポートには時間範囲フィルターの使用を推奨',
|
|
173
|
+
livingDocsCreated: '→ Living docsがEサフィックスで作成されました (US-001E, US-002E, ...)',
|
|
174
|
+
organizedIntoRepos: '→ プロジェクトフォルダに整理',
|
|
175
|
+
organizedIntoFeatures: '→ 機能フォルダに整理',
|
|
176
|
+
autoArchived: '→ 30日以上前の項目を自動アーカイブ',
|
|
177
|
+
location: '→ 場所:.specweave/docs/internal/specs/',
|
|
178
|
+
nextStepsHeader: '💡 次のステップ:',
|
|
179
|
+
nextStepReview: '→ living docsでインポートされたユーザーストーリーを確認',
|
|
180
|
+
nextStepCreate: '→ 準備ができたらインクリメントを作成:/specweave:increment "feature"',
|
|
181
|
+
},
|
|
182
|
+
ko: {
|
|
183
|
+
toolDetectionHeader: '🔍 외부 도구 감지',
|
|
184
|
+
found: '발견:',
|
|
185
|
+
ciSkipping: 'CI 모드: 가져오기 건너뜀 (나중에 수동으로 실행 가능)',
|
|
186
|
+
skipImport: '✓ 가져오기 건너뜀',
|
|
187
|
+
useExistingProfiles: '기존 동기화 프로필 사용:',
|
|
188
|
+
failedReadProfiles: '⚠️ 동기화 프로필 읽기 실패:',
|
|
189
|
+
importQuestion: '기존 작업 항목을 living docs로 가져올까요?',
|
|
190
|
+
importItems: '✨ 예, 항목 가져오기',
|
|
191
|
+
skipForNow: '⏭️ 지금은 건너뛰기',
|
|
192
|
+
importComplete: '가져오기 완료!',
|
|
193
|
+
someImportsFailed: '⚠️ 일부 가져오기 실패:',
|
|
194
|
+
largeDataset: '⚠️ 가져온 항목 (대용량 데이터셋)',
|
|
195
|
+
largeDatasetHint: '→ 더 빠른 가져오기를 위해 시간 범위 필터 사용 권장',
|
|
196
|
+
livingDocsCreated: '→ Living docs가 E 접미사로 생성됨 (US-001E, US-002E, ...)',
|
|
197
|
+
organizedIntoRepos: '→ 프로젝트 폴더로 정리됨',
|
|
198
|
+
organizedIntoFeatures: '→ 기능 폴더로 정리됨',
|
|
199
|
+
autoArchived: '→ 30일 이상 된 항목 자동 보관',
|
|
200
|
+
location: '→ 위치: .specweave/docs/internal/specs/',
|
|
201
|
+
nextStepsHeader: '💡 다음 단계:',
|
|
202
|
+
nextStepReview: '→ living docs에서 가져온 사용자 스토리 검토',
|
|
203
|
+
nextStepCreate: '→ 준비되면 증분 생성: /specweave:increment "feature"',
|
|
204
|
+
},
|
|
205
|
+
pt: {
|
|
206
|
+
toolDetectionHeader: '🔍 Detecção de ferramentas externas',
|
|
207
|
+
found: 'Encontrado:',
|
|
208
|
+
ciSkipping: 'Modo CI: Pulando importação (pode ser executado manualmente depois)',
|
|
209
|
+
skipImport: '✓ Pulando importação',
|
|
210
|
+
useExistingProfiles: 'Usando perfis de sincronização existentes:',
|
|
211
|
+
failedReadProfiles: '⚠️ Falha ao ler perfis de sincronização:',
|
|
212
|
+
importQuestion: 'Importar itens de trabalho existentes para living docs?',
|
|
213
|
+
importItems: '✨ Sim, importar itens',
|
|
214
|
+
skipForNow: '⏭️ Pular por enquanto',
|
|
215
|
+
importComplete: 'Importação concluída!',
|
|
216
|
+
someImportsFailed: '⚠️ Algumas importações falharam:',
|
|
217
|
+
largeDataset: '⚠️ Itens importados (grande conjunto de dados)',
|
|
218
|
+
largeDatasetHint: '→ Considere usar filtros de intervalo de tempo para importações mais rápidas',
|
|
219
|
+
livingDocsCreated: '→ Living docs criados com sufixo E (US-001E, US-002E, ...)',
|
|
220
|
+
organizedIntoRepos: '→ Organizado em pastas de projetos',
|
|
221
|
+
organizedIntoFeatures: '→ Organizado em pasta(s) de recursos',
|
|
222
|
+
autoArchived: '→ Itens com mais de 30 dias auto-arquivados',
|
|
223
|
+
location: '→ Local: .specweave/docs/internal/specs/',
|
|
224
|
+
nextStepsHeader: '💡 Próximos passos:',
|
|
225
|
+
nextStepReview: '→ Revise as User Stories importadas em living docs',
|
|
226
|
+
nextStepCreate: '→ Crie incrementos quando estiver pronto: /specweave:increment "feature"',
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
return strings[language] || strings.en;
|
|
230
|
+
}
|
|
16
231
|
/**
|
|
17
232
|
* Prompt user and run external tool import
|
|
18
233
|
* Detects GitHub/JIRA/ADO configuration and imports work items
|
|
19
234
|
*
|
|
20
235
|
* @param targetDir - Project directory
|
|
21
236
|
* @param isCI - Whether running in CI mode
|
|
237
|
+
* @param language - Language for translations
|
|
22
238
|
* @returns Import result
|
|
23
239
|
*/
|
|
24
|
-
export async function promptAndRunExternalImport(targetDir, isCI) {
|
|
240
|
+
export async function promptAndRunExternalImport(targetDir, isCI, language = 'en') {
|
|
241
|
+
const strings = getExternalImportStrings(language);
|
|
25
242
|
// Load import configuration
|
|
26
243
|
const importConfig = loadImportConfig(targetDir);
|
|
27
244
|
// Check if import is disabled via config
|
|
@@ -34,27 +251,39 @@ export async function promptAndRunExternalImport(targetDir, isCI) {
|
|
|
34
251
|
if (availableTools.length === 0) {
|
|
35
252
|
return emptyResult();
|
|
36
253
|
}
|
|
37
|
-
console.log(chalk.blue('\n
|
|
38
|
-
console.log(chalk.gray(`
|
|
254
|
+
console.log(chalk.blue('\n' + strings.toolDetectionHeader));
|
|
255
|
+
console.log(chalk.gray(` ${strings.found} ${availableTools.join(', ')}`));
|
|
39
256
|
console.log('');
|
|
40
257
|
// In CI mode, skip import without prompting
|
|
41
258
|
if (isCI) {
|
|
42
|
-
console.log(chalk.gray(' →
|
|
259
|
+
console.log(chalk.gray(' → ' + strings.ciSkipping + '\n'));
|
|
43
260
|
return emptyResult();
|
|
44
261
|
}
|
|
45
262
|
// Prompt user to import
|
|
46
263
|
const shouldImport = await confirm({
|
|
47
|
-
message:
|
|
264
|
+
message: `${strings.importQuestion} (${availableTools.join(', ')})`,
|
|
48
265
|
default: false
|
|
49
266
|
});
|
|
50
267
|
if (!shouldImport) {
|
|
51
|
-
console.log(chalk.gray('
|
|
268
|
+
console.log(chalk.gray(' ' + strings.skipImport + '\n'));
|
|
52
269
|
return emptyResult();
|
|
53
270
|
}
|
|
54
271
|
// Handle multi-repo selection for GitHub
|
|
55
272
|
let repoSelectionConfig = null;
|
|
56
273
|
if (github && process.env.GITHUB_TOKEN) {
|
|
57
|
-
|
|
274
|
+
// First check if sync profiles already exist (from umbrella repo setup)
|
|
275
|
+
const existingProfiles = getExistingSyncProfiles(targetDir);
|
|
276
|
+
if (existingProfiles && existingProfiles.length > 0) {
|
|
277
|
+
console.log(chalk.gray(` Using existing sync profiles: ${existingProfiles.length} repositories`));
|
|
278
|
+
repoSelectionConfig = {
|
|
279
|
+
repositories: existingProfiles,
|
|
280
|
+
selectionStrategy: 'explicit'
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
// No existing profiles - prompt for multi-repo selection
|
|
285
|
+
repoSelectionConfig = await promptMultiRepoSelection(targetDir);
|
|
286
|
+
}
|
|
58
287
|
}
|
|
59
288
|
// Map config timeRangeMonths to closest prompt option
|
|
60
289
|
let defaultTimeRange = 3;
|
|
@@ -125,6 +354,37 @@ export async function promptAndRunExternalImport(targetDir, isCI) {
|
|
|
125
354
|
// Run import with progress tracking
|
|
126
355
|
return await runImport(targetDir, coordinatorConfig);
|
|
127
356
|
}
|
|
357
|
+
/**
|
|
358
|
+
* Get existing sync profiles from config.json
|
|
359
|
+
* Returns array of "owner/repo" strings if profiles exist
|
|
360
|
+
*/
|
|
361
|
+
function getExistingSyncProfiles(targetDir) {
|
|
362
|
+
try {
|
|
363
|
+
const configPath = path.join(targetDir, '.specweave', 'config.json');
|
|
364
|
+
if (!fs.existsSync(configPath)) {
|
|
365
|
+
return null;
|
|
366
|
+
}
|
|
367
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
368
|
+
// Check for sync.profiles structure (umbrella repo setup)
|
|
369
|
+
if (config.sync?.profiles && typeof config.sync.profiles === 'object') {
|
|
370
|
+
const profiles = config.sync.profiles;
|
|
371
|
+
const repos = [];
|
|
372
|
+
for (const [profileId, profile] of Object.entries(profiles)) {
|
|
373
|
+
const p = profile;
|
|
374
|
+
if (p.config?.owner && p.config?.repo) {
|
|
375
|
+
repos.push(`${p.config.owner}/${p.config.repo}`);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return repos.length > 0 ? repos : null;
|
|
379
|
+
}
|
|
380
|
+
return null;
|
|
381
|
+
}
|
|
382
|
+
catch (error) {
|
|
383
|
+
// Log warning for debugging - config parsing errors shouldn't be silent
|
|
384
|
+
console.warn(chalk.yellow(` ⚠️ Failed to read sync profiles: ${error instanceof Error ? error.message : String(error)}`));
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
128
388
|
/**
|
|
129
389
|
* Prompt for multi-repository selection
|
|
130
390
|
*/
|
|
@@ -260,28 +520,50 @@ async function convertToLivingDocs(targetDir, result, spinner) {
|
|
|
260
520
|
spinner.start('Converting to living docs...');
|
|
261
521
|
try {
|
|
262
522
|
const specsDir = path.join(targetDir, '.specweave', 'docs', 'internal', 'specs');
|
|
263
|
-
// Track
|
|
523
|
+
// Track counts
|
|
264
524
|
let archivedCount = 0;
|
|
265
|
-
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
525
|
+
let totalConverted = 0;
|
|
526
|
+
const allConvertedStories = [];
|
|
527
|
+
// Group items by sourceRepo for proper multi-repo folder allocation
|
|
528
|
+
const itemsByRepo = groupItemsBySourceRepo(result.allItems);
|
|
529
|
+
const repoCount = itemsByRepo.size;
|
|
530
|
+
for (const [repoKey, items] of itemsByRepo.entries()) {
|
|
531
|
+
// Determine project ID:
|
|
532
|
+
// - For multi-repo: use repo name (e.g., "sw-thumbnail-ab-be")
|
|
533
|
+
// - For single-repo/no sourceRepo: null (items go directly to specs/)
|
|
534
|
+
const projectId = repoKey === '_default' ? null : repoKey;
|
|
535
|
+
spinner.text = projectId
|
|
536
|
+
? `Converting items from ${projectId}...`
|
|
537
|
+
: 'Converting items to living docs...';
|
|
538
|
+
// Create converter for this project/repo
|
|
539
|
+
const converter = new ItemConverter({
|
|
540
|
+
specsDir,
|
|
541
|
+
projectRoot: targetDir,
|
|
542
|
+
enableFeatureAllocation: true,
|
|
543
|
+
// For multi-repo: use repo name as project folder
|
|
544
|
+
// For single-repo: undefined means direct to specs/ (no project subfolder)
|
|
545
|
+
projectId: projectId || undefined,
|
|
546
|
+
autoArchiveAfterDays: 30,
|
|
547
|
+
onFeatureCreated: (featureId, featurePath) => {
|
|
548
|
+
const label = projectId ? `${projectId}/${featureId}` : featureId;
|
|
549
|
+
spinner.text = `Created feature folder: ${label}`;
|
|
550
|
+
},
|
|
551
|
+
onItemArchived: (usId, reason) => {
|
|
552
|
+
archivedCount++;
|
|
553
|
+
spinner.text = `Archived ${usId} (${reason})`;
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
const convertedStories = await converter.convertItems(items);
|
|
557
|
+
allConvertedStories.push(...convertedStories);
|
|
558
|
+
totalConverted += convertedStories.length;
|
|
559
|
+
}
|
|
281
560
|
// Count unique features created
|
|
282
|
-
const uniqueFeatures = new Set(
|
|
283
|
-
spinner.succeed(`Converted ${
|
|
561
|
+
const uniqueFeatures = new Set(allConvertedStories.map(s => s.featureId).filter(Boolean));
|
|
562
|
+
spinner.succeed(`Converted ${totalConverted} User Stories to living docs`);
|
|
284
563
|
console.log(chalk.gray(' → Living docs created with E suffix (US-001E, US-002E, ...)'));
|
|
564
|
+
if (repoCount > 1) {
|
|
565
|
+
console.log(chalk.gray(` → Organized into ${repoCount} project folders`));
|
|
566
|
+
}
|
|
285
567
|
if (uniqueFeatures.size > 0) {
|
|
286
568
|
console.log(chalk.gray(` → Organized into ${uniqueFeatures.size} feature folder(s)`));
|
|
287
569
|
}
|
|
@@ -309,6 +591,39 @@ async function convertToLivingDocs(targetDir, result, spinner) {
|
|
|
309
591
|
throw conversionError;
|
|
310
592
|
}
|
|
311
593
|
}
|
|
594
|
+
/**
|
|
595
|
+
* Group items by their source repository
|
|
596
|
+
* Items without sourceRepo go into '_default' group
|
|
597
|
+
*/
|
|
598
|
+
function groupItemsBySourceRepo(items) {
|
|
599
|
+
const groups = new Map();
|
|
600
|
+
for (const item of items) {
|
|
601
|
+
// Extract repo name from sourceRepo (e.g., "owner/repo" -> "repo")
|
|
602
|
+
let repoKey = '_default';
|
|
603
|
+
if (item.sourceRepo) {
|
|
604
|
+
// sourceRepo is "owner/repo", we want just "repo"
|
|
605
|
+
const parts = item.sourceRepo.split('/');
|
|
606
|
+
const rawRepoName = parts.length > 1 ? parts[1] : item.sourceRepo;
|
|
607
|
+
// Sanitize repo name to prevent path injection:
|
|
608
|
+
// - Allow only alphanumeric, hyphens, underscores
|
|
609
|
+
// - Trim leading/trailing hyphens
|
|
610
|
+
// - Limit to 100 chars
|
|
611
|
+
repoKey = rawRepoName
|
|
612
|
+
.replace(/[^a-zA-Z0-9-_]/g, '-')
|
|
613
|
+
.replace(/^-+|-+$/g, '')
|
|
614
|
+
.slice(0, 100);
|
|
615
|
+
// Fall back to _default if sanitization results in empty string
|
|
616
|
+
if (!repoKey) {
|
|
617
|
+
repoKey = '_default';
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
if (!groups.has(repoKey)) {
|
|
621
|
+
groups.set(repoKey, []);
|
|
622
|
+
}
|
|
623
|
+
groups.get(repoKey).push(item);
|
|
624
|
+
}
|
|
625
|
+
return groups;
|
|
626
|
+
}
|
|
312
627
|
/**
|
|
313
628
|
* Create empty result object
|
|
314
629
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-import.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"external-import.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAgFrE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,GAAE,OAAe,EAChC,mBAAmB,GAAE,OAAe,GACnC,IAAI,CA+DN"}
|
|
@@ -3,6 +3,77 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { getLocaleManager } from '../../../core/i18n/locale-manager.js';
|
|
6
|
+
/**
|
|
7
|
+
* Inline translations for hardcoded strings not in locale files
|
|
8
|
+
*/
|
|
9
|
+
function getNextStepsStrings(language) {
|
|
10
|
+
const strings = {
|
|
11
|
+
en: {
|
|
12
|
+
slashCommandsHint: '↑ Required for slash commands like /specweave:increment',
|
|
13
|
+
allPluginsInstalled: 'All plugins are already installed!',
|
|
14
|
+
pluginsInstalledAuto: '✔ All 19+ SpecWeave plugins installed automatically',
|
|
15
|
+
noManualInstall: '✔ No need to install additional plugins manually',
|
|
16
|
+
fullCapabilities: '✔ Full capabilities available immediately',
|
|
17
|
+
},
|
|
18
|
+
ru: {
|
|
19
|
+
slashCommandsHint: '↑ Необходимо для слеш-команд типа /specweave:increment',
|
|
20
|
+
allPluginsInstalled: 'Все плагины уже установлены!',
|
|
21
|
+
pluginsInstalledAuto: '✔ Все 19+ плагинов SpecWeave установлены автоматически',
|
|
22
|
+
noManualInstall: '✔ Не нужно устанавливать плагины вручную',
|
|
23
|
+
fullCapabilities: '✔ Полный функционал доступен сразу',
|
|
24
|
+
},
|
|
25
|
+
es: {
|
|
26
|
+
slashCommandsHint: '↑ Requerido para comandos como /specweave:increment',
|
|
27
|
+
allPluginsInstalled: '¡Todos los plugins ya están instalados!',
|
|
28
|
+
pluginsInstalledAuto: '✔ Todos los 19+ plugins de SpecWeave instalados automáticamente',
|
|
29
|
+
noManualInstall: '✔ No es necesario instalar plugins adicionales manualmente',
|
|
30
|
+
fullCapabilities: '✔ Capacidades completas disponibles inmediatamente',
|
|
31
|
+
},
|
|
32
|
+
zh: {
|
|
33
|
+
slashCommandsHint: '↑ 需要用于斜杠命令如 /specweave:increment',
|
|
34
|
+
allPluginsInstalled: '所有插件已安装!',
|
|
35
|
+
pluginsInstalledAuto: '✔ 19+个SpecWeave插件已自动安装',
|
|
36
|
+
noManualInstall: '✔ 无需手动安装其他插件',
|
|
37
|
+
fullCapabilities: '✔ 完整功能立即可用',
|
|
38
|
+
},
|
|
39
|
+
de: {
|
|
40
|
+
slashCommandsHint: '↑ Erforderlich für Slash-Befehle wie /specweave:increment',
|
|
41
|
+
allPluginsInstalled: 'Alle Plugins sind bereits installiert!',
|
|
42
|
+
pluginsInstalledAuto: '✔ Alle 19+ SpecWeave-Plugins automatisch installiert',
|
|
43
|
+
noManualInstall: '✔ Keine manuelle Plugin-Installation erforderlich',
|
|
44
|
+
fullCapabilities: '✔ Volle Funktionalität sofort verfügbar',
|
|
45
|
+
},
|
|
46
|
+
fr: {
|
|
47
|
+
slashCommandsHint: '↑ Requis pour les commandes slash comme /specweave:increment',
|
|
48
|
+
allPluginsInstalled: 'Tous les plugins sont déjà installés !',
|
|
49
|
+
pluginsInstalledAuto: '✔ Plus de 19 plugins SpecWeave installés automatiquement',
|
|
50
|
+
noManualInstall: '✔ Pas besoin d\'installer des plugins supplémentaires manuellement',
|
|
51
|
+
fullCapabilities: '✔ Toutes les fonctionnalités disponibles immédiatement',
|
|
52
|
+
},
|
|
53
|
+
ja: {
|
|
54
|
+
slashCommandsHint: '↑ /specweave:increment などのスラッシュコマンドに必要',
|
|
55
|
+
allPluginsInstalled: 'すべてのプラグインがインストール済みです!',
|
|
56
|
+
pluginsInstalledAuto: '✔ 19以上のSpecWeaveプラグインが自動インストール済み',
|
|
57
|
+
noManualInstall: '✔ 追加のプラグインを手動でインストールする必要なし',
|
|
58
|
+
fullCapabilities: '✔ すべての機能がすぐに利用可能',
|
|
59
|
+
},
|
|
60
|
+
ko: {
|
|
61
|
+
slashCommandsHint: '↑ /specweave:increment 같은 슬래시 명령에 필요',
|
|
62
|
+
allPluginsInstalled: '모든 플러그인이 이미 설치되었습니다!',
|
|
63
|
+
pluginsInstalledAuto: '✔ 19개 이상의 SpecWeave 플러그인 자동 설치됨',
|
|
64
|
+
noManualInstall: '✔ 추가 플러그인을 수동으로 설치할 필요 없음',
|
|
65
|
+
fullCapabilities: '✔ 전체 기능 즉시 사용 가능',
|
|
66
|
+
},
|
|
67
|
+
pt: {
|
|
68
|
+
slashCommandsHint: '↑ Necessário para comandos slash como /specweave:increment',
|
|
69
|
+
allPluginsInstalled: 'Todos os plugins já estão instalados!',
|
|
70
|
+
pluginsInstalledAuto: '✔ Mais de 19 plugins SpecWeave instalados automaticamente',
|
|
71
|
+
noManualInstall: '✔ Não é necessário instalar plugins adicionais manualmente',
|
|
72
|
+
fullCapabilities: '✔ Funcionalidades completas disponíveis imediatamente',
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
return strings[language] || strings.en;
|
|
76
|
+
}
|
|
6
77
|
/**
|
|
7
78
|
* Show next steps after initialization
|
|
8
79
|
*
|
|
@@ -14,6 +85,7 @@ import { getLocaleManager } from '../../../core/i18n/locale-manager.js';
|
|
|
14
85
|
*/
|
|
15
86
|
export function showNextSteps(projectName, adapterName, language, usedDotNotation = false, pluginAutoInstalled = false) {
|
|
16
87
|
const locale = getLocaleManager(language);
|
|
88
|
+
const strings = getNextStepsStrings(language);
|
|
17
89
|
console.log('');
|
|
18
90
|
console.log(chalk.cyan.bold(locale.t('cli', 'init.nextSteps.header')));
|
|
19
91
|
console.log('');
|
|
@@ -33,14 +105,14 @@ export function showNextSteps(projectName, adapterName, language, usedDotNotatio
|
|
|
33
105
|
if (!pluginAutoInstalled) {
|
|
34
106
|
console.log(` ${stepNumber}. ${chalk.yellow.bold('⚠️ ' + locale.t('cli', 'init.nextSteps.claude.step2'))}`);
|
|
35
107
|
console.log(` ${chalk.cyan.bold(locale.t('cli', 'init.nextSteps.claude.installCore'))}`);
|
|
36
|
-
console.log(` ${chalk.gray(
|
|
108
|
+
console.log(` ${chalk.gray(strings.slashCommandsHint)}`);
|
|
37
109
|
console.log('');
|
|
38
110
|
stepNumber++;
|
|
39
111
|
}
|
|
40
|
-
console.log(` ${stepNumber}. ${chalk.white(
|
|
41
|
-
console.log(` ${chalk.gray(
|
|
42
|
-
console.log(` ${chalk.gray(
|
|
43
|
-
console.log(` ${chalk.gray(
|
|
112
|
+
console.log(` ${stepNumber}. ${chalk.white(strings.allPluginsInstalled)}`);
|
|
113
|
+
console.log(` ${chalk.gray(strings.pluginsInstalledAuto)}`);
|
|
114
|
+
console.log(` ${chalk.gray(strings.noManualInstall)}`);
|
|
115
|
+
console.log(` ${chalk.gray(strings.fullCapabilities)}`);
|
|
44
116
|
console.log('');
|
|
45
117
|
stepNumber++;
|
|
46
118
|
console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.claude.step4'))}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,WAAmB,EACnB,WAAmB,EACnB,QAA2B,EAC3B,kBAA2B,KAAK,EAChC,sBAA+B,KAAK;IAEpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"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"}
|