specweave 1.0.427 → 1.0.429
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/helpers/init/github-repo-cloning.d.ts +50 -0
- package/dist/src/cli/helpers/init/github-repo-cloning.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/github-repo-cloning.js +92 -1
- package/dist/src/cli/helpers/init/github-repo-cloning.js.map +1 -1
- package/dist/src/core/repo-structure/url-generator.d.ts +19 -0
- package/dist/src/core/repo-structure/url-generator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/url-generator.js +48 -0
- package/dist/src/core/repo-structure/url-generator.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave-github/commands/clone.md +105 -1
|
@@ -31,6 +31,16 @@ export interface GitHubCloningResult {
|
|
|
31
31
|
/** List of repo names being cloned (for 1:1 project mapping) */
|
|
32
32
|
clonedRepos: string[];
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Build clone URL based on user's URL format preference
|
|
36
|
+
*
|
|
37
|
+
* @param owner - Repository owner (org or user)
|
|
38
|
+
* @param repo - Repository name
|
|
39
|
+
* @param pat - Personal Access Token (only used for HTTPS)
|
|
40
|
+
* @param gitUrlFormat - User's preference: 'ssh' or 'https'
|
|
41
|
+
* @returns Clone URL in the requested format
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildGitHubCloneUrl(owner: string, repo: string, pat: string, gitUrlFormat?: 'ssh' | 'https'): string;
|
|
34
44
|
/**
|
|
35
45
|
* Trigger GitHub repository cloning during init
|
|
36
46
|
*
|
|
@@ -48,4 +58,44 @@ export interface GitHubCloningResult {
|
|
|
48
58
|
* @returns Cloning result with job ID and list of repos being cloned (v1.0.9)
|
|
49
59
|
*/
|
|
50
60
|
export declare function triggerGitHubRepoCloning(projectPath: string, githubRepoSelection: GitHubRepoSelection, clonePattern: ClonePatternResult, gitUrlFormat?: 'ssh' | 'https', excludeRepos?: string[]): Promise<GitHubCloningResult>;
|
|
61
|
+
/**
|
|
62
|
+
* Options for cloning a single GitHub repository
|
|
63
|
+
*/
|
|
64
|
+
export interface SingleRepoCloneOptions {
|
|
65
|
+
/** Raw repo identifier (any format: owner/repo, URL, SSH) */
|
|
66
|
+
repoIdentifier: string;
|
|
67
|
+
/** Project root path */
|
|
68
|
+
projectPath: string;
|
|
69
|
+
/** GitHub PAT (optional for SSH) */
|
|
70
|
+
pat?: string;
|
|
71
|
+
/** Dry-run mode — validate only, don't clone */
|
|
72
|
+
dryRun?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Result of a single repo clone operation
|
|
76
|
+
*/
|
|
77
|
+
export interface SingleRepoCloneResult {
|
|
78
|
+
/** Whether the clone job was launched */
|
|
79
|
+
cloned: boolean;
|
|
80
|
+
/** Job ID if clone was launched */
|
|
81
|
+
jobId?: string;
|
|
82
|
+
/** Whether repo was already cloned locally */
|
|
83
|
+
alreadyCloned?: boolean;
|
|
84
|
+
/** Parsed owner */
|
|
85
|
+
owner?: string;
|
|
86
|
+
/** Parsed repo name */
|
|
87
|
+
repo?: string;
|
|
88
|
+
/** Error message if failed */
|
|
89
|
+
error?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Clone a single GitHub repository into the umbrella workspace.
|
|
93
|
+
*
|
|
94
|
+
* Validates the repo exists, checks for local duplicates, then
|
|
95
|
+
* launches a background clone job via existing infrastructure.
|
|
96
|
+
*
|
|
97
|
+
* @param options - Clone options including repo identifier and project path
|
|
98
|
+
* @returns Result with clone status, job ID, or error
|
|
99
|
+
*/
|
|
100
|
+
export declare function cloneSingleGitHubRepo(options: SingleRepoCloneOptions): Promise<SingleRepoCloneResult>;
|
|
51
101
|
//# sourceMappingURL=github-repo-cloning.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-repo-cloning.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/github-repo-cloning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"github-repo-cloning.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/github-repo-cloning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKhG;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb;AAuQD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,KAAK,GAAG,OAAiB,GACtC,MAAM,CAKR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,kBAAkB,EAChC,YAAY,GAAE,KAAK,GAAG,OAAiB,EACvC,YAAY,GAAE,MAAM,EAAO,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAsH9B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAyFhC"}
|
|
@@ -13,8 +13,11 @@
|
|
|
13
13
|
* @module cli/helpers/init/github-repo-cloning
|
|
14
14
|
*/
|
|
15
15
|
import chalk from 'chalk';
|
|
16
|
+
import * as fs from 'fs';
|
|
17
|
+
import * as path from 'path';
|
|
16
18
|
import { filterRepositoriesByPattern } from '../selection-strategy.js';
|
|
17
19
|
import { launchCloneJob } from '../../../core/background/job-launcher.js';
|
|
20
|
+
import { parseRepoIdentifier } from '../../../core/repo-structure/url-generator.js';
|
|
18
21
|
import { REPO_FETCH_LIMITS } from './types.js';
|
|
19
22
|
/**
|
|
20
23
|
* Parse rate limit headers from GitHub API response
|
|
@@ -234,7 +237,7 @@ function buildGitHubSshCloneUrl(owner, repo) {
|
|
|
234
237
|
* @param gitUrlFormat - User's preference: 'ssh' or 'https'
|
|
235
238
|
* @returns Clone URL in the requested format
|
|
236
239
|
*/
|
|
237
|
-
function buildGitHubCloneUrl(owner, repo, pat, gitUrlFormat = 'https') {
|
|
240
|
+
export function buildGitHubCloneUrl(owner, repo, pat, gitUrlFormat = 'https') {
|
|
238
241
|
if (gitUrlFormat === 'ssh') {
|
|
239
242
|
return buildGitHubSshCloneUrl(owner, repo);
|
|
240
243
|
}
|
|
@@ -356,4 +359,92 @@ export async function triggerGitHubRepoCloning(projectPath, githubRepoSelection,
|
|
|
356
359
|
clonedRepos: filteredRepos.map(r => r.name)
|
|
357
360
|
};
|
|
358
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Clone a single GitHub repository into the umbrella workspace.
|
|
364
|
+
*
|
|
365
|
+
* Validates the repo exists, checks for local duplicates, then
|
|
366
|
+
* launches a background clone job via existing infrastructure.
|
|
367
|
+
*
|
|
368
|
+
* @param options - Clone options including repo identifier and project path
|
|
369
|
+
* @returns Result with clone status, job ID, or error
|
|
370
|
+
*/
|
|
371
|
+
export async function cloneSingleGitHubRepo(options) {
|
|
372
|
+
const { repoIdentifier, projectPath, pat, dryRun } = options;
|
|
373
|
+
// Step 1: Parse input
|
|
374
|
+
const parsed = parseRepoIdentifier(repoIdentifier);
|
|
375
|
+
if (!parsed) {
|
|
376
|
+
return {
|
|
377
|
+
cloned: false,
|
|
378
|
+
error: 'Invalid repo format. Supported formats: owner/repo, github.com/owner/repo, https://github.com/owner/repo, git@github.com:owner/repo.git'
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
const { owner, repo, inputType } = parsed;
|
|
382
|
+
const urlFormat = inputType === 'ssh' ? 'ssh' : 'https';
|
|
383
|
+
// Step 2: Resolve token — required for HTTPS/shorthand, optional for SSH
|
|
384
|
+
if (!pat && inputType !== 'ssh') {
|
|
385
|
+
return {
|
|
386
|
+
cloned: false,
|
|
387
|
+
owner,
|
|
388
|
+
repo,
|
|
389
|
+
error: 'No GitHub token found. Set GH_TOKEN or GITHUB_TOKEN environment variable, or use SSH format (git@github.com:owner/repo.git).'
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
// Step 3: Validate repo exists via GitHub API (if token available)
|
|
393
|
+
if (pat) {
|
|
394
|
+
try {
|
|
395
|
+
const response = await fetch(`https://api.github.com/repos/${owner}/${repo}`, {
|
|
396
|
+
headers: {
|
|
397
|
+
'Authorization': `Bearer ${pat}`,
|
|
398
|
+
'Accept': 'application/vnd.github+json',
|
|
399
|
+
'X-GitHub-Api-Version': '2022-11-28'
|
|
400
|
+
}
|
|
401
|
+
});
|
|
402
|
+
if (!response.ok) {
|
|
403
|
+
return {
|
|
404
|
+
cloned: false,
|
|
405
|
+
owner,
|
|
406
|
+
repo,
|
|
407
|
+
error: `Repository ${owner}/${repo} not found or you don't have access. Check the repo name and ensure your token has 'repo' scope.`
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
catch (err) {
|
|
412
|
+
console.log(chalk.yellow(` ⚠️ Could not validate repo (network error), proceeding with clone...`));
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
// Step 4: Check local existence
|
|
416
|
+
const localGitPath = path.join(projectPath, 'repositories', owner, repo, '.git');
|
|
417
|
+
if (fs.existsSync(localGitPath)) {
|
|
418
|
+
console.log(chalk.green(` ✓ Repository ${owner}/${repo} already cloned at repositories/${owner}/${repo}`));
|
|
419
|
+
return { cloned: false, alreadyCloned: true, owner, repo };
|
|
420
|
+
}
|
|
421
|
+
// Step 5: Dry-run — validate only, don't clone
|
|
422
|
+
if (dryRun) {
|
|
423
|
+
console.log(chalk.cyan(` 🔎 DRY RUN: Would clone ${owner}/${repo} to repositories/${owner}/${repo}`));
|
|
424
|
+
return { cloned: false, owner, repo };
|
|
425
|
+
}
|
|
426
|
+
// Step 6: Build clone URL and launch job
|
|
427
|
+
const cloneUrl = buildGitHubCloneUrl(owner, repo, pat || '', urlFormat);
|
|
428
|
+
console.log(chalk.blue(`\n🔄 Cloning ${owner}/${repo}...\n`));
|
|
429
|
+
const result = await launchCloneJob({
|
|
430
|
+
projectPath,
|
|
431
|
+
repositories: [{
|
|
432
|
+
owner,
|
|
433
|
+
name: repo,
|
|
434
|
+
path: `repositories/${owner}/${repo}`,
|
|
435
|
+
cloneUrl
|
|
436
|
+
}]
|
|
437
|
+
});
|
|
438
|
+
if (!result.skippedPreFlight) {
|
|
439
|
+
console.log(chalk.green(` ✓ Clone job started (Job ID: ${result.job.id})`));
|
|
440
|
+
console.log(chalk.gray(` Target: repositories/${owner}/${repo}`));
|
|
441
|
+
console.log(chalk.cyan(` Check progress: /sw:jobs`));
|
|
442
|
+
}
|
|
443
|
+
return {
|
|
444
|
+
cloned: true,
|
|
445
|
+
jobId: result.job.id,
|
|
446
|
+
owner,
|
|
447
|
+
repo
|
|
448
|
+
};
|
|
449
|
+
}
|
|
359
450
|
//# sourceMappingURL=github-repo-cloning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-repo-cloning.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/github-repo-cloning.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github-repo-cloning.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/github-repo-cloning.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,25 @@ export declare function parseGitRemoteUrl(url: string): {
|
|
|
61
61
|
urlType: UrlType;
|
|
62
62
|
host: string;
|
|
63
63
|
} | null;
|
|
64
|
+
/**
|
|
65
|
+
* Parse a repository identifier from various input formats.
|
|
66
|
+
*
|
|
67
|
+
* Supports:
|
|
68
|
+
* - `owner/repo` shorthand (assumes github.com)
|
|
69
|
+
* - `github.com/owner/repo` (bare host, no protocol)
|
|
70
|
+
* - `https://github.com/owner/repo[.git][/tree/main/...]`
|
|
71
|
+
* - `git@github.com:owner/repo[.git]`
|
|
72
|
+
*
|
|
73
|
+
* Delegates to `parseGitRemoteUrl()` for standard git URL formats.
|
|
74
|
+
*
|
|
75
|
+
* @param input - Repository identifier in any supported format
|
|
76
|
+
* @returns Parsed owner/repo with input type, or null if unparseable
|
|
77
|
+
*/
|
|
78
|
+
export declare function parseRepoIdentifier(input: string): {
|
|
79
|
+
owner: string;
|
|
80
|
+
repo: string;
|
|
81
|
+
inputType: 'ssh' | 'https' | 'shorthand';
|
|
82
|
+
} | null;
|
|
64
83
|
/**
|
|
65
84
|
* Detect Git platform from hostname
|
|
66
85
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-generator.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/url-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;AAEtC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,WAAoC,GAC7C,MAAM,CAQR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,CAwBP;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAM9G"}
|
|
1
|
+
{"version":3,"file":"url-generator.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/url-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;AAEtC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,WAAoC,GAC7C,MAAM,CAQR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,CAwBP;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,WAAW,CAAC;CAC1C,GAAG,IAAI,CA2CP;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAM9G"}
|
|
@@ -81,6 +81,54 @@ export function parseGitRemoteUrl(url) {
|
|
|
81
81
|
}
|
|
82
82
|
return null;
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Parse a repository identifier from various input formats.
|
|
86
|
+
*
|
|
87
|
+
* Supports:
|
|
88
|
+
* - `owner/repo` shorthand (assumes github.com)
|
|
89
|
+
* - `github.com/owner/repo` (bare host, no protocol)
|
|
90
|
+
* - `https://github.com/owner/repo[.git][/tree/main/...]`
|
|
91
|
+
* - `git@github.com:owner/repo[.git]`
|
|
92
|
+
*
|
|
93
|
+
* Delegates to `parseGitRemoteUrl()` for standard git URL formats.
|
|
94
|
+
*
|
|
95
|
+
* @param input - Repository identifier in any supported format
|
|
96
|
+
* @returns Parsed owner/repo with input type, or null if unparseable
|
|
97
|
+
*/
|
|
98
|
+
export function parseRepoIdentifier(input) {
|
|
99
|
+
const trimmed = input.trim();
|
|
100
|
+
if (!trimmed)
|
|
101
|
+
return null;
|
|
102
|
+
// 1. Try HTTPS URLs with extra path segments (e.g. /tree/main)
|
|
103
|
+
// Strip to https://host/owner/repo before delegating
|
|
104
|
+
const httpsExtraPath = trimmed.match(/^(https?:\/\/github\.com\/[\w.-]+\/[\w.-]+?)(?:\.git)?(?:\/.*)?$/);
|
|
105
|
+
if (httpsExtraPath) {
|
|
106
|
+
const gitResult = parseGitRemoteUrl(httpsExtraPath[1]);
|
|
107
|
+
if (gitResult) {
|
|
108
|
+
return { owner: gitResult.owner, repo: gitResult.repo, inputType: 'https' };
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// 2. Try standard git URL formats via existing parser
|
|
112
|
+
const gitResult = parseGitRemoteUrl(trimmed);
|
|
113
|
+
if (gitResult && gitResult.host.includes('github')) {
|
|
114
|
+
return {
|
|
115
|
+
owner: gitResult.owner,
|
|
116
|
+
repo: gitResult.repo.replace(/\.git$/, ''),
|
|
117
|
+
inputType: gitResult.urlType
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// 3. github.com/owner/repo (bare host, no protocol)
|
|
121
|
+
const bareHostMatch = trimmed.match(/^github\.com\/([\w.-]+)\/([\w.-]+?)(?:\.git)?\/?(?:\/.*)?$/);
|
|
122
|
+
if (bareHostMatch) {
|
|
123
|
+
return { owner: bareHostMatch[1], repo: bareHostMatch[2], inputType: 'https' };
|
|
124
|
+
}
|
|
125
|
+
// 4. owner/repo shorthand (exactly two segments)
|
|
126
|
+
const shorthandMatch = trimmed.match(/^([\w.-]+)\/([\w.-]+?)(?:\.git)?\/?$/);
|
|
127
|
+
if (shorthandMatch) {
|
|
128
|
+
return { owner: shorthandMatch[1], repo: shorthandMatch[2], inputType: 'shorthand' };
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
84
132
|
/**
|
|
85
133
|
* Detect Git platform from hostname
|
|
86
134
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-generator.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/url-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,IAAY,EACZ,OAAgB,EAChB,WAAwB,EAAE,IAAI,EAAE,YAAY,EAAE;IAE9C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC;IAE1C,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,QAAQ,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAM3C,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACpF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACvF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YACpB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACnB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,cAAc,CAAC;IAC/F,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"url-generator.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/url-generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.429",
|
|
4
4
|
"description": "Spec-driven development framework for AI coding agents. Works with Claude Code, Codex, Antigravity, Cursor, Copilot & more. 100+ skills, 49 CLI commands, verified skill certification, autonomous execution, and living documentation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Clone GitHub repositories to local workspace.
|
|
2
|
+
description: Clone GitHub repositories to local workspace. Supports single repo (--repo owner/repo) or org-level bulk cloning (--org). Use after init to add repos. Already-cloned repos are automatically skipped.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Clone GitHub Repositories Command
|
|
@@ -9,6 +9,7 @@ You are a GitHub repository cloning expert. Help users clone repositories from G
|
|
|
9
9
|
## Purpose
|
|
10
10
|
|
|
11
11
|
This command clones GitHub repositories **after** initial SpecWeave setup (`specweave init`). Use when:
|
|
12
|
+
- **Adding a single repo** with `--repo owner/repo` (any URL format supported)
|
|
12
13
|
- User skipped cloning during init
|
|
13
14
|
- **Resuming interrupted cloning** (already-cloned repos are skipped!)
|
|
14
15
|
- Adding repositories from organization
|
|
@@ -26,6 +27,21 @@ This command clones GitHub repositories **after** initial SpecWeave setup (`spec
|
|
|
26
27
|
## Command Syntax
|
|
27
28
|
|
|
28
29
|
```bash
|
|
30
|
+
# Clone a single repo (owner/repo shorthand)
|
|
31
|
+
/sw-github:clone --repo "owner/repo"
|
|
32
|
+
|
|
33
|
+
# Clone a single repo (full URL)
|
|
34
|
+
/sw-github:clone --repo "https://github.com/owner/repo"
|
|
35
|
+
|
|
36
|
+
# Clone a single repo (SSH URL)
|
|
37
|
+
/sw-github:clone --repo "git@github.com:owner/repo.git"
|
|
38
|
+
|
|
39
|
+
# Clone a single repo (bare host)
|
|
40
|
+
/sw-github:clone --repo "github.com/owner/repo"
|
|
41
|
+
|
|
42
|
+
# Single repo dry-run (validate only)
|
|
43
|
+
/sw-github:clone --repo "owner/repo" --dry-run
|
|
44
|
+
|
|
29
45
|
# Interactive mode (prompts for everything)
|
|
30
46
|
/sw-github:clone
|
|
31
47
|
|
|
@@ -45,10 +61,63 @@ This command clones GitHub repositories **after** initial SpecWeave setup (`spec
|
|
|
45
61
|
/sw-github:clone
|
|
46
62
|
```
|
|
47
63
|
|
|
64
|
+
**Flag precedence**: When `--repo` is provided, `--org` and `--pattern` are ignored.
|
|
65
|
+
|
|
48
66
|
## Your Task
|
|
49
67
|
|
|
50
68
|
When the user runs this command:
|
|
51
69
|
|
|
70
|
+
### Step 0: Single Repo Mode (--repo)
|
|
71
|
+
|
|
72
|
+
If the user provided `--repo`, bypass org-level cloning entirely:
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
import { cloneSingleGitHubRepo } from '../../../src/cli/helpers/init/github-repo-cloning.js';
|
|
76
|
+
import { readEnvFile, parseEnvFile } from '../../../src/utils/env-file.js';
|
|
77
|
+
|
|
78
|
+
if (args.repo) {
|
|
79
|
+
// Resolve token
|
|
80
|
+
let pat = process.env.GH_TOKEN || process.env.GITHUB_TOKEN;
|
|
81
|
+
if (!pat) {
|
|
82
|
+
const envContent = readEnvFile(projectPath);
|
|
83
|
+
if (envContent) {
|
|
84
|
+
const parsed = parseEnvFile(envContent);
|
|
85
|
+
pat = parsed.GH_TOKEN || parsed.GITHUB_TOKEN;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const result = await cloneSingleGitHubRepo({
|
|
90
|
+
repoIdentifier: args.repo,
|
|
91
|
+
projectPath,
|
|
92
|
+
pat,
|
|
93
|
+
dryRun: args.dryRun,
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
if (result.error) {
|
|
97
|
+
console.log(chalk.red(`❌ ${result.error}`));
|
|
98
|
+
} else if (result.alreadyCloned) {
|
|
99
|
+
console.log(chalk.green(`✅ ${result.owner}/${result.repo} already cloned.`));
|
|
100
|
+
} else if (result.cloned) {
|
|
101
|
+
console.log(chalk.green(`\n✅ Cloning ${result.owner}/${result.repo} started!`));
|
|
102
|
+
console.log(chalk.cyan(` /sw:jobs → Check progress`));
|
|
103
|
+
} else if (args.dryRun) {
|
|
104
|
+
console.log(chalk.cyan(`🔎 DRY RUN: Would clone ${result.owner}/${result.repo}`));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return; // Skip all remaining steps
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Supported input formats for `--repo`:**
|
|
112
|
+
- `owner/repo` — shorthand (assumes github.com, uses HTTPS with PAT)
|
|
113
|
+
- `github.com/owner/repo` — bare host (uses HTTPS with PAT)
|
|
114
|
+
- `https://github.com/owner/repo` — full HTTPS URL (uses HTTPS with PAT)
|
|
115
|
+
- `git@github.com:owner/repo.git` — SSH URL (uses SSH key, no PAT needed)
|
|
116
|
+
|
|
117
|
+
**Token requirement:** HTTPS/shorthand formats require `GH_TOKEN` or `GITHUB_TOKEN`. SSH format uses SSH key authentication and does not require a token.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
52
121
|
### Step 1: Check Prerequisites
|
|
53
122
|
|
|
54
123
|
```typescript
|
|
@@ -462,6 +531,41 @@ Clone 425 repositories to current directory? (Y/n)
|
|
|
462
531
|
Remove --dry-run to actually clone.
|
|
463
532
|
```
|
|
464
533
|
|
|
534
|
+
### Example 5: Clone Single Repo
|
|
535
|
+
**User**: `/sw-github:clone --repo "anton-abyzov/vskill"`
|
|
536
|
+
|
|
537
|
+
**Output**:
|
|
538
|
+
```
|
|
539
|
+
📦 GitHub Repository Cloning
|
|
540
|
+
|
|
541
|
+
✓ GitHub token found
|
|
542
|
+
Validating repository...
|
|
543
|
+
✓ Repository anton-abyzov/vskill exists
|
|
544
|
+
|
|
545
|
+
🔄 Cloning anton-abyzov/vskill...
|
|
546
|
+
|
|
547
|
+
✓ Clone job started (Job ID: abc12345)
|
|
548
|
+
Target: repositories/anton-abyzov/vskill
|
|
549
|
+
Check progress: /sw:jobs
|
|
550
|
+
|
|
551
|
+
✅ Cloning anton-abyzov/vskill started!
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
### Example 6: Single Repo (Already Cloned)
|
|
555
|
+
**User**: `/sw-github:clone --repo "anton-abyzov/vskill"`
|
|
556
|
+
|
|
557
|
+
**Output**:
|
|
558
|
+
```
|
|
559
|
+
✅ anton-abyzov/vskill already cloned.
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
## Post-Init Tip
|
|
563
|
+
|
|
564
|
+
After `specweave init` completes, you can add individual repos at any time:
|
|
565
|
+
```bash
|
|
566
|
+
/sw-github:clone --repo "owner/repo"
|
|
567
|
+
```
|
|
568
|
+
|
|
465
569
|
## Important Notes
|
|
466
570
|
|
|
467
571
|
### Resume = Just Re-run!
|