specweave 1.0.418 → 1.0.419
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cli/commands/init.d.ts +4 -11
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +126 -732
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/resolve-structure.d.ts +4 -2
- package/dist/src/cli/commands/resolve-structure.d.ts.map +1 -1
- package/dist/src/cli/commands/resolve-structure.js +4 -2
- package/dist/src/cli/commands/resolve-structure.js.map +1 -1
- package/dist/src/cli/helpers/init/ado-repo-cloning.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/ado-repo-cloning.js +14 -12
- package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +1 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js +14 -12
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js.map +1 -1
- package/dist/src/cli/helpers/init/directory-structure.d.ts +2 -2
- package/dist/src/cli/helpers/init/directory-structure.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/directory-structure.js +5 -23
- package/dist/src/cli/helpers/init/directory-structure.js.map +1 -1
- package/dist/src/cli/helpers/init/github-repo-cloning.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/github-repo-cloning.js +14 -12
- package/dist/src/cli/helpers/init/github-repo-cloning.js.map +1 -1
- package/dist/src/cli/helpers/init/index.d.ts +5 -7
- package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/index.js +6 -17
- package/dist/src/cli/helpers/init/index.js.map +1 -1
- package/dist/src/cli/helpers/init/next-steps.d.ts +6 -6
- package/dist/src/cli/helpers/init/next-steps.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/next-steps.js +49 -52
- package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
- package/dist/src/cli/helpers/init/smart-defaults.js +1 -1
- package/dist/src/cli/helpers/init/smart-defaults.js.map +1 -1
- package/dist/src/cli/helpers/init/summary-banner.d.ts +2 -21
- package/dist/src/cli/helpers/init/summary-banner.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/summary-banner.js +3 -49
- package/dist/src/cli/helpers/init/summary-banner.js.map +1 -1
- package/dist/src/config/types.d.ts +8 -8
- package/dist/src/core/background/job-launcher.d.ts +2 -0
- package/dist/src/core/background/job-launcher.d.ts.map +1 -1
- package/dist/src/core/background/job-launcher.js +7 -8
- package/dist/src/core/background/job-launcher.js.map +1 -1
- package/dist/src/init/architecture/types.d.ts +2 -2
- package/dist/src/init/compliance/types.d.ts +2 -2
- package/package.json +1 -1
- package/plugins/specweave/hooks/v2/guards/increment-existence-guard.sh +11 -80
- package/plugins/specweave/skills/team-build/SKILL.md +39 -120
- package/plugins/specweave/skills/team-lead/SKILL.md +232 -494
- package/src/templates/config.json.template +2 -77
- package/plugins/specweave/skills/team-lead/agents/brainstorm-advocate.md +0 -65
- package/plugins/specweave/skills/team-lead/agents/brainstorm-critic.md +0 -75
- package/plugins/specweave/skills/team-lead/agents/brainstorm-pragmatist.md +0 -83
- package/plugins/specweave/skills/team-lead/agents/reviewer-logic.md +0 -63
- package/plugins/specweave/skills/team-lead/agents/reviewer-performance.md +0 -63
- package/plugins/specweave/skills/team-lead/agents/reviewer-security.md +0 -62
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Init command helpers - barrel export
|
|
3
|
+
*
|
|
4
|
+
* Simplified (v1.0.415): Removed exports for helpers no longer used by init
|
|
5
|
+
* (external tool setup, brownfield analysis, testing/translation config).
|
|
6
|
+
* Those modules still exist for use by other commands but aren't re-exported here.
|
|
3
7
|
*/
|
|
4
8
|
export { WIZARD_BACK, isGoBack, getGoBackStrings, createGoBackChoice, logGoingBack, type WizardResult, } from './wizard-navigation.js';
|
|
5
9
|
export * from './types.js';
|
|
6
10
|
export { findPackageRoot, findSourceDir, detectNestedSpecweave, countFilesRecursive, detectUmbrellaParent, detectSuspiciousPath, SUSPICIOUS_PATH_SEGMENTS, } from './path-utils.js';
|
|
7
11
|
export { detectGitHubRemote, detectJiraConfig, detectADOConfig, detectAllConfigs, } from './config-detection.js';
|
|
12
|
+
export { detectProvider, type ProviderInfo, } from './provider-detection.js';
|
|
8
13
|
export { promptSmartReinit, type SmartReinitOptions, type SmartReinitResult, } from './smart-reinit.js';
|
|
9
14
|
export { installAllPlugins, type PluginInstallOptions, type PluginInstallResult, } from './plugin-installer.js';
|
|
10
15
|
export { enablePluginsInSettings, enablePlugin, } from './claude-plugin-enabler.js';
|
|
11
|
-
export { setupRepositoryHosting, type RepositorySetupOptions, type RepositorySetupResult, type AdoProjectSelection, } from './repository-setup.js';
|
|
12
|
-
export { promptTestingConfig, updateConfigWithTesting, type TestingConfigResult, } from './testing-config.js';
|
|
13
16
|
export { promptLanguageSelection, getDefaultLanguageSelection, getLanguageNativeName, type LanguageSelectionResult, } from './language-selection.js';
|
|
14
|
-
export { promptTranslationConfig, updateConfigWithTranslation, getDefaultTranslationConfig, type TranslationConfigResult, type TranslationScope, } from './translation-config.js';
|
|
15
|
-
export { promptAndRunExternalImport, } from './external-import.js';
|
|
16
17
|
export { createDirectoryStructure, copyTemplates, createConfigFile, scanAndSuggestMerges, } from './directory-structure.js';
|
|
17
18
|
export { showNextSteps, type ShowNextStepsOptions, } from './next-steps.js';
|
|
18
19
|
export { installGitHooks, uninstallGitHooks, areGitHooksInstalled, } from './git-hooks-installer.js';
|
|
19
|
-
export { promptBrownfieldAnalysis, updateConfigWithBrownfield, detectExistingDocsLocations, type BrownfieldAnalysisConfig, type AnalysisDepth, type DetectedDocsLocation, } from './brownfield-analysis.js';
|
|
20
20
|
export { mergeInstructionFile, parseTemplateSections, getPackageVersion, type TemplateType, type TemplateSection, type MergeResult, } from './instruction-file-merger.js';
|
|
21
21
|
export { generateSmartGitignore, detectTechStack, generateGitignore, generateRepoGitignore, writeGitignore, type DetectedTech, type TechCategory, type TechStackDetection, } from './gitignore-generator.js';
|
|
22
|
-
export { promptDeepInterviewConfig, updateConfigWithDeepInterview, type DeepInterviewConfigResult, } from './deep-interview-config.js';
|
|
23
|
-
export { promptQualityGatesConfig, updateConfigWithQualityGates, getQualityGatePreset, type QualityGatesConfigResult, type QualityGatePreset, type QualityGateSettings, } from './quality-gates-config.js';
|
|
24
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,YAAY,GACb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Init command helpers - barrel export
|
|
3
|
+
*
|
|
4
|
+
* Simplified (v1.0.415): Removed exports for helpers no longer used by init
|
|
5
|
+
* (external tool setup, brownfield analysis, testing/translation config).
|
|
6
|
+
* Those modules still exist for use by other commands but aren't re-exported here.
|
|
3
7
|
*/
|
|
4
8
|
// Wizard navigation (go-back support)
|
|
5
9
|
export { WIZARD_BACK, isGoBack, getGoBackStrings, createGoBackChoice, logGoingBack, } from './wizard-navigation.js';
|
|
@@ -9,39 +13,24 @@ export * from './types.js';
|
|
|
9
13
|
export { findPackageRoot, findSourceDir, detectNestedSpecweave, countFilesRecursive, detectUmbrellaParent, detectSuspiciousPath, SUSPICIOUS_PATH_SEGMENTS, } from './path-utils.js';
|
|
10
14
|
// Config detection
|
|
11
15
|
export { detectGitHubRemote, detectJiraConfig, detectADOConfig, detectAllConfigs, } from './config-detection.js';
|
|
16
|
+
// Provider detection (git remote → provider/owner/repo)
|
|
17
|
+
export { detectProvider, } from './provider-detection.js';
|
|
12
18
|
// Smart re-initialization
|
|
13
19
|
export { promptSmartReinit, } from './smart-reinit.js';
|
|
14
20
|
// Plugin installation
|
|
15
21
|
export { installAllPlugins, } from './plugin-installer.js';
|
|
16
22
|
// Plugin enabler
|
|
17
23
|
export { enablePluginsInSettings, enablePlugin, } from './claude-plugin-enabler.js';
|
|
18
|
-
// Repository setup
|
|
19
|
-
export { setupRepositoryHosting, } from './repository-setup.js';
|
|
20
|
-
// Testing configuration
|
|
21
|
-
export { promptTestingConfig, updateConfigWithTesting, } from './testing-config.js';
|
|
22
24
|
// Language selection (MUST be first in init)
|
|
23
25
|
export { promptLanguageSelection, getDefaultLanguageSelection, getLanguageNativeName, } from './language-selection.js';
|
|
24
|
-
// Translation configuration
|
|
25
|
-
export { promptTranslationConfig, updateConfigWithTranslation, getDefaultTranslationConfig, } from './translation-config.js';
|
|
26
|
-
// External import
|
|
27
|
-
export { promptAndRunExternalImport, } from './external-import.js';
|
|
28
26
|
// Directory structure
|
|
29
27
|
export { createDirectoryStructure, copyTemplates, createConfigFile, scanAndSuggestMerges, } from './directory-structure.js';
|
|
30
28
|
// Next steps
|
|
31
29
|
export { showNextSteps, } from './next-steps.js';
|
|
32
30
|
// Git hooks installation
|
|
33
31
|
export { installGitHooks, uninstallGitHooks, areGitHooksInstalled, } from './git-hooks-installer.js';
|
|
34
|
-
// v1.0.27: Removed initial-increment-generator exports
|
|
35
|
-
// Reason: Automatic increment creation removed - requires **Project**: field per US
|
|
36
|
-
// File kept for reference but no longer used
|
|
37
|
-
// Brownfield analysis configuration
|
|
38
|
-
export { promptBrownfieldAnalysis, updateConfigWithBrownfield, detectExistingDocsLocations, } from './brownfield-analysis.js';
|
|
39
32
|
// Instruction file merger (CLAUDE.md/AGENTS.md)
|
|
40
33
|
export { mergeInstructionFile, parseTemplateSections, getPackageVersion, } from './instruction-file-merger.js';
|
|
41
34
|
// Smart .gitignore generator (v1.0.130+)
|
|
42
35
|
export { generateSmartGitignore, detectTechStack, generateGitignore, generateRepoGitignore, writeGitignore, } from './gitignore-generator.js';
|
|
43
|
-
// Deep interview mode configuration (v1.0.195+)
|
|
44
|
-
export { promptDeepInterviewConfig, updateConfigWithDeepInterview, } from './deep-interview-config.js';
|
|
45
|
-
// Quality gates configuration (v1.0.226+)
|
|
46
|
-
export { promptQualityGatesConfig, updateConfigWithQualityGates, getQualityGatePreset, } from './quality-gates-config.js';
|
|
47
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,sCAAsC;AACtC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GAEb,MAAM,wBAAwB,CAAC;AAEhC,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,wDAAwD;AACxD,OAAO,EACL,cAAc,GAEf,MAAM,yBAAyB,CAAC;AAEjC,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EACL,iBAAiB,GAGlB,MAAM,uBAAuB,CAAC;AAE/B,iBAAiB;AACjB,OAAO,EACL,uBAAuB,EACvB,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,6CAA6C;AAC7C,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AAEjC,sBAAsB;AACtB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,aAAa;AACb,OAAO,EACL,aAAa,GAEd,MAAM,iBAAiB,CAAC;AAEzB,yBAAyB;AACzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,gDAAgD;AAChD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAIlB,MAAM,8BAA8B,CAAC;AAEtC,yCAAyC;AACzC,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GAIf,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Next steps display after init completion
|
|
3
|
+
*
|
|
4
|
+
* Simplified (v1.0.415): Shows guided follow-up commands instead of
|
|
5
|
+
* adapter-specific verbose instructions.
|
|
3
6
|
*/
|
|
4
7
|
import type { SupportedLanguage } from '../../../core/i18n/types.js';
|
|
5
8
|
/**
|
|
@@ -12,13 +15,10 @@ export interface ShowNextStepsOptions {
|
|
|
12
15
|
marketplaceOnly?: boolean;
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
|
-
* Show next steps after initialization
|
|
18
|
+
* Show next steps after initialization.
|
|
16
19
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* @param language - Language for i18n
|
|
20
|
-
* @param usedDotNotation - Whether user used "." for current directory
|
|
21
|
-
* @param options - Additional options for plugin/marketplace status
|
|
20
|
+
* Displays plugin status (Claude only) followed by 3 guided follow-up commands:
|
|
21
|
+
* sync-setup, increment, migrate-to-umbrella.
|
|
22
22
|
*/
|
|
23
23
|
export declare function showNextSteps(projectName: string, adapterName: string, language: SupportedLanguage, usedDotNotation?: boolean, options?: boolean | ShowNextStepsOptions): void;
|
|
24
24
|
//# sourceMappingURL=next-steps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAuFrE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,GAAE,OAAe,EAChC,OAAO,GAAE,OAAO,GAAG,oBAA4B,GAC9C,IAAI,CA4CN"}
|
|
@@ -1,72 +1,95 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Next steps display after init completion
|
|
3
|
+
*
|
|
4
|
+
* Simplified (v1.0.415): Shows guided follow-up commands instead of
|
|
5
|
+
* adapter-specific verbose instructions.
|
|
3
6
|
*/
|
|
4
7
|
import chalk from 'chalk';
|
|
5
8
|
import { getLocaleManager } from '../../../core/i18n/locale-manager.js';
|
|
6
|
-
/**
|
|
7
|
-
* Inline translations for hardcoded strings not in locale files
|
|
8
|
-
*/
|
|
9
9
|
function getNextStepsStrings(language) {
|
|
10
10
|
const strings = {
|
|
11
11
|
en: {
|
|
12
|
-
slashCommandsHint: '↑ Required for slash commands like /sw:increment',
|
|
13
12
|
pluginsReady: 'All plugins ready',
|
|
14
13
|
marketplaceReady: 'Marketplace registered (install plugins via /plugin)',
|
|
14
|
+
pluginWarning: 'Plugins not installed — run: claude mcp add sw@specweave',
|
|
15
|
+
syncSetup: 'Connect GitHub Issues, JIRA, or ADO',
|
|
16
|
+
firstIncrement: 'Start your first feature',
|
|
17
|
+
multiRepo: 'Set up multi-repository workspace',
|
|
15
18
|
},
|
|
16
19
|
ru: {
|
|
17
|
-
slashCommandsHint: '↑ Необходимо для слеш-команд типа /sw:increment',
|
|
18
20
|
pluginsReady: 'Все плагины готовы',
|
|
19
21
|
marketplaceReady: 'Маркетплейс зарегистрирован (установите плагины через /plugin)',
|
|
22
|
+
pluginWarning: 'Плагины не установлены — выполните: claude mcp add sw@specweave',
|
|
23
|
+
syncSetup: 'Подключить GitHub Issues, JIRA или ADO',
|
|
24
|
+
firstIncrement: 'Начать первую фичу',
|
|
25
|
+
multiRepo: 'Настроить мульти-репозиторий',
|
|
20
26
|
},
|
|
21
27
|
es: {
|
|
22
|
-
slashCommandsHint: '↑ Requerido para comandos como /sw:increment',
|
|
23
28
|
pluginsReady: 'Todos los plugins listos',
|
|
24
29
|
marketplaceReady: 'Marketplace registrado (instalar plugins via /plugin)',
|
|
30
|
+
pluginWarning: 'Plugins no instalados — ejecuta: claude mcp add sw@specweave',
|
|
31
|
+
syncSetup: 'Conectar GitHub Issues, JIRA o ADO',
|
|
32
|
+
firstIncrement: 'Iniciar tu primera funcionalidad',
|
|
33
|
+
multiRepo: 'Configurar workspace multi-repositorio',
|
|
25
34
|
},
|
|
26
35
|
zh: {
|
|
27
|
-
slashCommandsHint: '↑ 需要用于斜杠命令如 /sw:increment',
|
|
28
36
|
pluginsReady: '所有插件就绪',
|
|
29
37
|
marketplaceReady: '市场已注册 (通过 /plugin 安装插件)',
|
|
38
|
+
pluginWarning: '插件未安装 — 运行: claude mcp add sw@specweave',
|
|
39
|
+
syncSetup: '连接 GitHub Issues、JIRA 或 ADO',
|
|
40
|
+
firstIncrement: '开始你的第一个功能',
|
|
41
|
+
multiRepo: '设置多仓库工作区',
|
|
30
42
|
},
|
|
31
43
|
de: {
|
|
32
|
-
slashCommandsHint: '↑ Erforderlich für Slash-Befehle wie /sw:increment',
|
|
33
44
|
pluginsReady: 'Alle Plugins bereit',
|
|
34
45
|
marketplaceReady: 'Marketplace registriert (Plugins über /plugin installieren)',
|
|
46
|
+
pluginWarning: 'Plugins nicht installiert — ausführen: claude mcp add sw@specweave',
|
|
47
|
+
syncSetup: 'GitHub Issues, JIRA oder ADO verbinden',
|
|
48
|
+
firstIncrement: 'Erstes Feature starten',
|
|
49
|
+
multiRepo: 'Multi-Repository-Workspace einrichten',
|
|
35
50
|
},
|
|
36
51
|
fr: {
|
|
37
|
-
slashCommandsHint: '↑ Requis pour les commandes slash comme /sw:increment',
|
|
38
52
|
pluginsReady: 'Tous les plugins prêts',
|
|
39
53
|
marketplaceReady: 'Marketplace enregistré (installer les plugins via /plugin)',
|
|
54
|
+
pluginWarning: 'Plugins non installés — exécuter: claude mcp add sw@specweave',
|
|
55
|
+
syncSetup: 'Connecter GitHub Issues, JIRA ou ADO',
|
|
56
|
+
firstIncrement: 'Démarrer votre première fonctionnalité',
|
|
57
|
+
multiRepo: 'Configurer un workspace multi-dépôt',
|
|
40
58
|
},
|
|
41
59
|
ja: {
|
|
42
|
-
slashCommandsHint: '↑ /sw:increment などのスラッシュコマンドに必要',
|
|
43
60
|
pluginsReady: 'すべてのプラグイン準備完了',
|
|
44
61
|
marketplaceReady: 'マーケットプレイス登録済み (/plugin でプラグインをインストール)',
|
|
62
|
+
pluginWarning: 'プラグイン未インストール — 実行: claude mcp add sw@specweave',
|
|
63
|
+
syncSetup: 'GitHub Issues、JIRA、ADO を接続',
|
|
64
|
+
firstIncrement: '最初の機能を開始',
|
|
65
|
+
multiRepo: 'マルチリポジトリワークスペースを設定',
|
|
45
66
|
},
|
|
46
67
|
ko: {
|
|
47
|
-
slashCommandsHint: '↑ /sw:increment 같은 슬래시 명령에 필요',
|
|
48
68
|
pluginsReady: '모든 플러그인 준비 완료',
|
|
49
69
|
marketplaceReady: '마켓플레이스 등록됨 (/plugin으로 플러그인 설치)',
|
|
70
|
+
pluginWarning: '플러그인 미설치 — 실행: claude mcp add sw@specweave',
|
|
71
|
+
syncSetup: 'GitHub Issues, JIRA 또는 ADO 연결',
|
|
72
|
+
firstIncrement: '첫 번째 기능 시작',
|
|
73
|
+
multiRepo: '멀티 리포지토리 워크스페이스 설정',
|
|
50
74
|
},
|
|
51
75
|
pt: {
|
|
52
|
-
slashCommandsHint: '↑ Necessário para comandos slash como /sw:increment',
|
|
53
76
|
pluginsReady: 'Todos os plugins prontos',
|
|
54
77
|
marketplaceReady: 'Marketplace registrado (instalar plugins via /plugin)',
|
|
78
|
+
pluginWarning: 'Plugins não instalados — execute: claude mcp add sw@specweave',
|
|
79
|
+
syncSetup: 'Conectar GitHub Issues, JIRA ou ADO',
|
|
80
|
+
firstIncrement: 'Iniciar sua primeira funcionalidade',
|
|
81
|
+
multiRepo: 'Configurar workspace multi-repositório',
|
|
55
82
|
},
|
|
56
83
|
};
|
|
57
84
|
return strings[language] || strings.en;
|
|
58
85
|
}
|
|
59
86
|
/**
|
|
60
|
-
* Show next steps after initialization
|
|
87
|
+
* Show next steps after initialization.
|
|
61
88
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* @param language - Language for i18n
|
|
65
|
-
* @param usedDotNotation - Whether user used "." for current directory
|
|
66
|
-
* @param options - Additional options for plugin/marketplace status
|
|
89
|
+
* Displays plugin status (Claude only) followed by 3 guided follow-up commands:
|
|
90
|
+
* sync-setup, increment, migrate-to-umbrella.
|
|
67
91
|
*/
|
|
68
92
|
export function showNextSteps(projectName, adapterName, language, usedDotNotation = false, options = false) {
|
|
69
|
-
// Support legacy boolean parameter or new options object
|
|
70
93
|
const opts = typeof options === 'boolean'
|
|
71
94
|
? { pluginAutoInstalled: options }
|
|
72
95
|
: options;
|
|
@@ -82,50 +105,24 @@ export function showNextSteps(projectName, adapterName, language, usedDotNotatio
|
|
|
82
105
|
console.log('');
|
|
83
106
|
stepNumber++;
|
|
84
107
|
}
|
|
85
|
-
//
|
|
108
|
+
// Plugin status (Claude only)
|
|
86
109
|
if (adapterName === 'claude') {
|
|
87
|
-
// Three states:
|
|
88
|
-
// 1. pluginAutoInstalled=true, marketplaceOnly=false → All plugins ready
|
|
89
|
-
// 2. pluginAutoInstalled=true, marketplaceOnly=true → Marketplace registered only
|
|
90
|
-
// 3. pluginAutoInstalled=false → Manual install needed
|
|
91
110
|
if (opts.marketplaceOnly) {
|
|
92
|
-
// Marketplace registered but plugins need manual install
|
|
93
111
|
console.log(` ${stepNumber}. ${chalk.green('✔')} ${chalk.white(strings.marketplaceReady)}`);
|
|
94
|
-
console.log('');
|
|
95
|
-
stepNumber++;
|
|
96
112
|
}
|
|
97
113
|
else if (!opts.pluginAutoInstalled) {
|
|
98
|
-
|
|
99
|
-
console.log(` ${stepNumber}. ${chalk.yellow.bold('⚠️ ' + locale.t('cli', 'init.nextSteps.claude.step2'))}`);
|
|
100
|
-
console.log(` ${chalk.cyan.bold(locale.t('cli', 'init.nextSteps.claude.installCore'))}`);
|
|
101
|
-
console.log(` ${chalk.gray(strings.slashCommandsHint)}`);
|
|
102
|
-
console.log('');
|
|
103
|
-
stepNumber++;
|
|
114
|
+
console.log(` ${stepNumber}. ${chalk.yellow.bold('⚠️ ' + strings.pluginWarning)}`);
|
|
104
115
|
}
|
|
105
116
|
else {
|
|
106
|
-
// Full success - all plugins installed
|
|
107
117
|
console.log(` ${stepNumber}. ${chalk.green('✔')} ${chalk.white(strings.pluginsReady)}`);
|
|
108
|
-
console.log('');
|
|
109
|
-
stepNumber++;
|
|
110
118
|
}
|
|
111
|
-
console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.claude.step4'))}`);
|
|
112
|
-
console.log(` ${chalk.cyan(locale.t('cli', 'init.nextSteps.claude.example'))}`);
|
|
113
|
-
}
|
|
114
|
-
else if (adapterName === 'cursor') {
|
|
115
|
-
console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.cursor.step1'))}`);
|
|
116
119
|
console.log('');
|
|
117
|
-
|
|
118
|
-
console.log(` ${locale.t('cli', 'init.nextSteps.cursor.guide')}`);
|
|
119
|
-
console.log('');
|
|
120
|
-
console.log(` ${stepNumber + 2}. ${chalk.white(locale.t('cli', 'init.nextSteps.cursor.step3'))}`);
|
|
121
|
-
console.log(` ${locale.t('cli', 'init.nextSteps.cursor.shortcuts')}`);
|
|
122
|
-
}
|
|
123
|
-
else if (adapterName === 'generic') {
|
|
124
|
-
console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.generic.step1'))}`);
|
|
125
|
-
console.log('');
|
|
126
|
-
console.log(` ${stepNumber + 1}. ${chalk.white(locale.t('cli', 'init.nextSteps.generic.step2'))}`);
|
|
127
|
-
console.log(` ${locale.t('cli', 'init.nextSteps.generic.compatibility')}`);
|
|
120
|
+
stepNumber++;
|
|
128
121
|
}
|
|
122
|
+
// Guided follow-up commands
|
|
123
|
+
console.log(` ${stepNumber}. ${chalk.white('specweave sync-setup')} ${chalk.gray(strings.syncSetup)}`);
|
|
124
|
+
console.log(` ${stepNumber + 1}. ${chalk.white('specweave increment "feature"')} ${chalk.gray(strings.firstIncrement)}`);
|
|
125
|
+
console.log(` ${stepNumber + 2}. ${chalk.white('specweave migrate-to-umbrella')} ${chalk.gray(strings.multiRepo)}`);
|
|
129
126
|
console.log('');
|
|
130
127
|
console.log(chalk.green.bold(locale.t('cli', 'init.nextSteps.footer')));
|
|
131
128
|
console.log('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/next-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,SAAS,mBAAmB,CAAC,QAA2B;IACtD,MAAM,OAAO,GAOR;QACH,EAAE,EAAE;YACF,YAAY,EAAE,mBAAmB;YACjC,gBAAgB,EAAE,sDAAsD;YACxE,aAAa,EAAE,0DAA0D;YACzE,SAAS,EAAE,qCAAqC;YAChD,cAAc,EAAE,0BAA0B;YAC1C,SAAS,EAAE,mCAAmC;SAC/C;QACD,EAAE,EAAE;YACF,YAAY,EAAE,oBAAoB;YAClC,gBAAgB,EAAE,gEAAgE;YAClF,aAAa,EAAE,iEAAiE;YAChF,SAAS,EAAE,wCAAwC;YACnD,cAAc,EAAE,oBAAoB;YACpC,SAAS,EAAE,8BAA8B;SAC1C;QACD,EAAE,EAAE;YACF,YAAY,EAAE,0BAA0B;YACxC,gBAAgB,EAAE,uDAAuD;YACzE,aAAa,EAAE,8DAA8D;YAC7E,SAAS,EAAE,oCAAoC;YAC/C,cAAc,EAAE,kCAAkC;YAClD,SAAS,EAAE,wCAAwC;SACpD;QACD,EAAE,EAAE;YACF,YAAY,EAAE,QAAQ;YACtB,gBAAgB,EAAE,yBAAyB;YAC3C,aAAa,EAAE,yCAAyC;YACxD,SAAS,EAAE,6BAA6B;YACxC,cAAc,EAAE,WAAW;YAC3B,SAAS,EAAE,UAAU;SACtB;QACD,EAAE,EAAE;YACF,YAAY,EAAE,qBAAqB;YACnC,gBAAgB,EAAE,6DAA6D;YAC/E,aAAa,EAAE,oEAAoE;YACnF,SAAS,EAAE,wCAAwC;YACnD,cAAc,EAAE,wBAAwB;YACxC,SAAS,EAAE,uCAAuC;SACnD;QACD,EAAE,EAAE;YACF,YAAY,EAAE,wBAAwB;YACtC,gBAAgB,EAAE,4DAA4D;YAC9E,aAAa,EAAE,+DAA+D;YAC9E,SAAS,EAAE,sCAAsC;YACjD,cAAc,EAAE,wCAAwC;YACxD,SAAS,EAAE,qCAAqC;SACjD;QACD,EAAE,EAAE;YACF,YAAY,EAAE,eAAe;YAC7B,gBAAgB,EAAE,uCAAuC;YACzD,aAAa,EAAE,gDAAgD;YAC/D,SAAS,EAAE,4BAA4B;YACvC,cAAc,EAAE,UAAU;YAC1B,SAAS,EAAE,oBAAoB;SAChC;QACD,EAAE,EAAE;YACF,YAAY,EAAE,eAAe;YAC7B,gBAAgB,EAAE,gCAAgC;YAClD,aAAa,EAAE,4CAA4C;YAC3D,SAAS,EAAE,+BAA+B;YAC1C,cAAc,EAAE,YAAY;YAC5B,SAAS,EAAE,oBAAoB;SAChC;QACD,EAAE,EAAE;YACF,YAAY,EAAE,0BAA0B;YACxC,gBAAgB,EAAE,uDAAuD;YACzE,aAAa,EAAE,+DAA+D;YAC9E,SAAS,EAAE,qCAAqC;YAChD,cAAc,EAAE,qCAAqC;YACrD,SAAS,EAAE,wCAAwC;SACpD;KACF,CAAC;IACF,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC;AACzC,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,WAAmB,EACnB,WAAmB,EACnB,QAA2B,EAC3B,kBAA2B,KAAK,EAChC,UAA0C,KAAK;IAE/C,MAAM,IAAI,GAAyB,OAAO,OAAO,KAAK,SAAS;QAC7D,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE;QAClC,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,mDAAmD;IACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,UAAU,EAAE,CAAC;IACf,CAAC;IAED,8BAA8B;IAC9B,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,UAAU,EAAE,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC5H,OAAO,CAAC,GAAG,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAEtH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -69,11 +69,11 @@ export function applySmartDefaults(config, options) {
|
|
|
69
69
|
...(config.sync?.enabled === false ? { enabled: true } : {}),
|
|
70
70
|
};
|
|
71
71
|
// Ensure auto-create GitHub issue is on
|
|
72
|
+
// Note: sync_living_docs intentionally omitted — runs after agents finish, not at planning time
|
|
72
73
|
config.hooks = {
|
|
73
74
|
...config.hooks,
|
|
74
75
|
post_increment_planning: {
|
|
75
76
|
auto_create_github_issue: true,
|
|
76
|
-
sync_living_docs: true,
|
|
77
77
|
...config.hooks?.post_increment_planning,
|
|
78
78
|
},
|
|
79
79
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-defaults.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/smart-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA2B,EAC3B,OAA6B;IAE7B,0BAA0B;IAC1B,MAAM,CAAC,OAAO,GAAG;QACf,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvD,GAAG,MAAM,CAAC,OAAO;KAClB,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,YAAY,GAAG;QACpB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACrB;QACD,GAAG,MAAM,CAAC,YAAY;KACvB,CAAC;IAEF,0DAA0D;IAC1D,uEAAuE;IACvE,MAAM,CAAC,QAAQ,GAAG;QAChB,GAAG,MAAM,CAAC,QAAQ;QAClB,aAAa,EAAE;YACb,OAAO,EAAE,KAAK;YACd,GAAG,MAAM,CAAC,QAAQ,EAAE,aAAa;SAClC;QACD,kBAAkB,EAAE;YAClB,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,CAAC;YACf,GAAG,MAAM,CAAC,QAAQ,EAAE,kBAAkB;SACvC;KACF,CAAC;IAEF,8BAA8B;IAC9B,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,GAAG;YACX,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,IAAI;YACxB,GAAG,MAAM,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC1F,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,KAAK,MAAM,CAAC;IAC5F,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE;gBACR,sBAAsB,EAAE,IAAI;gBAC5B,sBAAsB,EAAE,IAAI;gBAC5B,eAAe,EAAE,IAAI;gBACrB,oBAAoB,EAAE,IAAI;aAC3B;YACD,GAAG,MAAM,CAAC,IAAI;YACd,8EAA8E;YAC9E,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;QACF,wCAAwC;QACxC,MAAM,CAAC,KAAK,GAAG;YACb,GAAG,MAAM,CAAC,KAAK;YACf,uBAAuB,EAAE;gBACvB,wBAAwB,EAAE,IAAI;gBAC9B,
|
|
1
|
+
{"version":3,"file":"smart-defaults.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/smart-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Summary banner displayed after init completes
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Part of 0200-init-two-phase-redesign
|
|
4
|
+
* Simplified (v1.0.415): Removed external tool fields (tracker, sync permissions,
|
|
5
|
+
* greenfield/brownfield, repo count). Init no longer configures external tools.
|
|
8
6
|
*/
|
|
9
7
|
export interface SummaryBannerOptions {
|
|
10
8
|
projectName: string;
|
|
@@ -14,12 +12,6 @@ export interface SummaryBannerOptions {
|
|
|
14
12
|
repo?: string;
|
|
15
13
|
organization?: string;
|
|
16
14
|
};
|
|
17
|
-
tracker?: {
|
|
18
|
-
name: string;
|
|
19
|
-
};
|
|
20
|
-
repoCount: number;
|
|
21
|
-
isGreenfield: boolean;
|
|
22
|
-
hasPendingClones: boolean;
|
|
23
15
|
adapter: string;
|
|
24
16
|
language: string;
|
|
25
17
|
defaults: {
|
|
@@ -34,20 +26,9 @@ export interface SummaryBannerOptions {
|
|
|
34
26
|
e2e: number;
|
|
35
27
|
};
|
|
36
28
|
};
|
|
37
|
-
externalPluginInstalled?: boolean;
|
|
38
|
-
syncPermissions?: {
|
|
39
|
-
canCreate: boolean;
|
|
40
|
-
canUpdate: boolean;
|
|
41
|
-
canUpdateStatus: boolean;
|
|
42
|
-
};
|
|
43
|
-
/** Project maturity — greenfield vs brownfield (v1.0.342+) */
|
|
44
|
-
projectMaturity?: 'greenfield' | 'brownfield';
|
|
45
|
-
/** Whether repo structure decision was deferred (v1.0.342+) */
|
|
46
|
-
structureDeferred?: boolean;
|
|
47
29
|
}
|
|
48
30
|
/**
|
|
49
31
|
* Format the summary banner as a string (pure function).
|
|
50
|
-
* No side effects — caller decides how to output.
|
|
51
32
|
*/
|
|
52
33
|
export declare function formatSummaryBanner(options: SummaryBannerOptions): string;
|
|
53
34
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-banner.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/summary-banner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"summary-banner.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/summary-banner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,eAAe,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KACtE,CAAC;CACH;AAWD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAiEzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAExE"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Summary banner displayed after init completes
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Part of 0200-init-two-phase-redesign
|
|
4
|
+
* Simplified (v1.0.415): Removed external tool fields (tracker, sync permissions,
|
|
5
|
+
* greenfield/brownfield, repo count). Init no longer configures external tools.
|
|
8
6
|
*/
|
|
9
7
|
import chalk from 'chalk';
|
|
10
8
|
const adapterDisplayNames = {
|
|
@@ -17,11 +15,9 @@ const adapterDisplayNames = {
|
|
|
17
15
|
};
|
|
18
16
|
/**
|
|
19
17
|
* Format the summary banner as a string (pure function).
|
|
20
|
-
* No side effects — caller decides how to output.
|
|
21
18
|
*/
|
|
22
19
|
export function formatSummaryBanner(options) {
|
|
23
20
|
const lines = [];
|
|
24
|
-
// Header
|
|
25
21
|
lines.push(chalk.green(`\n✅ SpecWeave initialized for ${options.projectName}!`));
|
|
26
22
|
lines.push('');
|
|
27
23
|
// Provider info
|
|
@@ -33,47 +29,14 @@ export function formatSummaryBanner(options) {
|
|
|
33
29
|
: '';
|
|
34
30
|
lines.push(chalk.cyan(' Provider: ') + `${options.provider.name} ${providerDetail}`.trim());
|
|
35
31
|
}
|
|
36
|
-
// Tracker info (with plugin health indicator)
|
|
37
|
-
if (options.tracker) {
|
|
38
|
-
let trackerLine = options.tracker.name;
|
|
39
|
-
if (options.externalPluginInstalled === false) {
|
|
40
|
-
trackerLine += chalk.yellow(' (\u26A0 plugin pending)');
|
|
41
|
-
}
|
|
42
|
-
lines.push(chalk.cyan(' Tracker: ') + trackerLine);
|
|
43
|
-
}
|
|
44
|
-
// Sync permissions
|
|
45
|
-
if (options.syncPermissions) {
|
|
46
|
-
const perms = [];
|
|
47
|
-
if (options.syncPermissions.canCreate)
|
|
48
|
-
perms.push('create');
|
|
49
|
-
if (options.syncPermissions.canUpdate)
|
|
50
|
-
perms.push('update');
|
|
51
|
-
if (options.syncPermissions.canUpdateStatus)
|
|
52
|
-
perms.push('status');
|
|
53
|
-
if (perms.length > 0) {
|
|
54
|
-
lines.push(chalk.cyan(' Sync: ') + perms.join(' + '));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
32
|
// Adapter info
|
|
58
33
|
const adapterLabel = adapterDisplayNames[options.adapter] || options.adapter;
|
|
59
34
|
lines.push(chalk.cyan(' Adapter: ') + adapterLabel);
|
|
60
|
-
// Project maturity (v1.0.342+)
|
|
61
|
-
if (options.projectMaturity) {
|
|
62
|
-
let maturityLabel = options.projectMaturity;
|
|
63
|
-
if (options.structureDeferred) {
|
|
64
|
-
maturityLabel += chalk.yellow(' (structure pending)');
|
|
65
|
-
}
|
|
66
|
-
lines.push(chalk.cyan(' Project: ') + maturityLabel);
|
|
67
|
-
}
|
|
68
35
|
// Config path
|
|
69
36
|
lines.push(chalk.cyan(' Config: ') + '.specweave/config.json');
|
|
70
|
-
// Repo count
|
|
71
|
-
const repoLabel = options.repoCount === 1 ? 'single repo' : 'multi-repo';
|
|
72
|
-
lines.push(chalk.cyan(' Repos: ') + `${options.repoCount} (${repoLabel})`);
|
|
73
37
|
lines.push('');
|
|
74
38
|
// Enabled defaults
|
|
75
39
|
lines.push(chalk.cyan(' Enabled by default:'));
|
|
76
|
-
// Testing line with optional coverage targets
|
|
77
40
|
let testLabel;
|
|
78
41
|
if (options.defaults.testing === 'TDD' && options.defaults.coverageTargets) {
|
|
79
42
|
const ct = options.defaults.coverageTargets;
|
|
@@ -98,20 +61,11 @@ export function formatSummaryBanner(options) {
|
|
|
98
61
|
lines.push(` • Auto-translation (${options.language})`);
|
|
99
62
|
}
|
|
100
63
|
lines.push('');
|
|
101
|
-
// Customize instruction
|
|
102
|
-
lines.push(chalk.gray(' Customize anytime: specweave config <section>'));
|
|
103
64
|
// Quick reference
|
|
104
|
-
lines.push('');
|
|
105
65
|
lines.push(chalk.cyan(' Quick reference:'));
|
|
106
66
|
lines.push(` specweave help Full command reference`);
|
|
107
67
|
lines.push(` specweave doctor Verify project health`);
|
|
108
|
-
|
|
109
|
-
if (!options.isGreenfield && !options.hasPendingClones) {
|
|
110
|
-
lines.push(chalk.yellow(' 💡 Existing code detected → run /sw:living-docs to generate documentation'));
|
|
111
|
-
}
|
|
112
|
-
else if (options.hasPendingClones) {
|
|
113
|
-
lines.push(chalk.yellow(' ⏳ Repos cloning in background → run /sw:living-docs after completion'));
|
|
114
|
-
}
|
|
68
|
+
lines.push(` specweave config <section> Customize settings`);
|
|
115
69
|
lines.push('');
|
|
116
70
|
return lines.join('\n');
|
|
117
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-banner.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/summary-banner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"summary-banner.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/summary-banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,10 +54,10 @@ export declare const ResearchConfigSchema: z.ZodObject<{
|
|
|
54
54
|
name: z.ZodString;
|
|
55
55
|
dataTypes: z.ZodArray<z.ZodEnum<{
|
|
56
56
|
healthcare: "healthcare";
|
|
57
|
-
personal: "personal";
|
|
58
|
-
payment: "payment";
|
|
59
57
|
children: "children";
|
|
60
58
|
location: "location";
|
|
59
|
+
personal: "personal";
|
|
60
|
+
payment: "payment";
|
|
61
61
|
financial: "financial";
|
|
62
62
|
government: "government";
|
|
63
63
|
student: "student";
|
|
@@ -107,8 +107,8 @@ export declare const ResearchConfigSchema: z.ZodObject<{
|
|
|
107
107
|
}, z.core.$strip>>>;
|
|
108
108
|
architecture: z.ZodOptional<z.ZodObject<{
|
|
109
109
|
architecture: z.ZodEnum<{
|
|
110
|
-
hybrid: "hybrid";
|
|
111
110
|
microservices: "microservices";
|
|
111
|
+
hybrid: "hybrid";
|
|
112
112
|
serverless: "serverless";
|
|
113
113
|
"traditional-monolith": "traditional-monolith";
|
|
114
114
|
"modular-monolith": "modular-monolith";
|
|
@@ -140,8 +140,8 @@ export declare const ResearchConfigSchema: z.ZodObject<{
|
|
|
140
140
|
}>;
|
|
141
141
|
alternatives: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
142
142
|
architecture: z.ZodEnum<{
|
|
143
|
-
hybrid: "hybrid";
|
|
144
143
|
microservices: "microservices";
|
|
144
|
+
hybrid: "hybrid";
|
|
145
145
|
serverless: "serverless";
|
|
146
146
|
"traditional-monolith": "traditional-monolith";
|
|
147
147
|
"modular-monolith": "modular-monolith";
|
|
@@ -225,10 +225,10 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
|
|
|
225
225
|
name: z.ZodString;
|
|
226
226
|
dataTypes: z.ZodArray<z.ZodEnum<{
|
|
227
227
|
healthcare: "healthcare";
|
|
228
|
-
personal: "personal";
|
|
229
|
-
payment: "payment";
|
|
230
228
|
children: "children";
|
|
231
229
|
location: "location";
|
|
230
|
+
personal: "personal";
|
|
231
|
+
payment: "payment";
|
|
232
232
|
financial: "financial";
|
|
233
233
|
government: "government";
|
|
234
234
|
student: "student";
|
|
@@ -278,8 +278,8 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
|
|
|
278
278
|
}, z.core.$strip>>>;
|
|
279
279
|
architecture: z.ZodOptional<z.ZodObject<{
|
|
280
280
|
architecture: z.ZodEnum<{
|
|
281
|
-
hybrid: "hybrid";
|
|
282
281
|
microservices: "microservices";
|
|
282
|
+
hybrid: "hybrid";
|
|
283
283
|
serverless: "serverless";
|
|
284
284
|
"traditional-monolith": "traditional-monolith";
|
|
285
285
|
"modular-monolith": "modular-monolith";
|
|
@@ -311,8 +311,8 @@ export declare const SpecWeaveConfigSchema: z.ZodObject<{
|
|
|
311
311
|
}>;
|
|
312
312
|
alternatives: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
313
313
|
architecture: z.ZodEnum<{
|
|
314
|
-
hybrid: "hybrid";
|
|
315
314
|
microservices: "microservices";
|
|
315
|
+
hybrid: "hybrid";
|
|
316
316
|
serverless: "serverless";
|
|
317
317
|
"traditional-monolith": "traditional-monolith";
|
|
318
318
|
"modular-monolith": "modular-monolith";
|
|
@@ -28,6 +28,8 @@ export interface LaunchResult {
|
|
|
28
28
|
pid?: number;
|
|
29
29
|
/** Whether running in background */
|
|
30
30
|
isBackground: boolean;
|
|
31
|
+
/** Whether all repos were already cloned (pre-flight skip) */
|
|
32
|
+
skippedPreFlight?: boolean;
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Check if there's an active import job running
|