specweave 1.0.538 → 1.0.540
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/README.md +98 -370
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +53 -31
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/update.d.ts.map +1 -1
- package/dist/src/cli/commands/update.js +84 -4
- package/dist/src/cli/commands/update.js.map +1 -1
- package/dist/src/cli/helpers/init/index.d.ts +4 -2
- package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/index.js +5 -1
- package/dist/src/cli/helpers/init/index.js.map +1 -1
- package/dist/src/cli/helpers/init/repo-connect.d.ts +22 -0
- package/dist/src/cli/helpers/init/repo-connect.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/repo-connect.js +80 -1
- package/dist/src/cli/helpers/init/repo-connect.js.map +1 -1
- package/dist/src/cli/helpers/init/root-repo-detection.d.ts +34 -0
- package/dist/src/cli/helpers/init/root-repo-detection.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/root-repo-detection.js +163 -0
- package/dist/src/cli/helpers/init/root-repo-detection.js.map +1 -0
- package/dist/src/cli/helpers/init/skill-creator-installer.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/skill-creator-installer.js +9 -1
- package/dist/src/cli/helpers/init/skill-creator-installer.js.map +1 -1
- package/dist/src/cli/helpers/init/workspace-setup.d.ts +84 -0
- package/dist/src/cli/helpers/init/workspace-setup.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/workspace-setup.js +420 -0
- package/dist/src/cli/helpers/init/workspace-setup.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.js +23 -0
- package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
- package/dist/src/core/increment/completion-validator.js +2 -2
- package/dist/src/core/increment/completion-validator.js.map +1 -1
- package/dist/src/utils/plugin-copier.d.ts.map +1 -1
- package/dist/src/utils/plugin-copier.js +4 -1
- package/dist/src/utils/plugin-copier.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-connect.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repo-connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIrE,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAUD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAwB7D;AA+DD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAWjG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQvF;AAED,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"repo-connect.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repo-connect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIrE,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAUD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAwB7D;AAMD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAQD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAkD/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAatE;AA+DD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAWjG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQvF;AAED,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAgE7B;AAMD,yGAAyG;AACzG,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAOD;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5E,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAMD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EAAE,GAClB,iBAAiB,CAkCnB"}
|
|
@@ -48,6 +48,82 @@ export function parseRepoInput(rawInput) {
|
|
|
48
48
|
}
|
|
49
49
|
return repos;
|
|
50
50
|
}
|
|
51
|
+
/** Looks like a valid org/user name but has no slash */
|
|
52
|
+
const ORG_ONLY_RE = /^[a-zA-Z0-9._-]+$/;
|
|
53
|
+
/** Characters allowed in org/repo tokens and URLs */
|
|
54
|
+
const VALID_CHARS_RE = /^[a-zA-Z0-9._\-/:@*]+$/;
|
|
55
|
+
/**
|
|
56
|
+
* Validate + parse with error reporting.
|
|
57
|
+
*
|
|
58
|
+
* Returns both successfully parsed repos AND typed errors for invalid tokens.
|
|
59
|
+
* Existing `parseRepoInput()` is unchanged for backward compatibility.
|
|
60
|
+
*/
|
|
61
|
+
export function validateAndParseRepoInput(rawInput) {
|
|
62
|
+
if (!rawInput || !rawInput.trim()) {
|
|
63
|
+
return {
|
|
64
|
+
repos: [],
|
|
65
|
+
errors: [{ token: '', type: 'empty', message: 'Input cannot be empty' }],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const tokens = rawInput
|
|
69
|
+
.split(/[\s,]+/)
|
|
70
|
+
.map(t => t.trim())
|
|
71
|
+
.filter(Boolean);
|
|
72
|
+
const repos = [];
|
|
73
|
+
const errors = [];
|
|
74
|
+
for (const token of tokens) {
|
|
75
|
+
let match;
|
|
76
|
+
if ((match = token.match(HTTPS_RE))) {
|
|
77
|
+
repos.push({ org: match[1], name: match[2], cloneUrl: `https://github.com/${match[1]}/${match[2]}.git` });
|
|
78
|
+
}
|
|
79
|
+
else if ((match = token.match(SSH_RE))) {
|
|
80
|
+
repos.push({ org: match[1], name: match[2], cloneUrl: `https://github.com/${match[1]}/${match[2]}.git` });
|
|
81
|
+
}
|
|
82
|
+
else if ((match = token.match(SHORTHAND_RE))) {
|
|
83
|
+
repos.push({ org: match[1], name: match[2], cloneUrl: `https://github.com/${match[1]}/${match[2]}.git` });
|
|
84
|
+
}
|
|
85
|
+
else if (!token.includes('/') && ORG_ONLY_RE.test(token)) {
|
|
86
|
+
// Looks like an org name without repo
|
|
87
|
+
errors.push({
|
|
88
|
+
token,
|
|
89
|
+
type: 'org-only',
|
|
90
|
+
message: `'${token}' looks like an org name.`,
|
|
91
|
+
suggestion: `Use '${token}/repo-name' format, or '${token}/*' to clone all repos from this org`,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else if (!VALID_CHARS_RE.test(token)) {
|
|
95
|
+
errors.push({
|
|
96
|
+
token,
|
|
97
|
+
type: 'invalid-chars',
|
|
98
|
+
message: `'${token}' contains invalid characters.`,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// Has a slash but doesn't match any known pattern
|
|
103
|
+
errors.push({
|
|
104
|
+
token,
|
|
105
|
+
type: 'malformed-url',
|
|
106
|
+
message: `Could not parse '${token}' — expected formats: org/repo, https://github.com/org/repo, or git@github.com:org/repo.git`,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { repos, errors };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Format validation errors for console display.
|
|
114
|
+
*/
|
|
115
|
+
export function formatRepoInputErrors(errors) {
|
|
116
|
+
if (errors.length === 0)
|
|
117
|
+
return '';
|
|
118
|
+
const lines = [];
|
|
119
|
+
for (const err of errors) {
|
|
120
|
+
lines.push(err.message);
|
|
121
|
+
if (err.suggestion) {
|
|
122
|
+
lines.push(` ${err.suggestion}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return lines.join('\n');
|
|
126
|
+
}
|
|
51
127
|
// ---------------------------------------------------------------------------
|
|
52
128
|
// Prompting
|
|
53
129
|
// ---------------------------------------------------------------------------
|
|
@@ -159,7 +235,10 @@ export async function promptRepoUrlsLoop(projectPath, language) {
|
|
|
159
235
|
}
|
|
160
236
|
}
|
|
161
237
|
if (individualTokens.length > 0) {
|
|
162
|
-
const parsed =
|
|
238
|
+
const { repos: parsed, errors } = validateAndParseRepoInput(individualTokens.join(' '));
|
|
239
|
+
if (errors.length > 0) {
|
|
240
|
+
console.log(chalk.yellow(' ' + formatRepoInputErrors(errors)));
|
|
241
|
+
}
|
|
163
242
|
if (parsed.length > 0) {
|
|
164
243
|
const jobRepos = mapParsedReposToCloneOptions(parsed);
|
|
165
244
|
if (parsed.length <= FOREGROUND_CLONE_THRESHOLD) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-connect.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repo-connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repo-connect.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repo-connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Root repo detection and connection prompt for init flow
|
|
3
|
+
*
|
|
4
|
+
* Auto-detects the workspace root's GitHub repository from:
|
|
5
|
+
* 1. Git remote URL (via detectProvider)
|
|
6
|
+
* 2. package.json repository field
|
|
7
|
+
* 3. package.json @scope/name
|
|
8
|
+
*
|
|
9
|
+
* Part of 0640-init-ux-nonempty-workspace
|
|
10
|
+
*/
|
|
11
|
+
import type { SupportedLanguage } from '../../../core/i18n/types.js';
|
|
12
|
+
export interface RootRepoInfo {
|
|
13
|
+
owner: string;
|
|
14
|
+
repo: string;
|
|
15
|
+
source: 'git-remote' | 'package-json' | 'user-input';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Auto-detect root repo from git remote or package.json.
|
|
19
|
+
*
|
|
20
|
+
* Cascade:
|
|
21
|
+
* 1. detectProvider() → GitHub owner/repo
|
|
22
|
+
* 2. package.json → repository string or object URL
|
|
23
|
+
* 3. package.json → @scope/name
|
|
24
|
+
* 4. null
|
|
25
|
+
*/
|
|
26
|
+
export declare function detectRootRepo(targetDir: string): RootRepoInfo | null;
|
|
27
|
+
/**
|
|
28
|
+
* Interactive prompt to connect workspace root to a GitHub repo.
|
|
29
|
+
*
|
|
30
|
+
* - CI mode: auto-detect only, no prompts
|
|
31
|
+
* - Interactive: auto-detect → confirm → manual fallback
|
|
32
|
+
*/
|
|
33
|
+
export declare function promptRootRepoConnection(targetDir: string, language: SupportedLanguage, isCI: boolean): Promise<RootRepoInfo | null>;
|
|
34
|
+
//# sourceMappingURL=root-repo-detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-repo-detection.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/root-repo-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;CACtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAyCrE;AA4DD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiD9B"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Root repo detection and connection prompt for init flow
|
|
3
|
+
*
|
|
4
|
+
* Auto-detects the workspace root's GitHub repository from:
|
|
5
|
+
* 1. Git remote URL (via detectProvider)
|
|
6
|
+
* 2. package.json repository field
|
|
7
|
+
* 3. package.json @scope/name
|
|
8
|
+
*
|
|
9
|
+
* Part of 0640-init-ux-nonempty-workspace
|
|
10
|
+
*/
|
|
11
|
+
import chalk from 'chalk';
|
|
12
|
+
import { confirm, input } from '@inquirer/prompts';
|
|
13
|
+
import { detectProvider } from './provider-detection.js';
|
|
14
|
+
import * as fs from '../../../utils/fs-native.js';
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
// Reuse repo-connect regex for parsing package.json URLs
|
|
17
|
+
const HTTPS_RE = /^https?:\/\/github\.com\/([^/]+)\/([^/.]+?)(?:\.git)?$/;
|
|
18
|
+
const SSH_RE = /^git@github\.com:([^/]+)\/([^/.]+?)(?:\.git)?$/;
|
|
19
|
+
/**
|
|
20
|
+
* Auto-detect root repo from git remote or package.json.
|
|
21
|
+
*
|
|
22
|
+
* Cascade:
|
|
23
|
+
* 1. detectProvider() → GitHub owner/repo
|
|
24
|
+
* 2. package.json → repository string or object URL
|
|
25
|
+
* 3. package.json → @scope/name
|
|
26
|
+
* 4. null
|
|
27
|
+
*/
|
|
28
|
+
export function detectRootRepo(targetDir) {
|
|
29
|
+
// 1. Git remote via detectProvider
|
|
30
|
+
const provider = detectProvider(targetDir);
|
|
31
|
+
if (provider?.provider === 'github' && provider.owner && provider.repo) {
|
|
32
|
+
return { owner: provider.owner, repo: provider.repo, source: 'git-remote' };
|
|
33
|
+
}
|
|
34
|
+
// 2-3. package.json fallbacks
|
|
35
|
+
const pkgPath = path.join(targetDir, 'package.json');
|
|
36
|
+
if (!fs.existsSync(pkgPath)) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
const raw = fs.readFileSync(pkgPath, 'utf-8');
|
|
41
|
+
const pkg = JSON.parse(raw);
|
|
42
|
+
// 2a. repository as string
|
|
43
|
+
if (typeof pkg.repository === 'string') {
|
|
44
|
+
const parsed = parseGitHubUrl(pkg.repository);
|
|
45
|
+
if (parsed)
|
|
46
|
+
return { ...parsed, source: 'package-json' };
|
|
47
|
+
}
|
|
48
|
+
// 2b. repository as object with url
|
|
49
|
+
if (pkg.repository?.url && typeof pkg.repository.url === 'string') {
|
|
50
|
+
const parsed = parseGitHubUrl(pkg.repository.url);
|
|
51
|
+
if (parsed)
|
|
52
|
+
return { ...parsed, source: 'package-json' };
|
|
53
|
+
}
|
|
54
|
+
// 3. @scope/name
|
|
55
|
+
if (typeof pkg.name === 'string') {
|
|
56
|
+
const scopeMatch = pkg.name.match(/^@([^/]+)\/(.+)$/);
|
|
57
|
+
if (scopeMatch) {
|
|
58
|
+
return { owner: scopeMatch[1], repo: scopeMatch[2], source: 'package-json' };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Malformed package.json — skip
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Parse a GitHub URL (HTTPS or SSH) into owner/repo.
|
|
69
|
+
*/
|
|
70
|
+
function parseGitHubUrl(url) {
|
|
71
|
+
let match = url.match(HTTPS_RE);
|
|
72
|
+
if (match)
|
|
73
|
+
return { owner: match[1], repo: match[2] };
|
|
74
|
+
match = url.match(SSH_RE);
|
|
75
|
+
if (match)
|
|
76
|
+
return { owner: match[1], repo: match[2] };
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
// Localized strings
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
function getStrings(language) {
|
|
83
|
+
const strings = {
|
|
84
|
+
en: {
|
|
85
|
+
connectQuestion: 'Connect this workspace root to a GitHub repo?',
|
|
86
|
+
explanation: 'This umbrella folder itself can be tracked as a GitHub repository for workspace-level config and specs.',
|
|
87
|
+
detected: 'Detected',
|
|
88
|
+
useDetected: 'Use this as workspace root repo?',
|
|
89
|
+
connectManually: 'Connect to a different GitHub repo?',
|
|
90
|
+
ownerPrompt: 'GitHub owner (org or user):',
|
|
91
|
+
repoPrompt: 'Repository name:',
|
|
92
|
+
},
|
|
93
|
+
ru: {
|
|
94
|
+
connectQuestion: 'Подключить корень рабочего пространства к GitHub?',
|
|
95
|
+
explanation: 'Эта зонтичная папка может отслеживаться как GitHub-репозиторий для конфигурации и спецификаций.',
|
|
96
|
+
detected: 'Обнаружен',
|
|
97
|
+
useDetected: 'Использовать как корневой репозиторий?',
|
|
98
|
+
connectManually: 'Подключить к другому GitHub-репозиторию?',
|
|
99
|
+
ownerPrompt: 'Владелец GitHub (организация или пользователь):',
|
|
100
|
+
repoPrompt: 'Имя репозитория:',
|
|
101
|
+
},
|
|
102
|
+
es: {
|
|
103
|
+
connectQuestion: 'Conectar la raiz del workspace a un repo de GitHub?',
|
|
104
|
+
explanation: 'Esta carpeta puede rastrearse como un repositorio de GitHub para configuracion y especificaciones.',
|
|
105
|
+
detected: 'Detectado',
|
|
106
|
+
useDetected: 'Usar como repo raiz del workspace?',
|
|
107
|
+
connectManually: 'Conectar a otro repo de GitHub?',
|
|
108
|
+
ownerPrompt: 'Propietario de GitHub (org o usuario):',
|
|
109
|
+
repoPrompt: 'Nombre del repositorio:',
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
return strings[language] || strings.en;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Interactive prompt to connect workspace root to a GitHub repo.
|
|
116
|
+
*
|
|
117
|
+
* - CI mode: auto-detect only, no prompts
|
|
118
|
+
* - Interactive: auto-detect → confirm → manual fallback
|
|
119
|
+
*/
|
|
120
|
+
export async function promptRootRepoConnection(targetDir, language, isCI) {
|
|
121
|
+
const detected = detectRootRepo(targetDir);
|
|
122
|
+
// CI/quick mode: return auto-detect silently
|
|
123
|
+
if (isCI) {
|
|
124
|
+
return detected;
|
|
125
|
+
}
|
|
126
|
+
const s = getStrings(language);
|
|
127
|
+
// Auto-detected: confirm with user
|
|
128
|
+
if (detected) {
|
|
129
|
+
console.log(chalk.cyan(` ${s.detected}: ${detected.owner}/${detected.repo}`));
|
|
130
|
+
const useIt = await confirm({
|
|
131
|
+
message: s.useDetected,
|
|
132
|
+
default: true,
|
|
133
|
+
});
|
|
134
|
+
if (useIt) {
|
|
135
|
+
return detected;
|
|
136
|
+
}
|
|
137
|
+
// User declined auto-detect — offer manual input
|
|
138
|
+
const connectManually = await confirm({
|
|
139
|
+
message: s.connectManually,
|
|
140
|
+
default: false,
|
|
141
|
+
});
|
|
142
|
+
if (!connectManually) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
return promptManualInput(s);
|
|
146
|
+
}
|
|
147
|
+
// Nothing auto-detected: ask if they want to connect
|
|
148
|
+
console.log(chalk.gray(` ${s.explanation}`));
|
|
149
|
+
const wantsConnection = await confirm({
|
|
150
|
+
message: s.connectQuestion,
|
|
151
|
+
default: false,
|
|
152
|
+
});
|
|
153
|
+
if (!wantsConnection) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return promptManualInput(s);
|
|
157
|
+
}
|
|
158
|
+
async function promptManualInput(s) {
|
|
159
|
+
const owner = await input({ message: s.ownerPrompt });
|
|
160
|
+
const repo = await input({ message: s.repoPrompt });
|
|
161
|
+
return { owner, repo, source: 'user-input' };
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=root-repo-detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-repo-detection.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/root-repo-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-creator-installer.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/skill-creator-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"skill-creator-installer.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/skill-creator-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA4F/F"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import * as fs from '../../../utils/fs-native.js';
|
|
16
16
|
import * as path from 'path';
|
|
17
|
+
import * as os from 'os';
|
|
17
18
|
import { execFileNoThrow, isCommandAvailable } from '../../../utils/execFileNoThrow.js';
|
|
18
19
|
const SKILL_CREATOR_LOCAL = '.claude/skills/skill-creator/SKILL.md';
|
|
19
20
|
/** 3-part identifier: owner/repo/skill — used by vskill CLI */
|
|
@@ -63,10 +64,12 @@ export async function ensureSkillCreator(projectRoot) {
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
// 3. Try npx with explicit public registry (bypasses .npmrc redirects)
|
|
67
|
+
// Also use a temp cache dir to bypass corrupted ~/.npm/_cacache/ (EACCES/EEXIST)
|
|
66
68
|
const npxAvailable = await isCommandAvailable('npx');
|
|
67
69
|
if (npxAvailable) {
|
|
70
|
+
const tmpCache = path.join(os.tmpdir(), `specweave-npm-cache-${process.pid}`);
|
|
68
71
|
const result = await execFileNoThrow('npx', [
|
|
69
|
-
'--yes', '--registry', NPM_PUBLIC_REGISTRY, '--userconfig', '/dev/null', '--ignore-scripts', '--package', `vskill@${VSKILL_VERSION_RANGE}`,
|
|
72
|
+
'--yes', '--registry', NPM_PUBLIC_REGISTRY, '--userconfig', '/dev/null', '--cache', tmpCache, '--ignore-scripts', '--package', `vskill@${VSKILL_VERSION_RANGE}`,
|
|
70
73
|
'vskill', ...VSKILL_INSTALL_ARGS,
|
|
71
74
|
], {
|
|
72
75
|
cwd: projectRoot,
|
|
@@ -83,6 +86,11 @@ export async function ensureSkillCreator(projectRoot) {
|
|
|
83
86
|
if (!result.success) {
|
|
84
87
|
console.warn(`[skill-gen] npx vskill install failed: ${npxErr} -- trying claude CLI fallback`);
|
|
85
88
|
}
|
|
89
|
+
// Clean up temp cache (best-effort)
|
|
90
|
+
try {
|
|
91
|
+
fs.rmSync(tmpCache, { recursive: true, force: true });
|
|
92
|
+
}
|
|
93
|
+
catch { /* non-fatal */ }
|
|
86
94
|
}
|
|
87
95
|
// 4. Fall back to claude install-skill
|
|
88
96
|
const claudeAvailable = await isCommandAvailable('claude');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-creator-installer.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/skill-creator-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,mBAAmB,GAAG,uCAAuC,CAAC;AACpE,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG,qEAAqE,CAAC;AAChG,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AACzD,6CAA6C;AAC7C,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAQ7F;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,IAAI,CAAC;QACH,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,kDAAkD;QAClD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE;gBAClE,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC7C,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;YACzI,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,sCAAsC,SAAS,yBAAyB,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE;gBAC1C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"skill-creator-installer.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/skill-creator-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,mBAAmB,GAAG,uCAAuC,CAAC;AACpE,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG,qEAAqE,CAAC;AAChG,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AACzD,6CAA6C;AAC7C,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAQ7F;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,IAAI,CAAC;QACH,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,kDAAkD;QAClD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE;gBAClE,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC7C,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;YACzI,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,sCAAsC,SAAS,yBAAyB,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,oFAAoF;QACpF,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE;gBAC1C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,oBAAoB,EAAE;gBAC/J,QAAQ,EAAE,GAAG,mBAAmB;aACjC,EAAE;gBACD,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE,KAAK,EAAE,wCAAwC;aACzD,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC7C,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;YACtI,MAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,0CAA0C,MAAM,gCAAgC,CAAC,CAAC;YACjG,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC;gBAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC1F,CAAC;QAED,uCAAuC;QACvC,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,uDAAuD,mBAAmB,mBAAmB,gBAAgB,YAAY,CAAC,CAAC;YACxI,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAC9F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE;YACnF,GAAG,EAAE,WAAW;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;QACzI,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,4CAA4C,SAAS,2BAA2B,mBAAmB,mBAAmB,gBAAgB,YAAY,CAAC,CAAC;QACnK,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,6CAA6C,GAAG,2BAA2B,mBAAmB,mBAAmB,gBAAgB,YAAY,CAAC,CAAC;QAC5J,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC1D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace setup for init flow — non-empty folder detection,
|
|
3
|
+
* migration choice menu, restructure/copy logic, and org/repo detection.
|
|
4
|
+
*
|
|
5
|
+
* Part of 0640-init-ux-nonempty-workspace
|
|
6
|
+
*/
|
|
7
|
+
import type { SupportedLanguage } from '../../../core/i18n/types.js';
|
|
8
|
+
export interface WorkspaceContentScan {
|
|
9
|
+
hasSourceFiles: boolean;
|
|
10
|
+
hasPackageManager: boolean;
|
|
11
|
+
hasGitRepo: boolean;
|
|
12
|
+
hasUncommittedChanges: boolean;
|
|
13
|
+
fileCount: number;
|
|
14
|
+
detectedLanguages: string[];
|
|
15
|
+
}
|
|
16
|
+
export type MigrationChoice = 'start-empty' | 'restructure' | 'continue-in-place';
|
|
17
|
+
export type StartEmptySubChoice = 'clone-github' | 'copy-local' | 'add-later';
|
|
18
|
+
export interface OrgRepoDetection {
|
|
19
|
+
org: string;
|
|
20
|
+
repoName: string;
|
|
21
|
+
source: 'git-remote' | 'package-json-repo' | 'package-json-scope' | 'directory-name' | 'user-input';
|
|
22
|
+
}
|
|
23
|
+
export interface RestructureResult {
|
|
24
|
+
moved: string[];
|
|
25
|
+
skipped: string[];
|
|
26
|
+
errors: string[];
|
|
27
|
+
targetDir: string;
|
|
28
|
+
}
|
|
29
|
+
export interface LocalCopyResult {
|
|
30
|
+
copied: string[];
|
|
31
|
+
skipped: string[];
|
|
32
|
+
errors: string[];
|
|
33
|
+
targetDir: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Scan target directory for source files, package managers, and git state.
|
|
37
|
+
* Scans depth 0-1 only for performance (< 500ms target).
|
|
38
|
+
*/
|
|
39
|
+
export declare function scanWorkspaceContent(targetDir: string): WorkspaceContentScan;
|
|
40
|
+
/**
|
|
41
|
+
* Show 3-option menu for non-empty folder: start-empty, restructure, continue-in-place.
|
|
42
|
+
* CI mode returns continue-in-place immediately (non-destructive default).
|
|
43
|
+
*/
|
|
44
|
+
export declare function promptMigrationChoice(scan: WorkspaceContentScan, language: SupportedLanguage, isCI: boolean): Promise<MigrationChoice>;
|
|
45
|
+
/**
|
|
46
|
+
* Sub-menu for "Start empty": clone-github, copy-local, add-later.
|
|
47
|
+
*/
|
|
48
|
+
export declare function promptStartEmptySubChoice(language: SupportedLanguage): Promise<StartEmptySubChoice>;
|
|
49
|
+
/**
|
|
50
|
+
* Detect org/repo from git remote, package.json repository URL, or package scope.
|
|
51
|
+
* Returns null if nothing can be auto-detected.
|
|
52
|
+
*
|
|
53
|
+
* Cascade:
|
|
54
|
+
* 1. Git remote via detectProvider()
|
|
55
|
+
* 2. package.json → repository.url
|
|
56
|
+
* 3. package.json → @scope/name
|
|
57
|
+
*/
|
|
58
|
+
export declare function detectOrgRepo(targetDir: string): OrgRepoDetection | null;
|
|
59
|
+
/**
|
|
60
|
+
* Prompt for org/repo with auto-detect pre-fill.
|
|
61
|
+
* Uses detectOrgRepo() first, then falls back to interactive prompt.
|
|
62
|
+
*/
|
|
63
|
+
export declare function promptOrgRepo(targetDir: string): Promise<{
|
|
64
|
+
org: string;
|
|
65
|
+
repoName: string;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* Copy a local directory into repositories/{org}/{repo}/.
|
|
69
|
+
* Excludes .git directories from the copy.
|
|
70
|
+
*/
|
|
71
|
+
export declare function copyLocalPathIntoRepositories(targetDir: string, sourcePath: string, org: string, repoName: string): LocalCopyResult;
|
|
72
|
+
/**
|
|
73
|
+
* Move all non-excluded entries into repositories/{org}/{repo}/.
|
|
74
|
+
* Uses fs.moveSync (rename with EXDEV fallback) for each entry.
|
|
75
|
+
*
|
|
76
|
+
* Skip list: .git, .specweave, node_modules, repositories, hidden dotfiles, symlinks.
|
|
77
|
+
*/
|
|
78
|
+
export declare function restructureIntoRepositories(targetDir: string, org: string, repoName: string): RestructureResult;
|
|
79
|
+
/**
|
|
80
|
+
* Display restructure warnings. Always shows symlink/CI/import warnings.
|
|
81
|
+
* Additionally warns about git commit when uncommitted changes exist.
|
|
82
|
+
*/
|
|
83
|
+
export declare function showRestructureWarnings(scan: WorkspaceContentScan): void;
|
|
84
|
+
//# sourceMappingURL=workspace-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-setup.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/workspace-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIrE,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,mBAAmB,CAAC;AAElF,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,YAAY,CAAC;CACrG;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AA2DD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,CA2E5E;AAgFD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,eAAe,CAAC,CAa1B;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAU9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAmCxE;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB5C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,eAAe,CA8CjB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAmDnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAUxE"}
|