specweave 0.28.9 → 0.28.13

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 (58) hide show
  1. package/dist/src/cli/commands/init.d.ts.map +1 -1
  2. package/dist/src/cli/commands/init.js +35 -8
  3. package/dist/src/cli/commands/init.js.map +1 -1
  4. package/dist/src/cli/helpers/init/index.d.ts +2 -0
  5. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  6. package/dist/src/cli/helpers/init/index.js +4 -0
  7. package/dist/src/cli/helpers/init/index.js.map +1 -1
  8. package/dist/src/cli/helpers/init/language-selection.d.ts +40 -0
  9. package/dist/src/cli/helpers/init/language-selection.d.ts.map +1 -0
  10. package/dist/src/cli/helpers/init/language-selection.js +281 -0
  11. package/dist/src/cli/helpers/init/language-selection.js.map +1 -0
  12. package/dist/src/cli/helpers/init/repository-setup.d.ts +2 -0
  13. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/repository-setup.js +156 -12
  15. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  16. package/dist/src/cli/helpers/init/translation-config.d.ts +61 -0
  17. package/dist/src/cli/helpers/init/translation-config.d.ts.map +1 -0
  18. package/dist/src/cli/helpers/init/translation-config.js +437 -0
  19. package/dist/src/cli/helpers/init/translation-config.js.map +1 -0
  20. package/dist/src/cli/helpers/init/types.d.ts +33 -0
  21. package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
  22. package/dist/src/core/config/types.d.ts +143 -0
  23. package/dist/src/core/config/types.d.ts.map +1 -1
  24. package/dist/src/core/config/types.js.map +1 -1
  25. package/dist/src/core/repo-structure/repo-id-generator.d.ts +24 -95
  26. package/dist/src/core/repo-structure/repo-id-generator.d.ts.map +1 -1
  27. package/dist/src/core/repo-structure/repo-id-generator.js +31 -223
  28. package/dist/src/core/repo-structure/repo-id-generator.js.map +1 -1
  29. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  30. package/dist/src/core/repo-structure/repo-structure-manager.js +12 -46
  31. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  32. package/dist/src/sync/sync-coordinator.d.ts +5 -0
  33. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  34. package/dist/src/sync/sync-coordinator.js +104 -6
  35. package/dist/src/sync/sync-coordinator.js.map +1 -1
  36. package/dist/src/utils/multi-repo-detector.d.ts +85 -0
  37. package/dist/src/utils/multi-repo-detector.d.ts.map +1 -0
  38. package/dist/src/utils/multi-repo-detector.js +264 -0
  39. package/dist/src/utils/multi-repo-detector.js.map +1 -0
  40. package/package.json +1 -1
  41. package/plugins/specweave/agents/pm/AGENT.md +178 -0
  42. package/plugins/specweave/agents/test-aware-planner/AGENT.md +54 -0
  43. package/plugins/specweave/commands/specweave-increment.md +30 -0
  44. package/plugins/specweave/commands/specweave-save.md +838 -0
  45. package/plugins/specweave/hooks/hooks.json +12 -0
  46. package/plugins/specweave/hooks/lib/update-status-line.sh +9 -1
  47. package/plugins/specweave/hooks/post-increment-completion.sh +4 -3
  48. package/plugins/specweave/hooks/post-increment-planning.sh +95 -51
  49. package/plugins/specweave/hooks/post-metadata-change.sh +18 -4
  50. package/plugins/specweave/hooks/pre-task-completion-edit.sh +355 -0
  51. package/plugins/specweave/lib/hooks/sync-living-docs.js +43 -0
  52. package/plugins/specweave/skills/increment-planner/SKILL.md +252 -2
  53. package/plugins/specweave/skills/spec-generator/SKILL.md +163 -0
  54. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +286 -0
  55. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +18 -0
  56. package/plugins/specweave-infrastructure/skills/hetzner-provisioner/README.md +1 -1
  57. package/plugins/specweave-release/commands/specweave-release-npm.md +14 -22
  58. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +27 -0
@@ -4,6 +4,149 @@
4
4
  */
5
5
  import chalk from 'chalk';
6
6
  import { select } from '@inquirer/prompts';
7
+ /**
8
+ * Get translated strings for repository setup
9
+ */
10
+ function getRepoStrings(language) {
11
+ const strings = {
12
+ en: {
13
+ header: '📦 Repository Hosting',
14
+ ciAutoDetected: 'CI mode: Auto-detected',
15
+ structureQuestion: 'What is your repository structure?',
16
+ structureSingle: 'single - One repository (monorepo or standard project)',
17
+ structureMultiple: 'multiple - Multiple repos (microservices, EDA, parent/child)',
18
+ providerQuestion: 'Which Git provider do you use?',
19
+ github: 'GitHub',
20
+ githubDetected: '(detected)',
21
+ githubRecommended: '(recommended)',
22
+ bitbucket: 'Bitbucket',
23
+ ado: 'Azure DevOps',
24
+ local: 'Local (no remote)',
25
+ other: 'Other (GitLab, etc - coming soon)',
26
+ },
27
+ ru: {
28
+ header: '📦 Хостинг репозитория',
29
+ ciAutoDetected: 'CI режим: Автоопределено',
30
+ structureQuestion: 'Какова структура вашего репозитория?',
31
+ structureSingle: 'single - Один репозиторий (монорепо или стандартный проект)',
32
+ structureMultiple: 'multiple - Несколько репо (микросервисы, EDA, родитель/потомок)',
33
+ providerQuestion: 'Какой Git-провайдер вы используете?',
34
+ github: 'GitHub',
35
+ githubDetected: '(обнаружен)',
36
+ githubRecommended: '(рекомендуется)',
37
+ bitbucket: 'Bitbucket',
38
+ ado: 'Azure DevOps',
39
+ local: 'Локально (без remote)',
40
+ other: 'Другой (GitLab и т.д. - скоро)',
41
+ },
42
+ es: {
43
+ header: '📦 Alojamiento del repositorio',
44
+ ciAutoDetected: 'Modo CI: Detectado automáticamente',
45
+ structureQuestion: '¿Cuál es la estructura de su repositorio?',
46
+ structureSingle: 'single - Un repositorio (monorepo o proyecto estándar)',
47
+ structureMultiple: 'multiple - Múltiples repos (microservicios, EDA, padre/hijo)',
48
+ providerQuestion: '¿Qué proveedor de Git usa?',
49
+ github: 'GitHub',
50
+ githubDetected: '(detectado)',
51
+ githubRecommended: '(recomendado)',
52
+ bitbucket: 'Bitbucket',
53
+ ado: 'Azure DevOps',
54
+ local: 'Local (sin remoto)',
55
+ other: 'Otro (GitLab, etc - próximamente)',
56
+ },
57
+ zh: {
58
+ header: '📦 仓库托管',
59
+ ciAutoDetected: 'CI 模式:自动检测',
60
+ structureQuestion: '您的仓库结构是什么?',
61
+ structureSingle: 'single - 单个仓库(单体仓库或标准项目)',
62
+ structureMultiple: 'multiple - 多个仓库(微服务、EDA、父/子)',
63
+ providerQuestion: '您使用哪个 Git 提供商?',
64
+ github: 'GitHub',
65
+ githubDetected: '(已检测)',
66
+ githubRecommended: '(推荐)',
67
+ bitbucket: 'Bitbucket',
68
+ ado: 'Azure DevOps',
69
+ local: '本地(无远程)',
70
+ other: '其他(GitLab 等 - 即将推出)',
71
+ },
72
+ de: {
73
+ header: '📦 Repository-Hosting',
74
+ ciAutoDetected: 'CI-Modus: Automatisch erkannt',
75
+ structureQuestion: 'Wie ist Ihre Repository-Struktur?',
76
+ structureSingle: 'single - Ein Repository (Monorepo oder Standardprojekt)',
77
+ structureMultiple: 'multiple - Mehrere Repos (Microservices, EDA, Parent/Child)',
78
+ providerQuestion: 'Welchen Git-Anbieter verwenden Sie?',
79
+ github: 'GitHub',
80
+ githubDetected: '(erkannt)',
81
+ githubRecommended: '(empfohlen)',
82
+ bitbucket: 'Bitbucket',
83
+ ado: 'Azure DevOps',
84
+ local: 'Lokal (kein Remote)',
85
+ other: 'Andere (GitLab, etc - kommt bald)',
86
+ },
87
+ fr: {
88
+ header: '📦 Hébergement du dépôt',
89
+ ciAutoDetected: 'Mode CI: Détecté automatiquement',
90
+ structureQuestion: 'Quelle est la structure de votre dépôt?',
91
+ structureSingle: 'single - Un dépôt (monorepo ou projet standard)',
92
+ structureMultiple: 'multiple - Plusieurs dépôts (microservices, EDA, parent/enfant)',
93
+ providerQuestion: 'Quel fournisseur Git utilisez-vous?',
94
+ github: 'GitHub',
95
+ githubDetected: '(détecté)',
96
+ githubRecommended: '(recommandé)',
97
+ bitbucket: 'Bitbucket',
98
+ ado: 'Azure DevOps',
99
+ local: 'Local (pas de remote)',
100
+ other: 'Autre (GitLab, etc - bientôt)',
101
+ },
102
+ ja: {
103
+ header: '📦 リポジトリホスティング',
104
+ ciAutoDetected: 'CIモード:自動検出',
105
+ structureQuestion: 'リポジトリの構造は?',
106
+ structureSingle: 'single - 1つのリポジトリ(モノレポまたは標準プロジェクト)',
107
+ structureMultiple: 'multiple - 複数のリポジトリ(マイクロサービス、EDA、親/子)',
108
+ providerQuestion: 'どのGitプロバイダーを使用していますか?',
109
+ github: 'GitHub',
110
+ githubDetected: '(検出済み)',
111
+ githubRecommended: '(推奨)',
112
+ bitbucket: 'Bitbucket',
113
+ ado: 'Azure DevOps',
114
+ local: 'ローカル(リモートなし)',
115
+ other: 'その他(GitLabなど - 近日公開)',
116
+ },
117
+ ko: {
118
+ header: '📦 저장소 호스팅',
119
+ ciAutoDetected: 'CI 모드: 자동 감지됨',
120
+ structureQuestion: '저장소 구조는 무엇입니까?',
121
+ structureSingle: 'single - 하나의 저장소 (모노레포 또는 표준 프로젝트)',
122
+ structureMultiple: 'multiple - 여러 저장소 (마이크로서비스, EDA, 부모/자식)',
123
+ providerQuestion: '어떤 Git 제공자를 사용하시나요?',
124
+ github: 'GitHub',
125
+ githubDetected: '(감지됨)',
126
+ githubRecommended: '(권장)',
127
+ bitbucket: 'Bitbucket',
128
+ ado: 'Azure DevOps',
129
+ local: '로컬 (원격 없음)',
130
+ other: '기타 (GitLab 등 - 곧 출시)',
131
+ },
132
+ pt: {
133
+ header: '📦 Hospedagem do repositório',
134
+ ciAutoDetected: 'Modo CI: Detectado automaticamente',
135
+ structureQuestion: 'Qual é a estrutura do seu repositório?',
136
+ structureSingle: 'single - Um repositório (monorepo ou projeto padrão)',
137
+ structureMultiple: 'multiple - Múltiplos repos (microsserviços, EDA, pai/filho)',
138
+ providerQuestion: 'Qual provedor Git você usa?',
139
+ github: 'GitHub',
140
+ githubDetected: '(detectado)',
141
+ githubRecommended: '(recomendado)',
142
+ bitbucket: 'Bitbucket',
143
+ ado: 'Azure DevOps',
144
+ local: 'Local (sem remoto)',
145
+ other: 'Outro (GitLab, etc - em breve)',
146
+ },
147
+ };
148
+ return strings[language] || strings.en;
149
+ }
7
150
  /**
8
151
  * Prompt user for repository hosting configuration
9
152
  *
@@ -11,28 +154,29 @@ import { select } from '@inquirer/prompts';
11
154
  * @returns Repository configuration
12
155
  */
13
156
  export async function setupRepositoryHosting(options) {
14
- const { isCI, gitHubRemote } = options;
157
+ const { isCI, gitHubRemote, language = 'en' } = options;
158
+ const strings = getRepoStrings(language);
15
159
  console.log('');
16
- console.log(chalk.cyan.bold('📦 Repository Hosting'));
160
+ console.log(chalk.cyan.bold(strings.header));
17
161
  console.log('');
18
162
  let repositoryHosting = 'github-single';
19
163
  let isMultiRepo = false;
20
164
  if (isCI) {
21
165
  // CI mode: auto-detect
22
166
  repositoryHosting = gitHubRemote ? 'github-single' : 'local';
23
- console.log(chalk.gray(` → CI mode: Auto-detected ${repositoryHosting} hosting\n`));
167
+ console.log(chalk.gray(` → ${strings.ciAutoDetected} ${repositoryHosting} hosting\n`));
24
168
  return { hosting: repositoryHosting, isMultiRepo: false };
25
169
  }
26
170
  // Step 1: Ask about repository structure
27
171
  const structure = await select({
28
- message: 'What is your repository structure?',
172
+ message: strings.structureQuestion,
29
173
  choices: [
30
174
  {
31
- name: 'single - One repository (monorepo or standard project)',
175
+ name: strings.structureSingle,
32
176
  value: 'single'
33
177
  },
34
178
  {
35
- name: 'multiple - Multiple repos (microservices, EDA, parent/child)',
179
+ name: strings.structureMultiple,
36
180
  value: 'multirepo'
37
181
  }
38
182
  ],
@@ -41,26 +185,26 @@ export async function setupRepositoryHosting(options) {
41
185
  isMultiRepo = structure === 'multirepo';
42
186
  // Step 2: Ask about git provider
43
187
  const provider = await select({
44
- message: 'Which Git provider do you use?',
188
+ message: strings.providerQuestion,
45
189
  choices: [
46
190
  {
47
- name: `🐙 GitHub ${gitHubRemote ? '(detected)' : '(recommended)'}`,
191
+ name: `🐙 ${strings.github} ${gitHubRemote ? strings.githubDetected : strings.githubRecommended}`,
48
192
  value: 'github'
49
193
  },
50
194
  {
51
- name: '🪣 Bitbucket',
195
+ name: `🪣 ${strings.bitbucket}`,
52
196
  value: 'bitbucket'
53
197
  },
54
198
  {
55
- name: '🔷 Azure DevOps',
199
+ name: `🔷 ${strings.ado}`,
56
200
  value: 'ado'
57
201
  },
58
202
  {
59
- name: '💻 Local (no remote)',
203
+ name: `💻 ${strings.local}`,
60
204
  value: 'local'
61
205
  },
62
206
  {
63
- name: '🔧 Other (GitLab, etc - coming soon)',
207
+ name: `🔧 ${strings.other}`,
64
208
  value: 'other'
65
209
  }
66
210
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"repository-setup.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAoB3C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAA+B;IAC1E,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,iBAAiB,GAAsB,eAAe,CAAC;IAC3D,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,IAAI,EAAE,CAAC;QACT,uBAAuB;QACvB,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,iBAAiB,YAAY,CAAC,CAAC,CAAC;QACtF,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC;QAC7B,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,0DAA0D;gBAChE,KAAK,EAAE,QAAiB;aACzB;YACD;gBACE,IAAI,EAAE,8DAA8D;gBACpE,KAAK,EAAE,WAAoB;aAC5B;SACF;QACD,OAAO,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,WAAW,GAAG,SAAS,KAAK,WAAW,CAAC;IAExC,iCAAiC;IACjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,gCAAgC;QACzC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,aAAa,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,EAAE;gBAClE,KAAK,EAAE,QAAiB;aACzB;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,WAAoB;aAC5B;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,KAAc;aACtB;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,OAAgB;aACxB;YACD;gBACE,IAAI,EAAE,sCAAsC;gBAC5C,KAAK,EAAE,OAAgB;aACxB;SACF;QACD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;KAC3C,CAAC,CAAC;IAEH,+BAA+B;IAC/B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,iBAAiB,GAAG,OAAO,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,iBAAiB,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAuB,CAAC;IACtE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"repository-setup.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Translation configuration prompts
3
+ *
4
+ * NOTE: Language selection is now in language-selection.ts (asked first)
5
+ * This module only handles auto-translation scope configuration.
6
+ *
7
+ * CRITICAL: User MUST be asked before enabling translation
8
+ * Translation can ~2x token usage (significant cost impact)
9
+ *
10
+ * @module cli/helpers/init/translation-config
11
+ */
12
+ import type { SupportedLanguage } from '../../../core/i18n/types.js';
13
+ import type { LanguageSelectionResult } from './language-selection.js';
14
+ /**
15
+ * Translation scope - what gets auto-translated
16
+ */
17
+ export interface TranslationScope {
18
+ /** Auto-translate spec.md, plan.md, tasks.md after creation */
19
+ incrementSpecs: boolean;
20
+ /** Auto-translate living docs on update */
21
+ livingDocs: boolean;
22
+ /** Auto-translate GitHub/JIRA/ADO issues on sync */
23
+ externalSync: boolean;
24
+ }
25
+ /**
26
+ * Result of translation configuration prompts
27
+ */
28
+ export interface TranslationConfigResult {
29
+ language: SupportedLanguage;
30
+ translationEnabled: boolean;
31
+ translationScope: TranslationScope;
32
+ keepEnglishOriginals: boolean;
33
+ }
34
+ /**
35
+ * Prompt user for translation configuration
36
+ *
37
+ * NOTE: Language is already selected in language-selection.ts
38
+ * This only handles auto-translation scope configuration.
39
+ *
40
+ * CRITICAL: Shows cost warning before enabling translation
41
+ * User must explicitly opt-in to translation (default: disabled)
42
+ *
43
+ * @param languageResult - Result from language selection (language + bilingual preference)
44
+ * @returns Translation configuration result
45
+ */
46
+ export declare function promptTranslationConfig(languageResult?: LanguageSelectionResult): Promise<TranslationConfigResult>;
47
+ /**
48
+ * Update config.json with translation configuration
49
+ *
50
+ * @param targetDir - Project directory
51
+ * @param config - Translation configuration result
52
+ */
53
+ export declare function updateConfigWithTranslation(targetDir: string, config: TranslationConfigResult): void;
54
+ /**
55
+ * Get translation configuration for CI/non-interactive mode
56
+ *
57
+ * @param language - Language code from CLI options
58
+ * @returns Default translation configuration (disabled)
59
+ */
60
+ export declare function getDefaultTranslationConfig(language?: SupportedLanguage): TranslationConfigResult;
61
+ //# sourceMappingURL=translation-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-config.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/translation-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,cAAc,EAAE,OAAO,CAAC;IACxB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AA2SD;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,cAAc,CAAC,EAAE,uBAAuB,GACvC,OAAO,CAAC,uBAAuB,CAAC,CAuGlC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,uBAAuB,GAC9B,IAAI,CAyBN;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,GAAE,iBAAwB,GAAG,uBAAuB,CAOvG"}