specweave 1.0.539 → 1.0.541
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/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/utils/plugin-copier.d.ts.map +1 -1
- package/dist/src/utils/plugin-copier.js +2 -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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"}
|
|
@@ -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"}
|