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.
- package/CLAUDE.md +42 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +80 -41
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
- package/dist/src/config/types.d.ts +24 -24
- package/dist/src/core/config/types.d.ts +25 -0
- package/dist/src/core/config/types.d.ts.map +1 -1
- package/dist/src/core/config/types.js +6 -0
- package/dist/src/core/config/types.js.map +1 -1
- package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts +33 -0
- package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts.map +1 -0
- package/dist/src/core/repo-structure/repo-bulk-discovery.js +275 -0
- package/dist/src/core/repo-structure/repo-bulk-discovery.js.map +1 -0
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts +9 -0
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +185 -50
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/dist/src/init/architecture/types.d.ts +6 -6
- package/dist/src/utils/plugin-validator.d.ts.map +1 -1
- package/dist/src/utils/plugin-validator.js +15 -14
- package/dist/src/utils/plugin-validator.js.map +1 -1
- package/package.json +4 -4
- package/plugins/specweave/.claude-plugin/plugin.json +4 -4
- package/plugins/specweave/agents/pm/AGENT.md +2 -0
- package/plugins/specweave/commands/specweave-do.md +0 -47
- package/plugins/specweave/commands/specweave-increment.md +0 -82
- package/plugins/specweave/commands/specweave-next.md +0 -47
- package/plugins/specweave/hooks/post-task-completion.sh +67 -6
- package/plugins/specweave/hooks/pre-edit-spec.sh +11 -0
- package/plugins/specweave/hooks/pre-task-completion.sh +69 -2
- package/plugins/specweave/hooks/pre-write-spec.sh +11 -0
- package/plugins/specweave/skills/increment-planner/SKILL.md +124 -4
- 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?: "
|
|
276
|
+
architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
|
|
277
277
|
pros?: string[];
|
|
278
278
|
cons?: string[];
|
|
279
279
|
}, {
|
|
280
|
-
architecture?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
848
|
+
architecture?: "microservices" | "serverless" | "traditional-monolith" | "modular-monolith" | "jamstack" | "hybrid";
|
|
849
849
|
pros?: string[];
|
|
850
850
|
cons?: string[];
|
|
851
851
|
}, {
|
|
852
|
-
architecture?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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?: "
|
|
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;
|
|
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;
|
|
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"}
|