specweave 0.24.1 → 0.24.6

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 (35) hide show
  1. package/CLAUDE.md +42 -0
  2. package/dist/src/cli/commands/init.d.ts.map +1 -1
  3. package/dist/src/cli/commands/init.js +80 -41
  4. package/dist/src/cli/commands/init.js.map +1 -1
  5. package/dist/src/cli/helpers/issue-tracker/types.d.ts +1 -1
  6. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  7. package/dist/src/config/types.d.ts +24 -24
  8. package/dist/src/core/config/types.d.ts +25 -0
  9. package/dist/src/core/config/types.d.ts.map +1 -1
  10. package/dist/src/core/config/types.js +6 -0
  11. package/dist/src/core/config/types.js.map +1 -1
  12. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts +33 -0
  13. package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts.map +1 -0
  14. package/dist/src/core/repo-structure/repo-bulk-discovery.js +275 -0
  15. package/dist/src/core/repo-structure/repo-bulk-discovery.js.map +1 -0
  16. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +9 -0
  17. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  18. package/dist/src/core/repo-structure/repo-structure-manager.js +185 -50
  19. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  20. package/dist/src/init/architecture/types.d.ts +6 -6
  21. package/dist/src/utils/plugin-validator.d.ts.map +1 -1
  22. package/dist/src/utils/plugin-validator.js +15 -14
  23. package/dist/src/utils/plugin-validator.js.map +1 -1
  24. package/package.json +4 -4
  25. package/plugins/specweave/.claude-plugin/plugin.json +4 -4
  26. package/plugins/specweave/agents/pm/AGENT.md +2 -0
  27. package/plugins/specweave/commands/specweave-do.md +0 -47
  28. package/plugins/specweave/commands/specweave-increment.md +0 -82
  29. package/plugins/specweave/commands/specweave-next.md +0 -47
  30. package/plugins/specweave/hooks/post-task-completion.sh +67 -6
  31. package/plugins/specweave/hooks/pre-edit-spec.sh +11 -0
  32. package/plugins/specweave/hooks/pre-task-completion.sh +69 -2
  33. package/plugins/specweave/hooks/pre-write-spec.sh +11 -0
  34. package/plugins/specweave/skills/increment-planner/SKILL.md +124 -4
  35. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +132 -0
@@ -273,16 +273,16 @@ export declare const ResearchConfigSchema: z.ZodObject<{
273
273
  pros: z.ZodArray<z.ZodString, "many">;
274
274
  cons: z.ZodArray<z.ZodString, "many">;
275
275
  }, "strip", z.ZodTypeAny, {
276
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
276
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
277
277
  pros?: string[];
278
278
  cons?: string[];
279
279
  }, {
280
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
280
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
281
281
  pros?: string[];
282
282
  cons?: string[];
283
283
  }>, "many">>;
284
284
  }, "strip", z.ZodTypeAny, {
285
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
285
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
286
286
  projects?: {
287
287
  name?: string;
288
288
  stack?: string[];
@@ -290,7 +290,7 @@ export declare const ResearchConfigSchema: z.ZodObject<{
290
290
  }[];
291
291
  infrastructure?: string[];
292
292
  alternatives?: {
293
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
293
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
294
294
  pros?: string[];
295
295
  cons?: string[];
296
296
  }[];
@@ -310,7 +310,7 @@ export declare const ResearchConfigSchema: z.ZodObject<{
310
310
  }[];
311
311
  methodology?: "agile" | "waterfall";
312
312
  }, {
313
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
313
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
314
314
  projects?: {
315
315
  name?: string;
316
316
  stack?: string[];
@@ -318,7 +318,7 @@ export declare const ResearchConfigSchema: z.ZodObject<{
318
318
  }[];
319
319
  infrastructure?: string[];
320
320
  alternatives?: {
321
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
321
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
322
322
  pros?: string[];
323
323
  cons?: string[];
324
324
  }[];
@@ -365,7 +365,7 @@ export declare const ResearchConfigSchema: z.ZodObject<{
365
365
  }>, "many">>;
366
366
  }, "strip", z.ZodTypeAny, {
367
367
  architecture?: {
368
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
368
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
369
369
  projects?: {
370
370
  name?: string;
371
371
  stack?: string[];
@@ -373,7 +373,7 @@ export declare const ResearchConfigSchema: z.ZodObject<{
373
373
  }[];
374
374
  infrastructure?: string[];
375
375
  alternatives?: {
376
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
376
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
377
377
  pros?: string[];
378
378
  cons?: string[];
379
379
  }[];
@@ -456,7 +456,7 @@ export declare const ResearchConfigSchema: z.ZodObject<{
456
456
  };
457
457
  }, {
458
458
  architecture?: {
459
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
459
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
460
460
  projects?: {
461
461
  name?: string;
462
462
  stack?: string[];
@@ -464,7 +464,7 @@ export declare const ResearchConfigSchema: z.ZodObject<{
464
464
  }[];
465
465
  infrastructure?: string[];
466
466
  alternatives?: {
467
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
467
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
468
468
  pros?: string[];
469
469
  cons?: string[];
470
470
  }[];
@@ -845,16 +845,16 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
845
845
  pros: z.ZodArray<z.ZodString, "many">;
846
846
  cons: z.ZodArray<z.ZodString, "many">;
847
847
  }, "strip", z.ZodTypeAny, {
848
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
848
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
849
849
  pros?: string[];
850
850
  cons?: string[];
851
851
  }, {
852
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
852
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
853
853
  pros?: string[];
854
854
  cons?: string[];
855
855
  }>, "many">>;
856
856
  }, "strip", z.ZodTypeAny, {
857
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
857
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
858
858
  projects?: {
859
859
  name?: string;
860
860
  stack?: string[];
@@ -862,7 +862,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
862
862
  }[];
863
863
  infrastructure?: string[];
864
864
  alternatives?: {
865
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
865
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
866
866
  pros?: string[];
867
867
  cons?: string[];
868
868
  }[];
@@ -882,7 +882,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
882
882
  }[];
883
883
  methodology?: "agile" | "waterfall";
884
884
  }, {
885
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
885
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
886
886
  projects?: {
887
887
  name?: string;
888
888
  stack?: string[];
@@ -890,7 +890,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
890
890
  }[];
891
891
  infrastructure?: string[];
892
892
  alternatives?: {
893
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
893
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
894
894
  pros?: string[];
895
895
  cons?: string[];
896
896
  }[];
@@ -937,7 +937,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
937
937
  }>, "many">>;
938
938
  }, "strip", z.ZodTypeAny, {
939
939
  architecture?: {
940
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
940
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
941
941
  projects?: {
942
942
  name?: string;
943
943
  stack?: string[];
@@ -945,7 +945,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
945
945
  }[];
946
946
  infrastructure?: string[];
947
947
  alternatives?: {
948
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
948
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
949
949
  pros?: string[];
950
950
  cons?: string[];
951
951
  }[];
@@ -1028,7 +1028,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
1028
1028
  };
1029
1029
  }, {
1030
1030
  architecture?: {
1031
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
1031
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
1032
1032
  projects?: {
1033
1033
  name?: string;
1034
1034
  stack?: string[];
@@ -1036,7 +1036,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
1036
1036
  }[];
1037
1037
  infrastructure?: string[];
1038
1038
  alternatives?: {
1039
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
1039
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
1040
1040
  pros?: string[];
1041
1041
  cons?: string[];
1042
1042
  }[];
@@ -1155,7 +1155,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
1155
1155
  projectName?: string;
1156
1156
  research?: {
1157
1157
  architecture?: {
1158
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
1158
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
1159
1159
  projects?: {
1160
1160
  name?: string;
1161
1161
  stack?: string[];
@@ -1163,7 +1163,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
1163
1163
  }[];
1164
1164
  infrastructure?: string[];
1165
1165
  alternatives?: {
1166
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
1166
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
1167
1167
  pros?: string[];
1168
1168
  cons?: string[];
1169
1169
  }[];
@@ -1257,7 +1257,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
1257
1257
  projectName?: string;
1258
1258
  research?: {
1259
1259
  architecture?: {
1260
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
1260
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
1261
1261
  projects?: {
1262
1262
  name?: string;
1263
1263
  stack?: string[];
@@ -1265,7 +1265,7 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
1265
1265
  }[];
1266
1266
  infrastructure?: string[];
1267
1267
  alternatives?: {
1268
- architecture?: "serverless" | "traditional-monolith" | "microservices" | "modular-monolith" | "jamstack" | "hybrid";
1268
+ architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
1269
1269
  pros?: string[];
1270
1270
  cons?: string[];
1271
1271
  }[];
@@ -157,6 +157,27 @@ export interface ProjectMetadata {
157
157
  export interface AdapterConfiguration {
158
158
  default: string;
159
159
  }
160
+ /**
161
+ * Status line configuration
162
+ */
163
+ export interface StatusLineConfiguration {
164
+ /**
165
+ * Enable status line display
166
+ */
167
+ enabled: boolean;
168
+ /**
169
+ * Maximum age of cache before showing stale warning (ms)
170
+ */
171
+ maxCacheAge: number;
172
+ /**
173
+ * Width of progress bar (characters)
174
+ */
175
+ progressBarWidth: number;
176
+ /**
177
+ * Maximum length for increment name
178
+ */
179
+ maxNameLength: number;
180
+ }
160
181
  /**
161
182
  * Main SpecWeave configuration
162
183
  */
@@ -193,6 +214,10 @@ export interface SpecWeaveConfig {
193
214
  * Permissions configuration
194
215
  */
195
216
  permissions?: PermissionsConfiguration;
217
+ /**
218
+ * Status line configuration (optional)
219
+ */
220
+ statusLine?: StatusLineConfiguration;
196
221
  }
197
222
  /**
198
223
  * Default configuration values
@@ -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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"}
@@ -27,6 +27,12 @@ export const DEFAULT_CONFIG = {
27
27
  canCreate: true,
28
28
  canUpdate: true,
29
29
  canUpdateStatus: true
30
+ },
31
+ statusLine: {
32
+ enabled: true,
33
+ maxCacheAge: 30000, // 30 seconds
34
+ progressBarWidth: 8,
35
+ maxNameLength: 30
30
36
  }
31
37
  };
32
38
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8NH;;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,WAAW,EAAE;QACX,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;KACtB;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4PH;;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,WAAW,EAAE;QACX,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Repository Bulk Discovery Helper
3
+ *
4
+ * Provides functionality to bulk-discover and filter GitHub repositories
5
+ * during the SpecWeave init flow, optimizing repository configuration
6
+ * for users with many repositories.
7
+ *
8
+ * Features:
9
+ * - Bulk import all repos from owner/organization
10
+ * - Pattern matching (starts-with, ends-with, contains)
11
+ * - Regex matching (advanced filtering)
12
+ * - Preview and confirmation before auto-populating configs
13
+ */
14
+ import { Octokit } from '@octokit/rest';
15
+ export interface DiscoveredRepo {
16
+ name: string;
17
+ full_name: string;
18
+ owner: string;
19
+ description: string | null;
20
+ private: boolean;
21
+ updated_at: string;
22
+ }
23
+ export interface BulkDiscoveryResult {
24
+ repositories: DiscoveredRepo[];
25
+ strategy: 'manual' | 'all-repos' | 'pattern' | 'regex';
26
+ pattern?: string;
27
+ source?: string;
28
+ }
29
+ /**
30
+ * Main bulk discovery flow
31
+ */
32
+ export declare function discoverRepositories(octokit: Octokit, owner: string, isOrg: boolean, expectedCount: number): Promise<BulkDiscoveryResult | null>;
33
+ //# sourceMappingURL=repo-bulk-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-bulk-discovery.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-bulk-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA6KrC"}
@@ -0,0 +1,275 @@
1
+ /**
2
+ * Repository Bulk Discovery Helper
3
+ *
4
+ * Provides functionality to bulk-discover and filter GitHub repositories
5
+ * during the SpecWeave init flow, optimizing repository configuration
6
+ * for users with many repositories.
7
+ *
8
+ * Features:
9
+ * - Bulk import all repos from owner/organization
10
+ * - Pattern matching (starts-with, ends-with, contains)
11
+ * - Regex matching (advanced filtering)
12
+ * - Preview and confirmation before auto-populating configs
13
+ */
14
+ import inquirer from 'inquirer';
15
+ import chalk from 'chalk';
16
+ import { minimatch } from 'minimatch';
17
+ /**
18
+ * Fetch all repositories from owner (user or organization)
19
+ */
20
+ async function fetchAllRepositories(octokit, owner, isOrg) {
21
+ const repos = [];
22
+ let page = 1;
23
+ let hasMore = true;
24
+ while (hasMore) {
25
+ try {
26
+ const { data } = isOrg
27
+ ? await octokit.repos.listForOrg({
28
+ org: owner,
29
+ per_page: 100,
30
+ page,
31
+ type: 'all'
32
+ })
33
+ : await octokit.repos.listForAuthenticatedUser({
34
+ affiliation: 'owner',
35
+ per_page: 100,
36
+ page
37
+ });
38
+ repos.push(...data.map((repo) => ({
39
+ name: repo.name,
40
+ full_name: repo.full_name,
41
+ owner: repo.owner.login,
42
+ description: repo.description,
43
+ private: repo.private,
44
+ updated_at: repo.updated_at
45
+ })));
46
+ hasMore = data.length === 100;
47
+ page++;
48
+ }
49
+ catch (error) {
50
+ console.error(chalk.yellow(`āš ļø Failed to fetch repositories:`, error instanceof Error ? error.message : String(error)));
51
+ hasMore = false;
52
+ }
53
+ }
54
+ return repos;
55
+ }
56
+ /**
57
+ * Filter repositories by pattern (starts-with, ends-with, contains, glob)
58
+ */
59
+ function filterByPattern(repos, pattern) {
60
+ const trimmedPattern = pattern.trim();
61
+ // Detect pattern type
62
+ if (trimmedPattern.startsWith('^') || trimmedPattern.includes('$')) {
63
+ // Looks like regex, but we handle it separately
64
+ return repos;
65
+ }
66
+ // Check for special pattern prefixes
67
+ if (trimmedPattern.startsWith('starts:')) {
68
+ const prefix = trimmedPattern.substring(7);
69
+ return repos.filter(repo => repo.name.startsWith(prefix));
70
+ }
71
+ if (trimmedPattern.startsWith('ends:')) {
72
+ const suffix = trimmedPattern.substring(5);
73
+ return repos.filter(repo => repo.name.endsWith(suffix));
74
+ }
75
+ if (trimmedPattern.startsWith('contains:')) {
76
+ const substring = trimmedPattern.substring(9);
77
+ return repos.filter(repo => repo.name.includes(substring));
78
+ }
79
+ // Default: glob pattern matching (supports *, ?, [])
80
+ return repos.filter(repo => minimatch(repo.name, trimmedPattern));
81
+ }
82
+ /**
83
+ * Filter repositories by regex
84
+ */
85
+ function filterByRegex(repos, regexPattern) {
86
+ try {
87
+ const regex = new RegExp(regexPattern);
88
+ return repos.filter(repo => regex.test(repo.name));
89
+ }
90
+ catch (error) {
91
+ throw new Error(`Invalid regex pattern: ${error instanceof Error ? error.message : String(error)}`);
92
+ }
93
+ }
94
+ /**
95
+ * Show repository preview table
96
+ */
97
+ function showRepositoryPreview(repos, maxDisplay = 20) {
98
+ console.log(chalk.cyan('\nšŸ“‹ Discovered Repositories:\n'));
99
+ if (repos.length === 0) {
100
+ console.log(chalk.yellow(' No repositories found matching criteria\n'));
101
+ return;
102
+ }
103
+ const displayRepos = repos.slice(0, maxDisplay);
104
+ displayRepos.forEach((repo, index) => {
105
+ const number = `${index + 1}.`.padEnd(4);
106
+ const visibility = repo.private ? chalk.red('šŸ”’') : chalk.green('🌐');
107
+ const name = chalk.white(repo.name);
108
+ const desc = repo.description ? chalk.gray(` - ${repo.description.substring(0, 50)}`) : '';
109
+ console.log(` ${number} ${visibility} ${name}${desc}`);
110
+ });
111
+ if (repos.length > maxDisplay) {
112
+ console.log(chalk.gray(`\n ... and ${repos.length - maxDisplay} more repositories`));
113
+ }
114
+ console.log(chalk.cyan(`\n Total: ${repos.length} repositories\n`));
115
+ }
116
+ /**
117
+ * Main bulk discovery flow
118
+ */
119
+ export async function discoverRepositories(octokit, owner, isOrg, expectedCount) {
120
+ console.log(chalk.cyan('\nšŸš€ Repository Configuration Optimization\n'));
121
+ console.log(chalk.gray('You can bulk-discover repositories instead of entering them one by one.\n'));
122
+ // Step 1: Ask how to configure
123
+ const { strategy } = await inquirer.prompt([
124
+ {
125
+ type: 'list',
126
+ name: 'strategy',
127
+ message: 'How do you want to configure these repositories?',
128
+ choices: [
129
+ {
130
+ name: `${chalk.bold('Manual entry')} - Enter each repository one by one ${chalk.gray('(current behavior)')}`,
131
+ value: 'manual'
132
+ },
133
+ {
134
+ name: `${chalk.bold('Bulk import')} - Discover all repositories from ${owner} ${chalk.gray('(automatic)')}`,
135
+ value: 'all-repos'
136
+ },
137
+ {
138
+ name: `${chalk.bold('Pattern matching')} - Filter by pattern (starts-with, ends-with, contains, glob) ${chalk.gray('(e.g., "sw-*")')}`,
139
+ value: 'pattern'
140
+ },
141
+ {
142
+ name: `${chalk.bold('Regex matching')} - Advanced filtering with regular expressions ${chalk.gray('(e.g., "^ec-.*-api$")')}`,
143
+ value: 'regex'
144
+ }
145
+ ],
146
+ default: 'manual'
147
+ }
148
+ ]);
149
+ // If manual, return early
150
+ if (strategy === 'manual') {
151
+ return { repositories: [], strategy: 'manual' };
152
+ }
153
+ // Step 2: Fetch all repositories
154
+ console.log(chalk.gray(`\nā³ Fetching repositories from ${owner}...\n`));
155
+ const allRepos = await fetchAllRepositories(octokit, owner, isOrg);
156
+ if (allRepos.length === 0) {
157
+ console.log(chalk.yellow(`āš ļø No repositories found for ${owner}\n`));
158
+ return null;
159
+ }
160
+ console.log(chalk.green(`āœ“ Found ${allRepos.length} repositories\n`));
161
+ let filteredRepos = allRepos;
162
+ let pattern;
163
+ // Step 3: Apply filtering based on strategy
164
+ if (strategy === 'pattern') {
165
+ console.log(chalk.cyan('šŸ“ Pattern Matching Options:\n'));
166
+ console.log(chalk.gray(' • starts:PREFIX - Repositories starting with PREFIX'));
167
+ console.log(chalk.gray(' • ends:SUFFIX - Repositories ending with SUFFIX'));
168
+ console.log(chalk.gray(' • contains:TEXT - Repositories containing TEXT'));
169
+ console.log(chalk.gray(' • sw-* - Glob pattern (supports *, ?, [])'));
170
+ console.log(chalk.gray(' • *-api - Glob pattern\n'));
171
+ const { patternInput } = await inquirer.prompt([
172
+ {
173
+ type: 'input',
174
+ name: 'patternInput',
175
+ message: 'Enter pattern:',
176
+ default: `starts:${owner.split('-')[0] || 'my'}-`,
177
+ validate: (input) => (input.trim() ? true : 'Pattern is required')
178
+ }
179
+ ]);
180
+ pattern = patternInput.trim();
181
+ filteredRepos = filterByPattern(allRepos, pattern);
182
+ }
183
+ else if (strategy === 'regex') {
184
+ console.log(chalk.cyan('šŸ”§ Regex Matching:\n'));
185
+ console.log(chalk.gray(' • ^sw-.*$ - Starts with "sw-"'));
186
+ console.log(chalk.gray(' • .*-api$ - Ends with "-api"'));
187
+ console.log(chalk.gray(' • ^ec-\\w+-service$ - Matches "ec-NAME-service"\n'));
188
+ const { regexInput } = await inquirer.prompt([
189
+ {
190
+ type: 'input',
191
+ name: 'regexInput',
192
+ message: 'Enter regex pattern:',
193
+ default: `^${owner.split('-')[0] || 'my'}-.*`,
194
+ validate: (input) => {
195
+ if (!input.trim())
196
+ return 'Regex pattern is required';
197
+ try {
198
+ new RegExp(input.trim());
199
+ return true;
200
+ }
201
+ catch (error) {
202
+ return `Invalid regex: ${error instanceof Error ? error.message : String(error)}`;
203
+ }
204
+ }
205
+ }
206
+ ]);
207
+ pattern = regexInput.trim();
208
+ try {
209
+ filteredRepos = filterByRegex(allRepos, pattern);
210
+ }
211
+ catch (error) {
212
+ console.log(chalk.red(`\nāŒ ${error instanceof Error ? error.message : String(error)}\n`));
213
+ return null;
214
+ }
215
+ }
216
+ // Step 4: Show preview
217
+ showRepositoryPreview(filteredRepos);
218
+ // Step 5: Validate count
219
+ if (filteredRepos.length === 0) {
220
+ console.log(chalk.yellow('āš ļø No repositories match the criteria. Please try again.\n'));
221
+ return null;
222
+ }
223
+ if (filteredRepos.length !== expectedCount) {
224
+ console.log(chalk.yellow(`āš ļø Found ${filteredRepos.length} repositories, but you specified ${expectedCount}`));
225
+ const { proceed } = await inquirer.prompt([
226
+ {
227
+ type: 'list',
228
+ name: 'proceed',
229
+ message: 'What would you like to do?',
230
+ choices: [
231
+ {
232
+ name: `Use discovered ${filteredRepos.length} repositories (update count)`,
233
+ value: 'use-discovered'
234
+ },
235
+ {
236
+ name: `Go back and adjust the pattern`,
237
+ value: 'adjust-count'
238
+ },
239
+ {
240
+ name: `Switch to manual entry`,
241
+ value: 'manual'
242
+ }
243
+ ]
244
+ }
245
+ ]);
246
+ if (proceed === 'adjust-count') {
247
+ return null; // Return null to trigger retry
248
+ }
249
+ if (proceed === 'manual') {
250
+ return { repositories: [], strategy: 'manual' };
251
+ }
252
+ // proceed === 'use-discovered' - continue with discovered repos
253
+ }
254
+ // Step 6: Confirm
255
+ const { confirm } = await inquirer.prompt([
256
+ {
257
+ type: 'confirm',
258
+ name: 'confirm',
259
+ message: `Use these ${filteredRepos.length} repositories?`,
260
+ default: true
261
+ }
262
+ ]);
263
+ if (!confirm) {
264
+ console.log(chalk.gray('\nāœ“ Repository discovery cancelled. Switching to manual entry.\n'));
265
+ return { repositories: [], strategy: 'manual' };
266
+ }
267
+ console.log(chalk.green(`\nāœ… Discovered ${filteredRepos.length} repositories\n`));
268
+ return {
269
+ repositories: filteredRepos,
270
+ strategy,
271
+ pattern,
272
+ source: isOrg ? `org:${owner}` : 'personal'
273
+ };
274
+ }
275
+ //# sourceMappingURL=repo-bulk-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-bulk-discovery.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-bulk-discovery.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,15 @@ export declare class RepoStructureManager {
95
95
  * Check if a GitHub account is an organization
96
96
  */
97
97
  private isGitHubOrganization;
98
+ /**
99
+ * Check if a repository exists on GitHub
100
+ */
101
+ private repositoryExistsOnGitHub;
102
+ /**
103
+ * Clone or initialize a repository
104
+ * If the repo exists on GitHub, clone it; otherwise, init + add remote
105
+ */
106
+ private cloneOrInitRepository;
98
107
  /**
99
108
  * Initialize local git repositories
100
109
  */
@@ -1 +1 @@
1
- {"version":3,"file":"repo-structure-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuBH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAoB;gBAE5B,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAMrD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAsDrD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;YACW,WAAW;IAsBzB;;OAEG;YACW,mBAAmB;IAoIjC;;;;;;;;OAQG;YACW,kBAAkB;IAsdhC;;OAEG;YACW,cAAc;IAQ5B;;OAEG;YACW,iBAAiB;IA4E/B;;OAEG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiF1E;;OAEG;YACW,eAAe;IA8C7B;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFtE;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;OAKG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC3E"}
1
+ {"version":3,"file":"repo-structure-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAyBH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAoB;gBAE5B,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAMrD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAsDrD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;YACW,WAAW;IAsBzB;;OAEG;YACW,mBAAmB;IAoIjC;;;;;;;;OAQG;YACW,kBAAkB;IAkiBhC;;OAEG;YACW,cAAc;IAQ5B;;OAEG;YACW,iBAAiB;IAgF/B;;OAEG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiF1E;;OAEG;YACW,eAAe;IA8C7B;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;YACW,wBAAwB;IAmBtC;;;OAGG;YACW,qBAAqB;IAiEnC;;OAEG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEtE;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;OAKG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC3E"}