specweave 0.24.6 → 0.24.8
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 +64 -0
- package/README.md +34 -0
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts +5 -2
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +72 -6
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.d.ts +2 -1
- package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.js +4 -3
- package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +26 -9
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +1 -0
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
- package/dist/src/core/repo-structure/git-error-handler.d.ts +37 -0
- package/dist/src/core/repo-structure/git-error-handler.d.ts.map +1 -0
- package/dist/src/core/repo-structure/git-error-handler.js +214 -0
- package/dist/src/core/repo-structure/git-error-handler.js.map +1 -0
- package/dist/src/core/repo-structure/git-provider.d.ts +183 -0
- package/dist/src/core/repo-structure/git-provider.d.ts.map +1 -0
- package/dist/src/core/repo-structure/git-provider.js +57 -0
- package/dist/src/core/repo-structure/git-provider.js.map +1 -0
- package/dist/src/core/repo-structure/github-validator.d.ts +1 -0
- package/dist/src/core/repo-structure/github-validator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/github-validator.js +35 -9
- package/dist/src/core/repo-structure/github-validator.js.map +1 -1
- package/dist/src/core/repo-structure/platform-registry.d.ts +114 -0
- package/dist/src/core/repo-structure/platform-registry.d.ts.map +1 -0
- package/dist/src/core/repo-structure/platform-registry.js +195 -0
- package/dist/src/core/repo-structure/platform-registry.js.map +1 -0
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts +30 -0
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.js +69 -0
- package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -1
- package/dist/src/core/repo-structure/providers/bitbucket-provider.d.ts +54 -0
- package/dist/src/core/repo-structure/providers/bitbucket-provider.d.ts.map +1 -0
- package/dist/src/core/repo-structure/providers/bitbucket-provider.js +104 -0
- package/dist/src/core/repo-structure/providers/bitbucket-provider.js.map +1 -0
- package/dist/src/core/repo-structure/providers/github-provider.d.ts +53 -0
- package/dist/src/core/repo-structure/providers/github-provider.d.ts.map +1 -0
- package/dist/src/core/repo-structure/providers/github-provider.js +239 -0
- package/dist/src/core/repo-structure/providers/github-provider.js.map +1 -0
- package/dist/src/core/repo-structure/providers/gitlab-provider.d.ts +50 -0
- package/dist/src/core/repo-structure/providers/gitlab-provider.d.ts.map +1 -0
- package/dist/src/core/repo-structure/providers/gitlab-provider.js +97 -0
- package/dist/src/core/repo-structure/providers/gitlab-provider.js.map +1 -0
- package/dist/src/core/repo-structure/providers/index.d.ts +33 -0
- package/dist/src/core/repo-structure/providers/index.d.ts.map +1 -0
- package/dist/src/core/repo-structure/providers/index.js +60 -0
- package/dist/src/core/repo-structure/providers/index.js.map +1 -0
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts +10 -3
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +125 -42
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/dist/src/core/repo-structure/url-generator.d.ts +80 -0
- package/dist/src/core/repo-structure/url-generator.d.ts.map +1 -0
- package/dist/src/core/repo-structure/url-generator.js +110 -0
- package/dist/src/core/repo-structure/url-generator.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
- package/plugins/specweave/agents/pm/AGENT.md.bak +0 -1893
- package/plugins/specweave/hooks/docs-changed.sh.backup +0 -79
- package/plugins/specweave/hooks/human-input-required.sh.backup +0 -75
- package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +0 -245
- package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +0 -149
- package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +0 -163
- package/plugins/specweave/hooks/post-first-increment.sh.backup +0 -61
- package/plugins/specweave/hooks/post-first-increment.sh.bak +0 -61
- package/plugins/specweave/hooks/post-increment-change.sh.backup +0 -98
- package/plugins/specweave/hooks/post-increment-completion.sh.backup +0 -231
- package/plugins/specweave/hooks/post-increment-planning.sh.backup +0 -1048
- package/plugins/specweave/hooks/post-increment-status-change.sh.backup +0 -147
- package/plugins/specweave/hooks/post-spec-update.sh.backup +0 -158
- package/plugins/specweave/hooks/post-spec-update.sh.bak +0 -158
- package/plugins/specweave/hooks/post-user-story-complete.sh.backup +0 -179
- package/plugins/specweave/hooks/post-user-story-complete.sh.bak +0 -179
- package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +0 -83
- package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +0 -83
- package/plugins/specweave/hooks/pre-implementation.sh.backup +0 -67
- package/plugins/specweave/hooks/pre-task-completion.sh.backup +0 -194
- package/plugins/specweave/hooks/pre-tool-use.sh.backup +0 -133
- package/plugins/specweave/hooks/user-prompt-submit.sh.backup +0 -386
- package/plugins/specweave/hooks/user-prompt-submit.sh.bak +0 -386
- package/plugins/specweave/lib/hooks/auto-transition.js.bak +0 -50
- package/plugins/specweave/lib/hooks/auto-transition.ts.bak +0 -84
- package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.bak +0 -89
- package/plugins/specweave/lib/hooks/git-diff-analyzer.js.bak +0 -142
- package/plugins/specweave/lib/hooks/git-diff-analyzer.ts.bak +0 -269
- package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.bak +0 -60
- package/plugins/specweave/lib/hooks/invoke-translator-skill.js.bak +0 -155
- package/plugins/specweave/lib/hooks/invoke-translator-skill.ts.bak +0 -264
- package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.bak +0 -42
- package/plugins/specweave/lib/hooks/prepare-reflection-context.js.bak +0 -110
- package/plugins/specweave/lib/hooks/prepare-reflection-context.ts.bak +0 -178
- package/plugins/specweave/lib/hooks/reflection-config-loader.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.bak +0 -45
- package/plugins/specweave/lib/hooks/reflection-config-loader.js.bak +0 -92
- package/plugins/specweave/lib/hooks/reflection-config-loader.ts.bak +0 -156
- package/plugins/specweave/lib/hooks/reflection-parser.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-parser.d.ts.bak +0 -33
- package/plugins/specweave/lib/hooks/reflection-parser.js.bak +0 -301
- package/plugins/specweave/lib/hooks/reflection-parser.ts.bak +0 -484
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.bak +0 -56
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.bak +0 -182
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts.bak +0 -306
- package/plugins/specweave/lib/hooks/reflection-storage.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-storage.d.ts.bak +0 -64
- package/plugins/specweave/lib/hooks/reflection-storage.js.bak +0 -231
- package/plugins/specweave/lib/hooks/reflection-storage.ts.bak +0 -369
- package/plugins/specweave/lib/hooks/run-self-reflection.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.bak +0 -43
- package/plugins/specweave/lib/hooks/run-self-reflection.js.bak +0 -132
- package/plugins/specweave/lib/hooks/run-self-reflection.ts.bak +0 -258
- package/plugins/specweave/lib/hooks/sync-cache.js.bak +0 -294
- package/plugins/specweave/lib/hooks/sync-living-docs.d.js.bak +0 -1
- package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.bak +0 -27
- package/plugins/specweave/lib/hooks/sync-living-docs.js.bak +0 -339
- package/plugins/specweave/lib/hooks/sync-us-tasks.js.bak +0 -476
- package/plugins/specweave/lib/hooks/translate-file.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/translate-file.d.ts.bak +0 -59
- package/plugins/specweave/lib/hooks/translate-file.js.bak +0 -289
- package/plugins/specweave/lib/hooks/translate-file.ts.bak +0 -428
- package/plugins/specweave/lib/hooks/translate-living-docs.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.bak +0 -13
- package/plugins/specweave/lib/hooks/translate-living-docs.js.bak +0 -119
- package/plugins/specweave/lib/hooks/translate-living-docs.ts.bak +0 -224
- package/plugins/specweave/lib/hooks/update-ac-status.js.bak +0 -51
- package/plugins/specweave/lib/hooks/update-ac-status.ts.bak +0 -103
- package/plugins/specweave/lib/hooks/update-tasks-md.d.js.bak +0 -1
- package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.bak +0 -29
- package/plugins/specweave/lib/hooks/update-tasks-md.js.bak +0 -296
- package/plugins/specweave/lib/hooks/update-tasks-md.ts.bak +0 -489
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +0 -353
- package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +0 -172
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -170
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +0 -360
- package/plugins/specweave-github/hooks/post-task-completion.sh.backup +0 -258
- package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +0 -172
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +0 -444
- package/plugins/specweave-release/hooks/post-task-completion.sh.backup +0 -110
|
@@ -23,18 +23,22 @@ import { execSync } from 'child_process';
|
|
|
23
23
|
import { execFileNoThrowSync } from '../../utils/execFileNoThrow.js';
|
|
24
24
|
import { generateRepoIdSmart, ensureUniqueId, validateRepoId, suggestRepoName } from './repo-id-generator.js';
|
|
25
25
|
import { SetupStateManager } from './setup-state-manager.js';
|
|
26
|
-
import { validateRepository, validateOwner } from './github-validator.js';
|
|
27
26
|
import { generateEnvFile } from '../../utils/env-file-generator.js';
|
|
28
27
|
import { generateSetupSummary } from './setup-summary.js';
|
|
29
|
-
import { getArchitecturePrompt, getParentRepoBenefits, getVisibilityPrompt } from './prompt-consolidator.js';
|
|
28
|
+
import { getArchitecturePrompt, getParentRepoBenefits, getVisibilityPrompt, getUrlTypePrompt } from './prompt-consolidator.js';
|
|
30
29
|
import { detectRepositoryHints } from './folder-detector.js';
|
|
31
30
|
import { discoverRepositories } from './repo-bulk-discovery.js';
|
|
32
31
|
import { Octokit } from '@octokit/rest';
|
|
32
|
+
import { initializeProviders } from './providers/index.js';
|
|
33
|
+
import { getPlatformRegistry } from './platform-registry.js';
|
|
34
|
+
import { getPlatformSelectionPrompt } from './prompt-consolidator.js';
|
|
33
35
|
export class RepoStructureManager {
|
|
34
36
|
constructor(projectPath, githubToken) {
|
|
35
37
|
this.projectPath = projectPath;
|
|
36
38
|
this.githubToken = githubToken;
|
|
37
39
|
this.stateManager = new SetupStateManager(projectPath);
|
|
40
|
+
// Initialize Git providers on instantiation
|
|
41
|
+
initializeProviders();
|
|
38
42
|
}
|
|
39
43
|
/**
|
|
40
44
|
* Prompt user for repository structure decisions
|
|
@@ -75,14 +79,53 @@ export class RepoStructureManager {
|
|
|
75
79
|
})),
|
|
76
80
|
default: 'single'
|
|
77
81
|
}]);
|
|
82
|
+
// Step 2: Ask about Git hosting platform
|
|
83
|
+
const registry = getPlatformRegistry();
|
|
84
|
+
const platformOptions = registry.getPlatformOptions(true); // Include unsupported platforms
|
|
85
|
+
const platformPromptData = getPlatformSelectionPrompt();
|
|
86
|
+
console.log(chalk.cyan('\n' + platformPromptData.message));
|
|
87
|
+
const { platform } = await inquirer.prompt([{
|
|
88
|
+
type: 'list',
|
|
89
|
+
name: 'platform',
|
|
90
|
+
message: platformPromptData.question,
|
|
91
|
+
choices: platformOptions.map(opt => ({
|
|
92
|
+
name: opt.disabled
|
|
93
|
+
? `${opt.name}\n${chalk.gray(opt.description)}\n${chalk.yellow('⚠️ ' + opt.disabled)}`
|
|
94
|
+
: `${opt.name}\n${chalk.gray(opt.description)}`,
|
|
95
|
+
value: opt.value,
|
|
96
|
+
short: opt.name,
|
|
97
|
+
disabled: opt.disabled ? opt.disabled : false
|
|
98
|
+
})),
|
|
99
|
+
default: 'github'
|
|
100
|
+
}]);
|
|
101
|
+
// Get provider instance
|
|
102
|
+
const provider = registry.getProvider(platform);
|
|
103
|
+
if (!provider) {
|
|
104
|
+
throw new Error(`Platform ${platform} is not available. This should not happen!`);
|
|
105
|
+
}
|
|
106
|
+
console.log(chalk.green(`\n✓ Using ${provider.config.name} as Git hosting platform\n`));
|
|
107
|
+
// Step 3: Ask about Git remote URL format (SSH vs HTTPS)
|
|
108
|
+
const urlTypePromptData = getUrlTypePrompt();
|
|
109
|
+
const { urlType } = await inquirer.prompt([{
|
|
110
|
+
type: 'list',
|
|
111
|
+
name: 'urlType',
|
|
112
|
+
message: urlTypePromptData.question,
|
|
113
|
+
choices: urlTypePromptData.options.map(opt => ({
|
|
114
|
+
name: `${opt.label}\n${chalk.gray(opt.description)}`,
|
|
115
|
+
value: opt.value,
|
|
116
|
+
short: opt.label
|
|
117
|
+
})),
|
|
118
|
+
default: urlTypePromptData.default
|
|
119
|
+
}]);
|
|
120
|
+
console.log(chalk.green(`\n✓ Using ${urlType.toUpperCase()} remote URLs\n`));
|
|
78
121
|
// Map ArchitectureChoice to internal architecture
|
|
79
122
|
const mappedArch = this.mapArchitectureChoice(architecture);
|
|
80
123
|
switch (mappedArch) {
|
|
81
124
|
case 'single':
|
|
82
|
-
return this.configureSingleRepo();
|
|
125
|
+
return this.configureSingleRepo(urlType, platform, provider);
|
|
83
126
|
case 'parent':
|
|
84
127
|
// GitHub parent repo (pushed to GitHub)
|
|
85
|
-
return this.configureMultiRepo(true, false);
|
|
128
|
+
return this.configureMultiRepo(true, false, urlType, platform, provider);
|
|
86
129
|
default:
|
|
87
130
|
throw new Error(`Unknown architecture: ${architecture}`);
|
|
88
131
|
}
|
|
@@ -104,9 +147,18 @@ export class RepoStructureManager {
|
|
|
104
147
|
* Resume setup from saved state
|
|
105
148
|
*/
|
|
106
149
|
async resumeSetup(state) {
|
|
150
|
+
// Default to GitHub platform for resumed setups (backward compatibility)
|
|
151
|
+
const registry = getPlatformRegistry();
|
|
152
|
+
const provider = registry.getProvider('github');
|
|
153
|
+
if (!provider) {
|
|
154
|
+
throw new Error('GitHub provider not available. This should not happen!');
|
|
155
|
+
}
|
|
107
156
|
// Convert saved state back to config format
|
|
108
157
|
const config = {
|
|
109
158
|
architecture: state.architecture,
|
|
159
|
+
urlType: 'ssh', // Default to SSH for resumed setups
|
|
160
|
+
platform: 'github', // Default to GitHub for backward compatibility
|
|
161
|
+
provider: provider,
|
|
110
162
|
parentRepo: state.parentRepo,
|
|
111
163
|
repositories: state.repos.map(r => ({
|
|
112
164
|
id: r.id,
|
|
@@ -126,7 +178,7 @@ export class RepoStructureManager {
|
|
|
126
178
|
/**
|
|
127
179
|
* Configure single repository
|
|
128
180
|
*/
|
|
129
|
-
async configureSingleRepo() {
|
|
181
|
+
async configureSingleRepo(urlType = 'ssh', platform = 'github', provider) {
|
|
130
182
|
console.log(chalk.cyan('\n📦 Single Repository Configuration\n'));
|
|
131
183
|
// Check if repo already exists
|
|
132
184
|
const hasGit = existsSync(path.join(this.projectPath, '.git'));
|
|
@@ -172,6 +224,9 @@ export class RepoStructureManager {
|
|
|
172
224
|
}
|
|
173
225
|
return {
|
|
174
226
|
architecture: 'single',
|
|
227
|
+
urlType,
|
|
228
|
+
platform,
|
|
229
|
+
provider,
|
|
175
230
|
repositories: [{
|
|
176
231
|
id: 'main',
|
|
177
232
|
name: repo,
|
|
@@ -237,6 +292,9 @@ export class RepoStructureManager {
|
|
|
237
292
|
}
|
|
238
293
|
return {
|
|
239
294
|
architecture: 'single',
|
|
295
|
+
urlType,
|
|
296
|
+
platform,
|
|
297
|
+
provider,
|
|
240
298
|
repositories: [{
|
|
241
299
|
id: 'main',
|
|
242
300
|
name: answers.repo,
|
|
@@ -253,12 +311,15 @@ export class RepoStructureManager {
|
|
|
253
311
|
* Configure multi-repository architecture
|
|
254
312
|
* @param useParent - Whether to use parent repository/folder
|
|
255
313
|
* @param isLocalParent - If true, parent folder is local only (NOT pushed to GitHub)
|
|
314
|
+
* @param urlType - Git remote URL format (ssh or https)
|
|
315
|
+
* @param platform - Git hosting platform type
|
|
316
|
+
* @param provider - Git provider instance for API operations
|
|
256
317
|
*
|
|
257
318
|
* NOTE: This is primarily user-facing output (console.log/console.error).
|
|
258
319
|
* All console.* calls in this method are legitimate user-facing exceptions
|
|
259
320
|
* as defined in CONTRIBUTING.md (colored messages, confirmations, formatted output).
|
|
260
321
|
*/
|
|
261
|
-
async configureMultiRepo(useParent = true, isLocalParent = false) {
|
|
322
|
+
async configureMultiRepo(useParent = true, isLocalParent = false, urlType = 'ssh', platform = 'github', provider) {
|
|
262
323
|
console.log(chalk.cyan('\n🎯 Multi-Repository Configuration\n'));
|
|
263
324
|
console.log(chalk.gray('This creates separate repositories for each service/component.\n'));
|
|
264
325
|
// Show parent repo benefits if using parent approach
|
|
@@ -268,6 +329,9 @@ export class RepoStructureManager {
|
|
|
268
329
|
}
|
|
269
330
|
const config = {
|
|
270
331
|
architecture: useParent ? 'parent' : 'multi-repo',
|
|
332
|
+
urlType,
|
|
333
|
+
platform,
|
|
334
|
+
provider,
|
|
271
335
|
repositories: []
|
|
272
336
|
};
|
|
273
337
|
// Save state: architecture selected
|
|
@@ -302,15 +366,15 @@ export class RepoStructureManager {
|
|
|
302
366
|
{
|
|
303
367
|
type: 'input',
|
|
304
368
|
name: 'owner',
|
|
305
|
-
message:
|
|
369
|
+
message: `${provider.config.name} owner/organization for IMPLEMENTATION repos:`,
|
|
306
370
|
validate: async (input) => {
|
|
307
371
|
if (!input.trim())
|
|
308
372
|
return 'Owner is required';
|
|
309
|
-
// Validate owner exists on
|
|
373
|
+
// Validate owner exists on the platform
|
|
310
374
|
if (this.githubToken) {
|
|
311
|
-
const result = await validateOwner(input, this.githubToken);
|
|
375
|
+
const result = await provider.validateOwner(input, this.githubToken);
|
|
312
376
|
if (!result.valid) {
|
|
313
|
-
return result.error ||
|
|
377
|
+
return result.error || `Invalid ${provider.config.name} owner`;
|
|
314
378
|
}
|
|
315
379
|
}
|
|
316
380
|
return true;
|
|
@@ -351,15 +415,15 @@ export class RepoStructureManager {
|
|
|
351
415
|
{
|
|
352
416
|
type: 'input',
|
|
353
417
|
name: 'owner',
|
|
354
|
-
message:
|
|
418
|
+
message: `${provider.config.name} owner/organization:`,
|
|
355
419
|
validate: async (input) => {
|
|
356
420
|
if (!input.trim())
|
|
357
421
|
return 'Owner is required';
|
|
358
|
-
// Validate owner exists on
|
|
422
|
+
// Validate owner exists on the platform
|
|
359
423
|
if (this.githubToken) {
|
|
360
|
-
const result = await validateOwner(input, this.githubToken);
|
|
424
|
+
const result = await provider.validateOwner(input, this.githubToken);
|
|
361
425
|
if (!result.valid) {
|
|
362
|
-
return result.error ||
|
|
426
|
+
return result.error || `Invalid ${provider.config.name} owner`;
|
|
363
427
|
}
|
|
364
428
|
}
|
|
365
429
|
return true;
|
|
@@ -376,11 +440,11 @@ export class RepoStructureManager {
|
|
|
376
440
|
validate: async (input) => {
|
|
377
441
|
if (!input.trim())
|
|
378
442
|
return 'Repository name is required';
|
|
379
|
-
// Validate repository EXISTS on
|
|
443
|
+
// Validate repository EXISTS on the platform
|
|
380
444
|
if (this.githubToken && ownerPrompt.owner) {
|
|
381
|
-
const result = await validateRepository(ownerPrompt.owner, input, this.githubToken);
|
|
445
|
+
const result = await provider.validateRepository(ownerPrompt.owner, input, this.githubToken);
|
|
382
446
|
if (!result.exists) {
|
|
383
|
-
return `Repository ${ownerPrompt.owner}/${input} not found on
|
|
447
|
+
return `Repository ${ownerPrompt.owner}/${input} not found on ${provider.config.name}. Please check the name or choose 'Create new'.`;
|
|
384
448
|
}
|
|
385
449
|
}
|
|
386
450
|
return true;
|
|
@@ -425,15 +489,15 @@ export class RepoStructureManager {
|
|
|
425
489
|
{
|
|
426
490
|
type: 'input',
|
|
427
491
|
name: 'owner',
|
|
428
|
-
message:
|
|
492
|
+
message: `${provider.config.name} owner/organization for ALL repos:`,
|
|
429
493
|
validate: async (input) => {
|
|
430
494
|
if (!input.trim())
|
|
431
495
|
return 'Owner is required';
|
|
432
|
-
// Validate owner exists on
|
|
496
|
+
// Validate owner exists on the platform
|
|
433
497
|
if (this.githubToken) {
|
|
434
|
-
const result = await validateOwner(input, this.githubToken);
|
|
498
|
+
const result = await provider.validateOwner(input, this.githubToken);
|
|
435
499
|
if (!result.valid) {
|
|
436
|
-
return result.error ||
|
|
500
|
+
return result.error || `Invalid ${provider.config.name} owner`;
|
|
437
501
|
}
|
|
438
502
|
}
|
|
439
503
|
return true;
|
|
@@ -452,7 +516,7 @@ export class RepoStructureManager {
|
|
|
452
516
|
return 'Repository name is required';
|
|
453
517
|
// Validate repository DOESN'T exist
|
|
454
518
|
if (this.githubToken && ownerPrompt.owner) {
|
|
455
|
-
const result = await validateRepository(ownerPrompt.owner, input, this.githubToken);
|
|
519
|
+
const result = await provider.validateRepository(ownerPrompt.owner, input, this.githubToken);
|
|
456
520
|
if (result.exists) {
|
|
457
521
|
return `Repository ${ownerPrompt.owner}/${input} already exists at ${result.url}. Please choose 'Use existing' or pick a different name.`;
|
|
458
522
|
}
|
|
@@ -573,8 +637,14 @@ export class RepoStructureManager {
|
|
|
573
637
|
if (this.githubToken && config.parentRepo) {
|
|
574
638
|
const octokit = new Octokit({ auth: this.githubToken });
|
|
575
639
|
const owner = config.parentRepo.owner;
|
|
576
|
-
const isOrg = await
|
|
577
|
-
|
|
640
|
+
const isOrg = await provider.isOrganization(owner, this.githubToken);
|
|
641
|
+
// Retry loop for pattern adjustment
|
|
642
|
+
let discoveryResult = null;
|
|
643
|
+
while (discoveryResult === null) {
|
|
644
|
+
discoveryResult = await discoverRepositories(octokit, owner, isOrg, repoCount);
|
|
645
|
+
// If null, user selected "go back and adjust pattern", loop will retry
|
|
646
|
+
// If user selected "manual", discoveryResult will be { repositories: [], strategy: 'manual' }
|
|
647
|
+
}
|
|
578
648
|
if (discoveryResult) {
|
|
579
649
|
bulkDiscoveryStrategy = discoveryResult.strategy;
|
|
580
650
|
if (discoveryResult.strategy !== 'manual') {
|
|
@@ -646,7 +716,7 @@ export class RepoStructureManager {
|
|
|
646
716
|
return 'Repository name is required';
|
|
647
717
|
// Validate repository doesn't exist (skip for discovered repos)
|
|
648
718
|
if (!isDiscovered && this.githubToken && config.parentRepo) {
|
|
649
|
-
const result = await validateRepository(config.parentRepo.owner, input, this.githubToken);
|
|
719
|
+
const result = await provider.validateRepository(config.parentRepo.owner, input, this.githubToken);
|
|
650
720
|
if (result.exists) {
|
|
651
721
|
return `Repository ${config.parentRepo.owner}/${input} already exists at ${result.url}`;
|
|
652
722
|
}
|
|
@@ -772,7 +842,7 @@ export class RepoStructureManager {
|
|
|
772
842
|
/**
|
|
773
843
|
* Configure monorepo
|
|
774
844
|
*/
|
|
775
|
-
async configureMonorepo() {
|
|
845
|
+
async configureMonorepo(urlType = 'ssh', platform = 'github', provider) {
|
|
776
846
|
console.log(chalk.cyan('\n📚 Monorepo Configuration\n'));
|
|
777
847
|
console.log(chalk.gray('Single repository with multiple projects/packages.\n'));
|
|
778
848
|
const answers = await inquirer.prompt([
|
|
@@ -834,6 +904,9 @@ export class RepoStructureManager {
|
|
|
834
904
|
const projects = answers.projects.split(',').map((p) => p.trim());
|
|
835
905
|
return {
|
|
836
906
|
architecture: 'monorepo',
|
|
907
|
+
urlType,
|
|
908
|
+
platform,
|
|
909
|
+
provider,
|
|
837
910
|
repositories: [{
|
|
838
911
|
id: 'main',
|
|
839
912
|
name: answers.repo,
|
|
@@ -848,28 +921,33 @@ export class RepoStructureManager {
|
|
|
848
921
|
};
|
|
849
922
|
}
|
|
850
923
|
/**
|
|
851
|
-
* Create repositories on
|
|
924
|
+
* Create repositories on Git hosting platform via API
|
|
852
925
|
*/
|
|
853
|
-
async
|
|
926
|
+
async createRepositories(config) {
|
|
854
927
|
if (!this.githubToken) {
|
|
855
|
-
console.log(chalk.yellow(
|
|
856
|
-
console.log(chalk.gray(
|
|
928
|
+
console.log(chalk.yellow(`\n⚠️ No ${config.provider.config.name} token available`));
|
|
929
|
+
console.log(chalk.gray(` Skipping ${config.provider.config.name} repository creation`));
|
|
857
930
|
console.log(chalk.gray(' You can create repositories manually later\n'));
|
|
858
931
|
return;
|
|
859
932
|
}
|
|
860
|
-
const spinner = ora(
|
|
933
|
+
const spinner = ora(`Creating ${config.provider.config.name} repositories...`).start();
|
|
861
934
|
const created = [];
|
|
862
935
|
const failed = [];
|
|
863
936
|
// Create parent repository if needed
|
|
864
937
|
if (config.parentRepo?.createOnGitHub) {
|
|
865
938
|
try {
|
|
866
|
-
await
|
|
939
|
+
await config.provider.createRepository({
|
|
940
|
+
owner: config.parentRepo.owner,
|
|
941
|
+
name: config.parentRepo.name,
|
|
942
|
+
description: config.parentRepo.description,
|
|
943
|
+
visibility: config.parentRepo.visibility
|
|
944
|
+
}, this.githubToken);
|
|
867
945
|
created.push(`${config.parentRepo.owner}/${config.parentRepo.name}`);
|
|
868
946
|
// Save state: parent repo created
|
|
869
947
|
await this.saveSetupState({
|
|
870
948
|
version: '1.0.0',
|
|
871
949
|
architecture: config.architecture,
|
|
872
|
-
parentRepo: { ...config.parentRepo, url:
|
|
950
|
+
parentRepo: { ...config.parentRepo, url: config.provider.getRemoteUrl(config.parentRepo.owner, config.parentRepo.name, config.urlType) },
|
|
873
951
|
repos: [],
|
|
874
952
|
currentStep: 'parent-repo-created',
|
|
875
953
|
timestamp: new Date().toISOString(),
|
|
@@ -884,7 +962,12 @@ export class RepoStructureManager {
|
|
|
884
962
|
for (const repo of config.repositories) {
|
|
885
963
|
if (repo.createOnGitHub) {
|
|
886
964
|
try {
|
|
887
|
-
await
|
|
965
|
+
await config.provider.createRepository({
|
|
966
|
+
owner: repo.owner,
|
|
967
|
+
name: repo.name,
|
|
968
|
+
description: repo.description,
|
|
969
|
+
visibility: repo.visibility
|
|
970
|
+
}, this.githubToken);
|
|
888
971
|
created.push(`${repo.owner}/${repo.name}`);
|
|
889
972
|
}
|
|
890
973
|
catch (error) {
|
|
@@ -973,7 +1056,7 @@ export class RepoStructureManager {
|
|
|
973
1056
|
path: r.path,
|
|
974
1057
|
visibility: r.visibility,
|
|
975
1058
|
displayName: r.name,
|
|
976
|
-
url:
|
|
1059
|
+
url: config.provider.getRemoteUrl(r.owner, r.name, config.urlType),
|
|
977
1060
|
created: false
|
|
978
1061
|
})),
|
|
979
1062
|
currentStep: 'complete',
|
|
@@ -1066,14 +1149,14 @@ export class RepoStructureManager {
|
|
|
1066
1149
|
}
|
|
1067
1150
|
/**
|
|
1068
1151
|
* Clone or initialize a repository
|
|
1069
|
-
* If the repo exists on
|
|
1152
|
+
* If the repo exists on the platform, clone it; otherwise, init + add remote
|
|
1070
1153
|
*/
|
|
1071
|
-
async cloneOrInitRepository(repoPath, owner, name, createOnGitHub) {
|
|
1154
|
+
async cloneOrInitRepository(repoPath, owner, name, createOnGitHub, urlType = 'ssh', provider) {
|
|
1072
1155
|
// If .git already exists, skip
|
|
1073
1156
|
if (existsSync(path.join(repoPath, '.git'))) {
|
|
1074
1157
|
return;
|
|
1075
1158
|
}
|
|
1076
|
-
const remoteUrl =
|
|
1159
|
+
const remoteUrl = provider.getRemoteUrl(owner, name, urlType);
|
|
1077
1160
|
// Check if repository exists on GitHub
|
|
1078
1161
|
const repoExists = await this.repositoryExistsOnGitHub(owner, name);
|
|
1079
1162
|
if (repoExists) {
|
|
@@ -1131,7 +1214,7 @@ export class RepoStructureManager {
|
|
|
1131
1214
|
if (!existsSync(path.join(this.projectPath, '.git'))) {
|
|
1132
1215
|
execFileNoThrowSync('git', ['init'], { cwd: this.projectPath });
|
|
1133
1216
|
if (config.parentRepo) {
|
|
1134
|
-
const remoteUrl =
|
|
1217
|
+
const remoteUrl = config.provider.getRemoteUrl(config.parentRepo.owner, config.parentRepo.name, config.urlType);
|
|
1135
1218
|
execFileNoThrowSync('git', ['remote', 'add', 'origin', remoteUrl], { cwd: this.projectPath });
|
|
1136
1219
|
}
|
|
1137
1220
|
}
|
|
@@ -1139,7 +1222,7 @@ export class RepoStructureManager {
|
|
|
1139
1222
|
for (const repo of config.repositories) {
|
|
1140
1223
|
const repoPath = path.join(this.projectPath, repo.path);
|
|
1141
1224
|
// Clone or initialize repository
|
|
1142
|
-
await this.cloneOrInitRepository(repoPath, repo.owner, repo.name, repo.createOnGitHub);
|
|
1225
|
+
await this.cloneOrInitRepository(repoPath, repo.owner, repo.name, repo.createOnGitHub, config.urlType, config.provider);
|
|
1143
1226
|
// Create basic structure (only if repo was just initialized, not cloned)
|
|
1144
1227
|
if (!repo.createOnGitHub || !await this.repositoryExistsOnGitHub(repo.owner, repo.name)) {
|
|
1145
1228
|
this.createBasicRepoStructure(repoPath, repo.id);
|
|
@@ -1151,7 +1234,7 @@ export class RepoStructureManager {
|
|
|
1151
1234
|
for (const repo of config.repositories) {
|
|
1152
1235
|
const repoPath = path.join(this.projectPath, repo.path);
|
|
1153
1236
|
// Clone or initialize repository
|
|
1154
|
-
await this.cloneOrInitRepository(repoPath, repo.owner, repo.name, repo.createOnGitHub);
|
|
1237
|
+
await this.cloneOrInitRepository(repoPath, repo.owner, repo.name, repo.createOnGitHub, config.urlType, config.provider);
|
|
1155
1238
|
// Create basic structure (only if repo was just initialized, not cloned)
|
|
1156
1239
|
if (!repo.createOnGitHub || !await this.repositoryExistsOnGitHub(repo.owner, repo.name)) {
|
|
1157
1240
|
this.createBasicRepoStructure(repoPath, repo.id);
|
|
@@ -1164,7 +1247,7 @@ export class RepoStructureManager {
|
|
|
1164
1247
|
execFileNoThrowSync('git', ['init'], { cwd: this.projectPath });
|
|
1165
1248
|
const repo = config.repositories[0];
|
|
1166
1249
|
if (repo) {
|
|
1167
|
-
const remoteUrl =
|
|
1250
|
+
const remoteUrl = config.provider.getRemoteUrl(repo.owner, repo.name, config.urlType);
|
|
1168
1251
|
execFileNoThrowSync('git', ['remote', 'add', 'origin', remoteUrl], { cwd: this.projectPath });
|
|
1169
1252
|
}
|
|
1170
1253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-structure-manager.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repo-structure-manager.js","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"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"}
|