specweave 0.26.14 → 0.27.0
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 +73 -1
- package/README.md +111 -466
- package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/setup-wizard.js +57 -78
- package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -1
- package/dist/src/cli/commands/import-docs.d.ts.map +1 -1
- package/dist/src/cli/commands/import-docs.js +23 -31
- package/dist/src/cli/commands/import-docs.js.map +1 -1
- package/dist/src/cli/commands/import-external.d.ts.map +1 -1
- package/dist/src/cli/commands/import-external.js +6 -10
- package/dist/src/cli/commands/import-external.js.map +1 -1
- package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -1
- package/dist/src/cli/commands/init-multiproject.js +58 -73
- package/dist/src/cli/commands/init-multiproject.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts +17 -11
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +221 -1874
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/install.d.ts.map +1 -1
- package/dist/src/cli/commands/install.js +14 -22
- package/dist/src/cli/commands/install.js.map +1 -1
- package/dist/src/cli/commands/migrate-config.d.ts.map +1 -1
- package/dist/src/cli/commands/migrate-config.js +6 -10
- package/dist/src/cli/commands/migrate-config.js.map +1 -1
- package/dist/src/cli/commands/switch-project.d.ts.map +1 -1
- package/dist/src/cli/commands/switch-project.js.map +1 -1
- package/dist/src/cli/helpers/ado-area-path-mapper.d.ts.map +1 -1
- package/dist/src/cli/helpers/ado-area-path-mapper.js +36 -49
- package/dist/src/cli/helpers/ado-area-path-mapper.js.map +1 -1
- package/dist/src/cli/helpers/github/increment-profile-selector.d.ts.map +1 -1
- package/dist/src/cli/helpers/github/increment-profile-selector.js.map +1 -1
- package/dist/src/cli/helpers/github/profile-manager.d.ts.map +1 -1
- package/dist/src/cli/helpers/github/profile-manager.js +8 -11
- package/dist/src/cli/helpers/github/profile-manager.js.map +1 -1
- package/dist/src/cli/helpers/github-repo-selector.d.ts.map +1 -1
- package/dist/src/cli/helpers/github-repo-selector.js +26 -50
- package/dist/src/cli/helpers/github-repo-selector.js.map +1 -1
- package/dist/src/cli/helpers/import-strategy-prompter.d.ts.map +1 -1
- package/dist/src/cli/helpers/import-strategy-prompter.js +39 -52
- package/dist/src/cli/helpers/import-strategy-prompter.js.map +1 -1
- package/dist/src/cli/helpers/init/config-detection.d.ts +40 -0
- package/dist/src/cli/helpers/init/config-detection.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/config-detection.js +125 -0
- package/dist/src/cli/helpers/init/config-detection.js.map +1 -0
- package/dist/src/cli/helpers/init/directory-structure.d.ts +26 -0
- package/dist/src/cli/helpers/init/directory-structure.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/directory-structure.js +190 -0
- package/dist/src/cli/helpers/init/directory-structure.js.map +1 -0
- package/dist/src/cli/helpers/init/external-import.d.ts +15 -0
- package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/external-import.js +251 -0
- package/dist/src/cli/helpers/init/external-import.js.map +1 -0
- package/dist/src/cli/helpers/init/index.d.ts +15 -0
- package/dist/src/cli/helpers/init/index.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/index.js +26 -0
- package/dist/src/cli/helpers/init/index.js.map +1 -0
- package/dist/src/cli/helpers/init/next-steps.d.ts +15 -0
- package/dist/src/cli/helpers/init/next-steps.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/next-steps.js +72 -0
- package/dist/src/cli/helpers/init/next-steps.js.map +1 -0
- package/dist/src/cli/helpers/init/path-utils.d.ts +41 -0
- package/dist/src/cli/helpers/init/path-utils.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/path-utils.js +146 -0
- package/dist/src/cli/helpers/init/path-utils.js.map +1 -0
- package/dist/src/cli/helpers/init/plugin-installer.d.ts +28 -0
- package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/plugin-installer.js +238 -0
- package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -0
- package/dist/src/cli/helpers/init/repository-setup.d.ts +28 -0
- package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/repository-setup.js +78 -0
- package/dist/src/cli/helpers/init/repository-setup.js.map +1 -0
- package/dist/src/cli/helpers/init/smart-reinit.d.ts +30 -0
- package/dist/src/cli/helpers/init/smart-reinit.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/smart-reinit.js +140 -0
- package/dist/src/cli/helpers/init/smart-reinit.js.map +1 -0
- package/dist/src/cli/helpers/init/testing-config.d.ts +27 -0
- package/dist/src/cli/helpers/init/testing-config.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/testing-config.js +131 -0
- package/dist/src/cli/helpers/init/testing-config.js.map +1 -0
- package/dist/src/cli/helpers/init/types.d.ts +86 -0
- package/dist/src/cli/helpers/init/types.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/types.js +5 -0
- package/dist/src/cli/helpers/init/types.js.map +1 -0
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js +10 -12
- package/dist/src/cli/helpers/issue-tracker/ado-auto-discover.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +43 -60
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- 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 +193 -230
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.js +43 -54
- 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 +27 -40
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.js +54 -70
- package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -1
- package/dist/src/cli/helpers/smart-filter.d.ts.map +1 -1
- package/dist/src/cli/helpers/smart-filter.js +62 -85
- package/dist/src/cli/helpers/smart-filter.js.map +1 -1
- package/dist/src/core/increment/auto-transition-manager.d.ts +12 -0
- package/dist/src/core/increment/auto-transition-manager.d.ts.map +1 -1
- package/dist/src/core/increment/auto-transition-manager.js +45 -0
- package/dist/src/core/increment/auto-transition-manager.js.map +1 -1
- package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
- package/dist/src/core/increment/metadata-manager.js +46 -0
- package/dist/src/core/increment/metadata-manager.js.map +1 -1
- package/dist/src/core/increment/status-change-sync-trigger.d.ts +12 -0
- package/dist/src/core/increment/status-change-sync-trigger.d.ts.map +1 -1
- package/dist/src/core/increment/status-change-sync-trigger.js +48 -2
- package/dist/src/core/increment/status-change-sync-trigger.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +13 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +40 -0
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-bulk-discovery.js +63 -83
- package/dist/src/core/repo-structure/repo-bulk-discovery.js.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +339 -424
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -1
- package/dist/src/core/sync/bidirectional-engine.js +21 -29
- package/dist/src/core/sync/bidirectional-engine.js.map +1 -1
- package/dist/src/init/InitFlow.js +15 -19
- package/dist/src/init/InitFlow.js.map +1 -1
- package/dist/src/init/repo/types.d.ts +1 -1
- package/dist/src/integrations/ado/area-path-mapper.d.ts.map +1 -1
- package/dist/src/integrations/ado/area-path-mapper.js +19 -23
- package/dist/src/integrations/ado/area-path-mapper.js.map +1 -1
- package/dist/src/utils/external-resource-validator.d.ts.map +1 -1
- package/dist/src/utils/external-resource-validator.js +41 -65
- package/dist/src/utils/external-resource-validator.js.map +1 -1
- package/dist/src/utils/project-detection.d.ts.map +1 -1
- package/dist/src/utils/project-detection.js +19 -21
- package/dist/src/utils/project-detection.js.map +1 -1
- package/dist/src/utils/project-validator.d.ts.map +1 -1
- package/dist/src/utils/project-validator.js +5 -7
- package/dist/src/utils/project-validator.js.map +1 -1
- package/package.json +2 -3
- package/plugins/specweave/agents/tech-lead/AGENT.md +9 -0
- package/plugins/specweave/hooks/docs-changed.sh.backup +79 -0
- package/plugins/specweave/hooks/human-input-required.sh.backup +75 -0
- package/plugins/specweave/hooks/post-first-increment.sh.backup +61 -0
- package/plugins/specweave/hooks/post-increment-change.sh.backup +98 -0
- package/plugins/specweave/hooks/post-increment-completion.sh.backup +231 -0
- package/plugins/specweave/hooks/post-increment-planning.sh.backup +1048 -0
- package/plugins/specweave/hooks/post-increment-status-change.sh.backup +147 -0
- package/plugins/specweave/hooks/post-spec-update.sh.backup +158 -0
- package/plugins/specweave/hooks/post-user-story-complete.sh.backup +179 -0
- package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +83 -0
- package/plugins/specweave/hooks/pre-implementation.sh.backup +67 -0
- package/plugins/specweave/hooks/pre-task-completion.sh.backup +194 -0
- package/plugins/specweave/hooks/pre-tool-use.sh.backup +133 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh.backup +386 -0
- package/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.d.ts +12 -0
- package/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js +45 -0
- package/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js.map +1 -1
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +46 -0
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
- package/plugins/specweave/skills/increment-planner/SKILL.md +10 -5
- package/plugins/specweave/skills/specweave-framework/SKILL.md +6 -4
- package/plugins/specweave/templates/coding-standards.md.template +36 -0
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +353 -0
- package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +172 -0
- package/plugins/specweave-ado/lib/ado-multi-project-sync.js +1 -0
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +170 -0
- package/plugins/specweave-ado/lib/project-selector.js +56 -67
- package/plugins/specweave-ado/lib/project-selector.ts +72 -85
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +1104 -0
- package/plugins/specweave-github/hooks/post-task-completion.sh.backup +258 -0
- package/plugins/specweave-github/lib/repo-selector.js +55 -66
- package/plugins/specweave-github/lib/repo-selector.ts +73 -84
- package/plugins/specweave-jira/commands/import-projects.js +3 -5
- package/plugins/specweave-jira/commands/import-projects.ts +3 -5
- package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +172 -0
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
- package/plugins/specweave-jira/lib/project-selector.js +60 -71
- package/plugins/specweave-jira/lib/project-selector.ts +78 -91
- package/plugins/specweave-jira/lib/setup-wizard.js +51 -72
- package/plugins/specweave-jira/lib/setup-wizard.ts +56 -74
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +1017 -0
- package/plugins/specweave-release/hooks/post-task-completion.sh.backup +110 -0
- package/src/templates/CLAUDE.md.template +14 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-manager.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/github/profile-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,UAAU,CAAC,EAAE;QACX,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAkBD;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAkB;gBAEpB,WAAW,EAAE,MAAM;IAK/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAgClB;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;;;OAIG;IACH,cAAc,IAAI,aAAa,EAAE;IAUjC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAQ5C;;;;OAIG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAUxC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,OAAO;IA4C7D;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,OAAO;IAuB5F;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA+BlC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAiBrC;;;;;OAKG;IACG,aAAa,CAAC,OAAO,GAAE,MAAoC,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-manager.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/github/profile-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,UAAU,CAAC,EAAE;QACX,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAkBD;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAkB;gBAEpB,WAAW,EAAE,MAAM;IAK/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAgClB;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;;;OAIG;IACH,cAAc,IAAI,aAAa,EAAE;IAUjC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAQ5C;;;;OAIG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAUxC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,OAAO;IA4C7D;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,OAAO;IAuB5F;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA+BlC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAiBrC;;;;;OAKG;IACG,aAAa,CAAC,OAAO,GAAE,MAAoC,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAwBjG;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,YAAY,IAAI,IAAI;CAwBrB"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import * as fs from 'fs';
|
|
10
10
|
import * as path from 'path';
|
|
11
11
|
import chalk from 'chalk';
|
|
12
|
-
import
|
|
12
|
+
import { select } from '@inquirer/prompts';
|
|
13
13
|
/**
|
|
14
14
|
* GitHub Profile Manager
|
|
15
15
|
*
|
|
@@ -256,16 +256,13 @@ export class GitHubProfileManager {
|
|
|
256
256
|
// Auto-select if only one profile
|
|
257
257
|
return profiles[0];
|
|
258
258
|
}
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
short: p.id
|
|
267
|
-
}))
|
|
268
|
-
}]);
|
|
259
|
+
const selectedId = await select({
|
|
260
|
+
message,
|
|
261
|
+
choices: profiles.map(p => ({
|
|
262
|
+
name: `${p.displayName} (${p.config.owner}/${p.config.repo})`,
|
|
263
|
+
value: p.id
|
|
264
|
+
}))
|
|
265
|
+
});
|
|
269
266
|
return this.getProfile(selectedId);
|
|
270
267
|
}
|
|
271
268
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-manager.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/github/profile-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"profile-manager.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/github/profile-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-repo-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUhF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,EAAE,CAAC,CAuBvB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAuBvF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAK9F;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAqB/D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"github-repo-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUhF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,EAAE,CAAC,CAuBvB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAuBvF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAK9F;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAqB/D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAuIrC"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - Validate repository access
|
|
11
11
|
* - Save selection to config
|
|
12
12
|
*/
|
|
13
|
-
import
|
|
13
|
+
import { select, input, confirm } from '@inquirer/prompts';
|
|
14
14
|
import chalk from 'chalk';
|
|
15
15
|
import { minimatch } from 'minimatch';
|
|
16
16
|
/**
|
|
@@ -135,14 +135,10 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
135
135
|
{ name: 'Pattern matching (e.g., "ec-*", "*-backend")', value: 'pattern' },
|
|
136
136
|
{ name: 'Explicit list (comma-separated repo names)', value: 'explicit' }
|
|
137
137
|
];
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
message: 'How do you want to select repositories?',
|
|
143
|
-
choices: strategyChoices
|
|
144
|
-
}
|
|
145
|
-
]);
|
|
138
|
+
const strategy = await select({
|
|
139
|
+
message: 'How do you want to select repositories?',
|
|
140
|
+
choices: strategyChoices
|
|
141
|
+
});
|
|
146
142
|
let selectedRepos = [];
|
|
147
143
|
let selectionConfig = {
|
|
148
144
|
repositories: [],
|
|
@@ -152,14 +148,10 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
152
148
|
switch (strategy) {
|
|
153
149
|
case 'all-org': {
|
|
154
150
|
// Prompt to select organization
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
message: 'Select organization:',
|
|
160
|
-
choices: orgs
|
|
161
|
-
}
|
|
162
|
-
]);
|
|
151
|
+
const selectedOrg = await select({
|
|
152
|
+
message: 'Select organization:',
|
|
153
|
+
choices: orgs.map(org => ({ name: org, value: org }))
|
|
154
|
+
});
|
|
163
155
|
console.log(chalk.gray(`\n⏳ Fetching repositories from ${selectedOrg}...\n`));
|
|
164
156
|
selectedRepos = await fetchOrgRepositories(octokit, selectedOrg);
|
|
165
157
|
selectionConfig.organizationName = selectedOrg;
|
|
@@ -176,14 +168,10 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
176
168
|
{ name: 'Personal repositories', value: 'personal' },
|
|
177
169
|
...orgs.map(org => ({ name: `Organization: ${org}`, value: `org:${org}` }))
|
|
178
170
|
];
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
message: 'Select repository source:',
|
|
184
|
-
choices: sourceChoices
|
|
185
|
-
}
|
|
186
|
-
]);
|
|
171
|
+
const source = await select({
|
|
172
|
+
message: 'Select repository source:',
|
|
173
|
+
choices: sourceChoices
|
|
174
|
+
});
|
|
187
175
|
let allRepos = [];
|
|
188
176
|
if (source === 'personal') {
|
|
189
177
|
console.log(chalk.gray('\n⏳ Fetching your personal repositories...\n'));
|
|
@@ -196,14 +184,10 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
196
184
|
selectionConfig.organizationName = orgName;
|
|
197
185
|
}
|
|
198
186
|
// Prompt for pattern
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
message: 'Enter pattern (e.g., "ec-*", "*-backend", "microservice-*"):',
|
|
204
|
-
validate: (input) => input.trim() ? true : 'Pattern is required'
|
|
205
|
-
}
|
|
206
|
-
]);
|
|
187
|
+
const pattern = await input({
|
|
188
|
+
message: 'Enter pattern (e.g., "ec-*", "*-backend", "microservice-*"):',
|
|
189
|
+
validate: (value) => value.trim() ? true : 'Pattern is required'
|
|
190
|
+
});
|
|
207
191
|
selectedRepos = filterRepositoriesByPattern(allRepos, pattern.trim());
|
|
208
192
|
selectionConfig.pattern = pattern.trim();
|
|
209
193
|
if (selectedRepos.length === 0) {
|
|
@@ -213,14 +197,10 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
213
197
|
break;
|
|
214
198
|
}
|
|
215
199
|
case 'explicit': {
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
message: 'Enter repository names (comma-separated, e.g., "repo1, repo2, repo3"):',
|
|
221
|
-
validate: (input) => input.trim() ? true : 'At least one repository is required'
|
|
222
|
-
}
|
|
223
|
-
]);
|
|
200
|
+
const repoList = await input({
|
|
201
|
+
message: 'Enter repository names (comma-separated, e.g., "repo1, repo2, repo3"):',
|
|
202
|
+
validate: (value) => value.trim() ? true : 'At least one repository is required'
|
|
203
|
+
});
|
|
224
204
|
const repoNames = repoList.split(',').map(s => s.trim()).filter(Boolean);
|
|
225
205
|
// Fetch authenticated user to get owner name
|
|
226
206
|
const { data: user } = await octokit.users.getAuthenticated();
|
|
@@ -245,15 +225,11 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
245
225
|
}
|
|
246
226
|
// Step 4: Show preview and confirm
|
|
247
227
|
showRepositoryPreview(selectedRepos);
|
|
248
|
-
const
|
|
249
|
-
{
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
default: true
|
|
254
|
-
}
|
|
255
|
-
]);
|
|
256
|
-
if (!confirm) {
|
|
228
|
+
const confirmed = await confirm({
|
|
229
|
+
message: `Connect these ${selectedRepos.length} repositories?`,
|
|
230
|
+
default: true
|
|
231
|
+
});
|
|
232
|
+
if (!confirmed) {
|
|
257
233
|
console.log(chalk.gray('\n✓ Repository selection cancelled\n'));
|
|
258
234
|
return null;
|
|
259
235
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-repo-selector.js","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"github-repo-selector.js","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-strategy-prompter.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/import-strategy-prompter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"import-strategy-prompter.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/import-strategy-prompter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CA2C/B"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module cli/helpers/import-strategy-prompter
|
|
11
11
|
*/
|
|
12
|
-
import
|
|
12
|
+
import { select, input, confirm } from '@inquirer/prompts';
|
|
13
13
|
import chalk from 'chalk';
|
|
14
14
|
import { consoleLogger } from '../../utils/logger.js';
|
|
15
15
|
/**
|
|
@@ -26,29 +26,24 @@ export async function promptImportStrategy(options) {
|
|
|
26
26
|
// Display project count
|
|
27
27
|
logger.log(chalk.cyan(`\nFound ${totalCount} accessible ${provider.toUpperCase()} projects.`));
|
|
28
28
|
// Show strategy prompt
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
}
|
|
50
|
-
]);
|
|
51
|
-
const strategy = strategyAnswer.strategy;
|
|
29
|
+
const strategy = await select({
|
|
30
|
+
message: 'How would you like to import projects?',
|
|
31
|
+
default: 'import-all', // CLI-first default
|
|
32
|
+
choices: [
|
|
33
|
+
{
|
|
34
|
+
name: chalk.green('✓ Import all projects (Recommended)') + chalk.gray(' - All selected by default'),
|
|
35
|
+
value: 'import-all'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Select specific projects' + chalk.gray(' - Choose from checkbox list'),
|
|
39
|
+
value: 'select-specific'
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Manual entry' + chalk.gray(' - Enter project keys manually'),
|
|
43
|
+
value: 'manual-entry'
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
});
|
|
52
47
|
// Handle manual entry
|
|
53
48
|
if (strategy === 'manual-entry') {
|
|
54
49
|
return await handleManualEntry(logger);
|
|
@@ -76,28 +71,24 @@ export async function promptImportStrategy(options) {
|
|
|
76
71
|
*/
|
|
77
72
|
async function handleManualEntry(logger) {
|
|
78
73
|
logger.log(chalk.gray('\n💡 Tip: Enter project keys separated by commas (e.g., BACKEND,FRONTEND,MOBILE)'));
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const trimmed = input.trim();
|
|
87
|
-
if (!trimmed) {
|
|
88
|
-
return chalk.red('Project keys cannot be empty. Please enter at least one project key.');
|
|
89
|
-
}
|
|
90
|
-
// Check format (allow A-Z, 0-9, _, -, and commas)
|
|
91
|
-
const validFormat = /^[A-Z0-9_,-]+$/i.test(trimmed);
|
|
92
|
-
if (!validFormat) {
|
|
93
|
-
return chalk.red('Invalid format. Use only letters, numbers, underscores, hyphens, and commas.');
|
|
94
|
-
}
|
|
95
|
-
return true;
|
|
74
|
+
const projectKeysInput = await input({
|
|
75
|
+
message: 'Enter project keys (comma-separated):',
|
|
76
|
+
validate: (val) => {
|
|
77
|
+
// Validate format: alphanumeric, underscores, hyphens, and commas only
|
|
78
|
+
const trimmed = val.trim();
|
|
79
|
+
if (!trimmed) {
|
|
80
|
+
return chalk.red('Project keys cannot be empty. Please enter at least one project key.');
|
|
96
81
|
}
|
|
82
|
+
// Check format (allow A-Z, 0-9, _, -, and commas)
|
|
83
|
+
const validFormat = /^[A-Z0-9_,-]+$/i.test(trimmed);
|
|
84
|
+
if (!validFormat) {
|
|
85
|
+
return chalk.red('Invalid format. Use only letters, numbers, underscores, hyphens, and commas.');
|
|
86
|
+
}
|
|
87
|
+
return true;
|
|
97
88
|
}
|
|
98
|
-
|
|
89
|
+
});
|
|
99
90
|
// Parse and clean project keys
|
|
100
|
-
const projectKeys =
|
|
91
|
+
const projectKeys = projectKeysInput
|
|
101
92
|
.split(',')
|
|
102
93
|
.map(key => key.trim().toUpperCase())
|
|
103
94
|
.filter(key => key.length > 0);
|
|
@@ -123,14 +114,10 @@ async function showSafetyConfirmation(totalCount, logger) {
|
|
|
123
114
|
: `~${Math.ceil(estimatedSeconds / 60)}m`;
|
|
124
115
|
logger.log(chalk.yellow(`\n⚠️ Large import detected: ${totalCount} projects`));
|
|
125
116
|
logger.log(chalk.gray(` Estimated time: ${estimatedTime} (${estimatedBatches} batches)`));
|
|
126
|
-
const
|
|
127
|
-
{
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
default: false // Safe default (prevent accidents)
|
|
132
|
-
}
|
|
133
|
-
]);
|
|
134
|
-
return confirmation.confirmed;
|
|
117
|
+
const confirmed = await confirm({
|
|
118
|
+
message: `Import all ${totalCount} projects?`,
|
|
119
|
+
default: false // Safe default (prevent accidents)
|
|
120
|
+
});
|
|
121
|
+
return confirmed;
|
|
135
122
|
}
|
|
136
123
|
//# sourceMappingURL=import-strategy-prompter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-strategy-prompter.js","sourceRoot":"","sources":["../../../../src/cli/helpers/import-strategy-prompter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"import-strategy-prompter.js","sourceRoot":"","sources":["../../../../src/cli/helpers/import-strategy-prompter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration detection utilities
|
|
3
|
+
* Detects GitHub, JIRA, and Azure DevOps configurations
|
|
4
|
+
*/
|
|
5
|
+
import type { GitHubRemote, JiraConfig, ADOConfig } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Detect GitHub repository owner and name from git remote
|
|
8
|
+
* Parses .git/config to extract GitHub remote URL
|
|
9
|
+
*
|
|
10
|
+
* @param targetDir - Project directory to check
|
|
11
|
+
* @returns GitHub remote info or null if not detected
|
|
12
|
+
*/
|
|
13
|
+
export declare function detectGitHubRemote(targetDir: string): GitHubRemote | null;
|
|
14
|
+
/**
|
|
15
|
+
* Detect JIRA configuration from environment or .env file
|
|
16
|
+
*
|
|
17
|
+
* @param targetDir - Project directory to check
|
|
18
|
+
* @returns JIRA config or null if not detected
|
|
19
|
+
*/
|
|
20
|
+
export declare function detectJiraConfig(targetDir: string): JiraConfig | null;
|
|
21
|
+
/**
|
|
22
|
+
* Detect Azure DevOps configuration from environment or .env file
|
|
23
|
+
*
|
|
24
|
+
* @param targetDir - Project directory to check
|
|
25
|
+
* @returns ADO config or null if not detected
|
|
26
|
+
*/
|
|
27
|
+
export declare function detectADOConfig(targetDir: string): ADOConfig | null;
|
|
28
|
+
/**
|
|
29
|
+
* Detect all available external tool configurations
|
|
30
|
+
*
|
|
31
|
+
* @param targetDir - Project directory to check
|
|
32
|
+
* @returns Object with detected configurations
|
|
33
|
+
*/
|
|
34
|
+
export declare function detectAllConfigs(targetDir: string): {
|
|
35
|
+
github: GitHubRemote | null;
|
|
36
|
+
jira: JiraConfig | null;
|
|
37
|
+
ado: ADOConfig | null;
|
|
38
|
+
availableTools: string[];
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=config-detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-detection.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/config-detection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA2BzE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA8BrE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA8BnE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG;IACnD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAWA"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration detection utilities
|
|
3
|
+
* Detects GitHub, JIRA, and Azure DevOps configurations
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from '../../../utils/fs-native.js';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import { parseEnvFile } from '../../../utils/env-file.js';
|
|
8
|
+
/**
|
|
9
|
+
* Detect GitHub repository owner and name from git remote
|
|
10
|
+
* Parses .git/config to extract GitHub remote URL
|
|
11
|
+
*
|
|
12
|
+
* @param targetDir - Project directory to check
|
|
13
|
+
* @returns GitHub remote info or null if not detected
|
|
14
|
+
*/
|
|
15
|
+
export function detectGitHubRemote(targetDir) {
|
|
16
|
+
try {
|
|
17
|
+
const gitConfigPath = path.join(targetDir, '.git', 'config');
|
|
18
|
+
if (!fs.existsSync(gitConfigPath)) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const gitConfig = fs.readFileSync(gitConfigPath, 'utf-8');
|
|
22
|
+
// Match GitHub remote URLs (both HTTPS and SSH)
|
|
23
|
+
// HTTPS: https://github.com/owner/repo.git
|
|
24
|
+
// SSH: git@github.com:owner/repo.git
|
|
25
|
+
const httpsMatch = gitConfig.match(/https:\/\/github\.com\/([^/]+)\/([^/\s]+?)(?:\.git)?(?:\s|$)/);
|
|
26
|
+
const sshMatch = gitConfig.match(/git@github\.com:([^/]+)\/([^/\s]+?)(?:\.git)?(?:\s|$)/);
|
|
27
|
+
const match = httpsMatch || sshMatch;
|
|
28
|
+
if (match) {
|
|
29
|
+
return {
|
|
30
|
+
owner: match[1],
|
|
31
|
+
repo: match[2].replace(/\.git$/, '')
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Detect JIRA configuration from environment or .env file
|
|
42
|
+
*
|
|
43
|
+
* @param targetDir - Project directory to check
|
|
44
|
+
* @returns JIRA config or null if not detected
|
|
45
|
+
*/
|
|
46
|
+
export function detectJiraConfig(targetDir) {
|
|
47
|
+
try {
|
|
48
|
+
// Check environment variables first
|
|
49
|
+
const envHost = process.env.JIRA_HOST;
|
|
50
|
+
const envEmail = process.env.JIRA_EMAIL;
|
|
51
|
+
const envToken = process.env.JIRA_API_TOKEN;
|
|
52
|
+
if (envHost && envEmail && envToken) {
|
|
53
|
+
return { host: envHost, email: envEmail, apiToken: envToken };
|
|
54
|
+
}
|
|
55
|
+
// Check .env file
|
|
56
|
+
const envPath = path.join(targetDir, '.env');
|
|
57
|
+
if (fs.existsSync(envPath)) {
|
|
58
|
+
const envContent = fs.readFileSync(envPath, 'utf-8');
|
|
59
|
+
const envVars = parseEnvFile(envContent);
|
|
60
|
+
const fileHost = envVars.JIRA_HOST;
|
|
61
|
+
const fileEmail = envVars.JIRA_EMAIL;
|
|
62
|
+
const fileToken = envVars.JIRA_API_TOKEN;
|
|
63
|
+
if (fileHost && fileEmail && fileToken) {
|
|
64
|
+
return { host: fileHost, email: fileEmail, apiToken: fileToken };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Detect Azure DevOps configuration from environment or .env file
|
|
75
|
+
*
|
|
76
|
+
* @param targetDir - Project directory to check
|
|
77
|
+
* @returns ADO config or null if not detected
|
|
78
|
+
*/
|
|
79
|
+
export function detectADOConfig(targetDir) {
|
|
80
|
+
try {
|
|
81
|
+
// Check environment variables first
|
|
82
|
+
const envOrgUrl = process.env.ADO_ORG_URL;
|
|
83
|
+
const envProject = process.env.ADO_PROJECT;
|
|
84
|
+
const envPat = process.env.ADO_PAT || process.env.AZURE_DEVOPS_PAT;
|
|
85
|
+
if (envOrgUrl && envProject && envPat) {
|
|
86
|
+
return { orgUrl: envOrgUrl, project: envProject, pat: envPat };
|
|
87
|
+
}
|
|
88
|
+
// Check .env file
|
|
89
|
+
const envPath = path.join(targetDir, '.env');
|
|
90
|
+
if (fs.existsSync(envPath)) {
|
|
91
|
+
const envContent = fs.readFileSync(envPath, 'utf-8');
|
|
92
|
+
const envVars = parseEnvFile(envContent);
|
|
93
|
+
const fileOrgUrl = envVars.ADO_ORG_URL;
|
|
94
|
+
const fileProject = envVars.ADO_PROJECT;
|
|
95
|
+
const filePat = envVars.ADO_PAT || envVars.AZURE_DEVOPS_PAT;
|
|
96
|
+
if (fileOrgUrl && fileProject && filePat) {
|
|
97
|
+
return { orgUrl: fileOrgUrl, project: fileProject, pat: filePat };
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Detect all available external tool configurations
|
|
108
|
+
*
|
|
109
|
+
* @param targetDir - Project directory to check
|
|
110
|
+
* @returns Object with detected configurations
|
|
111
|
+
*/
|
|
112
|
+
export function detectAllConfigs(targetDir) {
|
|
113
|
+
const github = detectGitHubRemote(targetDir);
|
|
114
|
+
const jira = detectJiraConfig(targetDir);
|
|
115
|
+
const ado = detectADOConfig(targetDir);
|
|
116
|
+
const availableTools = [];
|
|
117
|
+
if (github)
|
|
118
|
+
availableTools.push('GitHub');
|
|
119
|
+
if (jira)
|
|
120
|
+
availableTools.push('JIRA');
|
|
121
|
+
if (ado)
|
|
122
|
+
availableTools.push('Azure DevOps');
|
|
123
|
+
return { github, jira, ado, availableTools };
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=config-detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-detection.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/config-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directory structure creation and template copying
|
|
3
|
+
*/
|
|
4
|
+
import type { SupportedLanguage } from '../../../core/i18n/types.js';
|
|
5
|
+
import type { TestMode } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Create the .specweave directory structure
|
|
8
|
+
*
|
|
9
|
+
* @param targetDir - Target directory
|
|
10
|
+
* @param _adapterName - Adapter name (unused, kept for API compatibility)
|
|
11
|
+
*/
|
|
12
|
+
export declare function createDirectoryStructure(targetDir: string, _adapterName: string): void;
|
|
13
|
+
/**
|
|
14
|
+
* Copy templates and generate CLAUDE.md and AGENTS.md
|
|
15
|
+
*
|
|
16
|
+
* @param templatesDir - Source templates directory
|
|
17
|
+
* @param targetDir - Target directory
|
|
18
|
+
* @param projectName - Project name
|
|
19
|
+
* @param language - Language for i18n
|
|
20
|
+
*/
|
|
21
|
+
export declare function copyTemplates(templatesDir: string, targetDir: string, projectName: string, language?: SupportedLanguage): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Create .specweave/config.json with project settings
|
|
24
|
+
*/
|
|
25
|
+
export declare function createConfigFile(targetDir: string, projectName: string, adapter: string, language: SupportedLanguage, enableDocsPreview?: boolean, testMode?: TestMode, coverageTarget?: number): void;
|
|
26
|
+
//# sourceMappingURL=directory-structure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directory-structure.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAqBtF;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,IAAI,CAAC,CAqEf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAC3B,iBAAiB,GAAE,OAAc,EACjC,QAAQ,CAAC,EAAE,QAAQ,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAoFN"}
|