@wundr.io/cli 1.0.10 ā 1.0.12
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/bin/wundr.js +8 -4
- package/package.json +23 -23
- package/src/ai/ai-service.ts +16 -17
- package/src/ai/claude-client.ts +16 -16
- package/src/ai/conversation-manager.ts +29 -29
- package/src/cli.ts +4 -4
- package/src/commands/ai.ts +246 -78
- package/src/commands/alignment.ts +74 -74
- package/src/commands/analyze-optimized.ts +111 -78
- package/src/commands/analyze.ts +14 -14
- package/src/commands/batch.ts +179 -42
- package/src/commands/chat.ts +37 -30
- package/src/commands/claude-init.ts +41 -45
- package/src/commands/claude-setup.ts +204 -119
- package/src/commands/computer-setup.ts +85 -43
- package/src/commands/create-command.ts +4 -4
- package/src/commands/create.ts +27 -27
- package/src/commands/dashboard.ts +24 -24
- package/src/commands/govern.ts +25 -25
- package/src/commands/governance.ts +34 -34
- package/src/commands/guardian.ts +56 -56
- package/src/commands/init.ts +25 -22
- package/src/commands/orchestrator.ts +68 -41
- package/src/commands/performance-optimizer.ts +34 -35
- package/src/commands/plugins.ts +27 -27
- package/src/commands/project-update.ts +175 -72
- package/src/commands/rag.ts +185 -78
- package/src/commands/session.ts +35 -35
- package/src/commands/setup.ts +40 -344
- package/src/commands/test-init.ts +3 -3
- package/src/commands/test.ts +4 -4
- package/src/commands/watch.ts +28 -29
- package/src/commands/worktree.ts +49 -49
- package/src/context/context-manager.ts +10 -10
- package/src/context/session-manager.ts +41 -41
- package/src/framework/command-interface.ts +520 -0
- package/src/framework/command-registry.ts +942 -0
- package/src/framework/completion-exporter.ts +383 -0
- package/src/framework/debug-logger.ts +519 -0
- package/src/framework/error-handler.ts +867 -0
- package/src/framework/help-generator.ts +540 -0
- package/src/framework/index.ts +169 -0
- package/src/framework/interactive-repl.ts +703 -0
- package/src/framework/output-formatter.ts +834 -0
- package/src/framework/progress-manager.ts +539 -0
- package/src/index.ts +4 -4
- package/src/interactive/interactive-mode.ts +16 -16
- package/src/lib/conflict-resolution.ts +799 -9
- package/src/lib/merge-strategy.ts +529 -7
- package/src/lib/safety-mechanisms.ts +422 -18
- package/src/lib/state-detection.ts +1015 -13
- package/src/nlp/command-mapper.ts +29 -29
- package/src/nlp/command-parser.ts +17 -17
- package/src/nlp/intent-classifier.ts +7 -7
- package/src/nlp/intent-parser.ts +54 -52
- package/src/plugins/plugin-manager.ts +61 -39
- package/src/tests/computer-setup-integration.test.ts +46 -15
- package/src/types/modules.d.ts +424 -1
- package/src/utils/backup-rollback-manager.ts +11 -8
- package/src/utils/config-manager.ts +3 -3
- package/src/utils/error-handler.ts +2 -2
- package/src/utils/logger.ts +22 -22
- package/templates/batch/ci-cd.yaml +7 -7
- package/test-suites/api/health.spec.ts +20 -23
- package/test-suites/helpers/test-config.ts +14 -13
- package/test-suites/ui/accessibility.spec.ts +27 -22
- package/test-suites/ui/smoke.spec.ts +26 -21
- package/LICENSE +0 -21
- package/dist/ai/ai-service.d.ts +0 -152
- package/dist/ai/ai-service.d.ts.map +0 -1
- package/dist/ai/ai-service.js +0 -430
- package/dist/ai/ai-service.js.map +0 -1
- package/dist/ai/claude-client.d.ts +0 -130
- package/dist/ai/claude-client.d.ts.map +0 -1
- package/dist/ai/claude-client.js +0 -340
- package/dist/ai/claude-client.js.map +0 -1
- package/dist/ai/conversation-manager.d.ts +0 -164
- package/dist/ai/conversation-manager.d.ts.map +0 -1
- package/dist/ai/conversation-manager.js +0 -614
- package/dist/ai/conversation-manager.js.map +0 -1
- package/dist/ai/index.d.ts +0 -5
- package/dist/ai/index.d.ts.map +0 -1
- package/dist/ai/index.js +0 -8
- package/dist/ai/index.js.map +0 -1
- package/dist/cli.d.ts +0 -36
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -192
- package/dist/cli.js.map +0 -1
- package/dist/commands/ai.d.ts +0 -89
- package/dist/commands/ai.d.ts.map +0 -1
- package/dist/commands/ai.js +0 -799
- package/dist/commands/ai.js.map +0 -1
- package/dist/commands/alignment.d.ts +0 -78
- package/dist/commands/alignment.d.ts.map +0 -1
- package/dist/commands/alignment.js +0 -817
- package/dist/commands/alignment.js.map +0 -1
- package/dist/commands/analyze-optimized.d.ts +0 -14
- package/dist/commands/analyze-optimized.d.ts.map +0 -1
- package/dist/commands/analyze-optimized.js +0 -600
- package/dist/commands/analyze-optimized.js.map +0 -1
- package/dist/commands/analyze.d.ts +0 -65
- package/dist/commands/analyze.d.ts.map +0 -1
- package/dist/commands/analyze.js +0 -435
- package/dist/commands/analyze.js.map +0 -1
- package/dist/commands/batch.d.ts +0 -71
- package/dist/commands/batch.d.ts.map +0 -1
- package/dist/commands/batch.js +0 -738
- package/dist/commands/batch.js.map +0 -1
- package/dist/commands/chat.d.ts +0 -71
- package/dist/commands/chat.d.ts.map +0 -1
- package/dist/commands/chat.js +0 -674
- package/dist/commands/chat.js.map +0 -1
- package/dist/commands/claude-init.d.ts +0 -28
- package/dist/commands/claude-init.d.ts.map +0 -1
- package/dist/commands/claude-init.js +0 -591
- package/dist/commands/claude-init.js.map +0 -1
- package/dist/commands/claude-setup.d.ts +0 -119
- package/dist/commands/claude-setup.d.ts.map +0 -1
- package/dist/commands/claude-setup.js +0 -1073
- package/dist/commands/claude-setup.js.map +0 -1
- package/dist/commands/computer-setup-commands.d.ts +0 -53
- package/dist/commands/computer-setup-commands.d.ts.map +0 -1
- package/dist/commands/computer-setup-commands.js +0 -705
- package/dist/commands/computer-setup-commands.js.map +0 -1
- package/dist/commands/computer-setup.d.ts +0 -7
- package/dist/commands/computer-setup.d.ts.map +0 -1
- package/dist/commands/computer-setup.js +0 -849
- package/dist/commands/computer-setup.js.map +0 -1
- package/dist/commands/create-command.d.ts +0 -7
- package/dist/commands/create-command.d.ts.map +0 -1
- package/dist/commands/create-command.js +0 -158
- package/dist/commands/create-command.js.map +0 -1
- package/dist/commands/create.d.ts +0 -74
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -556
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/dashboard.d.ts +0 -91
- package/dist/commands/dashboard.d.ts.map +0 -1
- package/dist/commands/dashboard.js +0 -538
- package/dist/commands/dashboard.js.map +0 -1
- package/dist/commands/govern.d.ts +0 -70
- package/dist/commands/govern.d.ts.map +0 -1
- package/dist/commands/govern.js +0 -481
- package/dist/commands/govern.js.map +0 -1
- package/dist/commands/governance.d.ts +0 -17
- package/dist/commands/governance.d.ts.map +0 -1
- package/dist/commands/governance.js +0 -703
- package/dist/commands/governance.js.map +0 -1
- package/dist/commands/guardian.d.ts +0 -20
- package/dist/commands/guardian.d.ts.map +0 -1
- package/dist/commands/guardian.js +0 -597
- package/dist/commands/guardian.js.map +0 -1
- package/dist/commands/init.d.ts +0 -59
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -650
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/orchestrator.d.ts +0 -7
- package/dist/commands/orchestrator.d.ts.map +0 -1
- package/dist/commands/orchestrator.js +0 -571
- package/dist/commands/orchestrator.js.map +0 -1
- package/dist/commands/performance-optimizer.d.ts +0 -30
- package/dist/commands/performance-optimizer.d.ts.map +0 -1
- package/dist/commands/performance-optimizer.js +0 -650
- package/dist/commands/performance-optimizer.js.map +0 -1
- package/dist/commands/plugins.d.ts +0 -87
- package/dist/commands/plugins.d.ts.map +0 -1
- package/dist/commands/plugins.js +0 -685
- package/dist/commands/plugins.js.map +0 -1
- package/dist/commands/rag.d.ts +0 -7
- package/dist/commands/rag.d.ts.map +0 -1
- package/dist/commands/rag.js +0 -748
- package/dist/commands/rag.js.map +0 -1
- package/dist/commands/session.d.ts +0 -41
- package/dist/commands/session.d.ts.map +0 -1
- package/dist/commands/session.js +0 -441
- package/dist/commands/session.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -29
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -397
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/test-init.d.ts +0 -9
- package/dist/commands/test-init.d.ts.map +0 -1
- package/dist/commands/test-init.js +0 -222
- package/dist/commands/test-init.js.map +0 -1
- package/dist/commands/test.d.ts +0 -25
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js +0 -217
- package/dist/commands/test.js.map +0 -1
- package/dist/commands/vp.d.ts +0 -7
- package/dist/commands/vp.d.ts.map +0 -1
- package/dist/commands/vp.js +0 -571
- package/dist/commands/vp.js.map +0 -1
- package/dist/commands/watch.d.ts +0 -76
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/watch.js +0 -613
- package/dist/commands/watch.js.map +0 -1
- package/dist/commands/worktree.d.ts +0 -63
- package/dist/commands/worktree.d.ts.map +0 -1
- package/dist/commands/worktree.js +0 -774
- package/dist/commands/worktree.js.map +0 -1
- package/dist/context/context-manager.d.ts +0 -155
- package/dist/context/context-manager.d.ts.map +0 -1
- package/dist/context/context-manager.js +0 -383
- package/dist/context/context-manager.js.map +0 -1
- package/dist/context/index.d.ts +0 -3
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -6
- package/dist/context/index.js.map +0 -1
- package/dist/context/session-manager.d.ts +0 -207
- package/dist/context/session-manager.d.ts.map +0 -1
- package/dist/context/session-manager.js +0 -686
- package/dist/context/session-manager.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -51
- package/dist/index.js.map +0 -1
- package/dist/interactive/interactive-mode.d.ts +0 -76
- package/dist/interactive/interactive-mode.d.ts.map +0 -1
- package/dist/interactive/interactive-mode.js +0 -732
- package/dist/interactive/interactive-mode.js.map +0 -1
- package/dist/nlp/command-mapper.d.ts +0 -174
- package/dist/nlp/command-mapper.d.ts.map +0 -1
- package/dist/nlp/command-mapper.js +0 -624
- package/dist/nlp/command-mapper.js.map +0 -1
- package/dist/nlp/command-parser.d.ts +0 -106
- package/dist/nlp/command-parser.d.ts.map +0 -1
- package/dist/nlp/command-parser.js +0 -417
- package/dist/nlp/command-parser.js.map +0 -1
- package/dist/nlp/index.d.ts +0 -5
- package/dist/nlp/index.d.ts.map +0 -1
- package/dist/nlp/index.js +0 -8
- package/dist/nlp/index.js.map +0 -1
- package/dist/nlp/intent-classifier.d.ts +0 -59
- package/dist/nlp/intent-classifier.d.ts.map +0 -1
- package/dist/nlp/intent-classifier.js +0 -384
- package/dist/nlp/intent-classifier.js.map +0 -1
- package/dist/nlp/intent-parser.d.ts +0 -152
- package/dist/nlp/intent-parser.d.ts.map +0 -1
- package/dist/nlp/intent-parser.js +0 -744
- package/dist/nlp/intent-parser.js.map +0 -1
- package/dist/plugins/plugin-manager.d.ts +0 -120
- package/dist/plugins/plugin-manager.d.ts.map +0 -1
- package/dist/plugins/plugin-manager.js +0 -595
- package/dist/plugins/plugin-manager.js.map +0 -1
- package/dist/types/index.d.ts +0 -224
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/utils/backup-rollback-manager.d.ts +0 -72
- package/dist/utils/backup-rollback-manager.d.ts.map +0 -1
- package/dist/utils/backup-rollback-manager.js +0 -289
- package/dist/utils/backup-rollback-manager.js.map +0 -1
- package/dist/utils/claude-config-installer.d.ts +0 -98
- package/dist/utils/claude-config-installer.d.ts.map +0 -1
- package/dist/utils/claude-config-installer.js +0 -678
- package/dist/utils/claude-config-installer.js.map +0 -1
- package/dist/utils/config-manager.d.ts +0 -73
- package/dist/utils/config-manager.d.ts.map +0 -1
- package/dist/utils/config-manager.js +0 -339
- package/dist/utils/config-manager.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -46
- package/dist/utils/error-handler.d.ts.map +0 -1
- package/dist/utils/error-handler.js +0 -169
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -25
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -105
- package/dist/utils/logger.js.map +0 -1
- package/src/commands/computer-setup-commands.ts +0 -872
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
export declare class ClaudeInitCommand {
|
|
3
|
-
private program;
|
|
4
|
-
private spinner;
|
|
5
|
-
constructor(program: Command);
|
|
6
|
-
private setupCommand;
|
|
7
|
-
private execute;
|
|
8
|
-
private isGitRepo;
|
|
9
|
-
private analyzeProject;
|
|
10
|
-
private runAudit;
|
|
11
|
-
private promptUser;
|
|
12
|
-
private getDefaultMcpTools;
|
|
13
|
-
private getDefaultProfile;
|
|
14
|
-
private getDefaultAgents;
|
|
15
|
-
private getAllAgentChoices;
|
|
16
|
-
private generateClaudeMd;
|
|
17
|
-
private getAgentDescription;
|
|
18
|
-
private getMcpToolDescription;
|
|
19
|
-
private getWorkflowPatterns;
|
|
20
|
-
private setupClaudeFlow;
|
|
21
|
-
private setupMcpTools;
|
|
22
|
-
private setupAgents;
|
|
23
|
-
private setupQualityHooks;
|
|
24
|
-
private printNextSteps;
|
|
25
|
-
}
|
|
26
|
-
declare const createClaudeInitCommand: (program: Command) => ClaudeInitCommand;
|
|
27
|
-
export default createClaudeInitCommand;
|
|
28
|
-
//# sourceMappingURL=claude-init.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-init.d.ts","sourceRoot":"","sources":["../../src/commands/claude-init.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,OAAO,CAAS;gBAEJ,OAAO,EAAE,OAAO;IAIpC,OAAO,CAAC,YAAY;YAwBN,OAAO;IAgDrB,OAAO,CAAC,SAAS;YASH,cAAc;YA4Dd,QAAQ;YA2HR,UAAU;IAuDxB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,kBAAkB;YA0BZ,gBAAgB;IAsF9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,mBAAmB;YAiCb,eAAe;YAuCf,aAAa;YA+Cb,WAAW;YA0BX,iBAAiB;IA0B/B,OAAO,CAAC,cAAc;CAcvB;AAED,QAAA,MAAM,uBAAuB,GAAI,SAAS,OAAO,sBACjB,CAAC;AACjC,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,591 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClaudeInitCommand = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
const path = tslib_1.__importStar(require("path"));
|
|
7
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
|
-
const fs = tslib_1.__importStar(require("fs-extra"));
|
|
9
|
-
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
10
|
-
const ora_1 = tslib_1.__importDefault(require("ora"));
|
|
11
|
-
class ClaudeInitCommand {
|
|
12
|
-
program;
|
|
13
|
-
spinner = (0, ora_1.default)();
|
|
14
|
-
constructor(program) {
|
|
15
|
-
this.program = program;
|
|
16
|
-
this.setupCommand();
|
|
17
|
-
}
|
|
18
|
-
setupCommand() {
|
|
19
|
-
this.program
|
|
20
|
-
.command('claude-init')
|
|
21
|
-
.alias('ci')
|
|
22
|
-
.description('Initialize Claude Code and Claude Flow in current repository')
|
|
23
|
-
.option('-i, --interactive', 'Interactive mode with prompts')
|
|
24
|
-
.option('-a, --audit', 'Run repository audit first')
|
|
25
|
-
.option('-f, --force', 'Force overwrite existing CLAUDE.md')
|
|
26
|
-
.option('--agents <agents>', 'Comma-separated list of agents to enable')
|
|
27
|
-
.option('--mcp-tools <tools>', 'Comma-separated list of MCP tools to enable')
|
|
28
|
-
.option('--profile <profile>', 'Developer profile (fullstack, frontend, backend, devops)')
|
|
29
|
-
.action(async (options) => {
|
|
30
|
-
await this.execute(options);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
async execute(options) {
|
|
34
|
-
console.log(chalk_1.default.blue.bold('\nš¤ Wundr Claude Initialization\n'));
|
|
35
|
-
// Check if in a git repository
|
|
36
|
-
if (!this.isGitRepo()) {
|
|
37
|
-
console.error(chalk_1.default.red('ā Not in a git repository. Please run this command in a git repository.'));
|
|
38
|
-
process.exit(1);
|
|
39
|
-
}
|
|
40
|
-
// Gather project information
|
|
41
|
-
const projectInfo = await this.analyzeProject();
|
|
42
|
-
// Run audit if requested
|
|
43
|
-
if (options.audit) {
|
|
44
|
-
await this.runAudit(projectInfo);
|
|
45
|
-
}
|
|
46
|
-
// Interactive mode
|
|
47
|
-
if (options.interactive) {
|
|
48
|
-
const answers = await this.promptUser(projectInfo);
|
|
49
|
-
Object.assign(options, answers);
|
|
50
|
-
}
|
|
51
|
-
// Generate CLAUDE.md
|
|
52
|
-
await this.generateClaudeMd(projectInfo, options);
|
|
53
|
-
// Setup Claude Flow
|
|
54
|
-
await this.setupClaudeFlow(projectInfo, options);
|
|
55
|
-
// Setup MCP tools
|
|
56
|
-
await this.setupMcpTools(options.mcpTools);
|
|
57
|
-
// Setup agents
|
|
58
|
-
await this.setupAgents(options.agents || this.getDefaultAgents(projectInfo));
|
|
59
|
-
// Setup quality hooks
|
|
60
|
-
await this.setupQualityHooks(projectInfo);
|
|
61
|
-
console.log(chalk_1.default.green.bold('\nā
Claude initialization complete!\n'));
|
|
62
|
-
this.printNextSteps();
|
|
63
|
-
}
|
|
64
|
-
isGitRepo() {
|
|
65
|
-
try {
|
|
66
|
-
(0, child_process_1.execSync)('git rev-parse --git-dir', { stdio: 'ignore' });
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async analyzeProject() {
|
|
74
|
-
this.spinner.start('Analyzing project structure...');
|
|
75
|
-
const projectInfo = {
|
|
76
|
-
name: path.basename(process.cwd()),
|
|
77
|
-
description: 'Project repository',
|
|
78
|
-
type: 'unknown',
|
|
79
|
-
hasTypeScript: false,
|
|
80
|
-
hasReact: false,
|
|
81
|
-
hasNext: false,
|
|
82
|
-
isMonorepo: false,
|
|
83
|
-
scripts: {},
|
|
84
|
-
dependencies: [],
|
|
85
|
-
};
|
|
86
|
-
// Read package.json if it exists
|
|
87
|
-
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
88
|
-
if (await fs.pathExists(packageJsonPath)) {
|
|
89
|
-
const pkg = await fs.readJson(packageJsonPath);
|
|
90
|
-
projectInfo.name = pkg.name || projectInfo.name;
|
|
91
|
-
projectInfo.description = pkg.description || projectInfo.description;
|
|
92
|
-
projectInfo.scripts = pkg.scripts || {};
|
|
93
|
-
projectInfo.dependencies = [
|
|
94
|
-
...Object.keys(pkg.dependencies || {}),
|
|
95
|
-
...Object.keys(pkg.devDependencies || {}),
|
|
96
|
-
];
|
|
97
|
-
}
|
|
98
|
-
// Detect project type
|
|
99
|
-
projectInfo.hasTypeScript = await fs.pathExists('tsconfig.json');
|
|
100
|
-
projectInfo.hasReact = projectInfo.dependencies.includes('react');
|
|
101
|
-
projectInfo.hasNext =
|
|
102
|
-
(await fs.pathExists('next.config.js')) ||
|
|
103
|
-
(await fs.pathExists('next.config.mjs'));
|
|
104
|
-
projectInfo.isMonorepo =
|
|
105
|
-
(await fs.pathExists('lerna.json')) ||
|
|
106
|
-
(await fs.pathExists('pnpm-workspace.yaml')) ||
|
|
107
|
-
(await fs.pathExists('rush.json'));
|
|
108
|
-
// Determine project type
|
|
109
|
-
if (projectInfo.hasNext) {
|
|
110
|
-
projectInfo.type = 'nextjs';
|
|
111
|
-
}
|
|
112
|
-
else if (projectInfo.hasReact) {
|
|
113
|
-
projectInfo.type = 'react';
|
|
114
|
-
}
|
|
115
|
-
else if (projectInfo.hasTypeScript) {
|
|
116
|
-
projectInfo.type = 'typescript';
|
|
117
|
-
}
|
|
118
|
-
else if (projectInfo.dependencies.includes('express')) {
|
|
119
|
-
projectInfo.type = 'node-backend';
|
|
120
|
-
}
|
|
121
|
-
else if (projectInfo.isMonorepo) {
|
|
122
|
-
projectInfo.type = 'monorepo';
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
projectInfo.type = 'javascript';
|
|
126
|
-
}
|
|
127
|
-
this.spinner.succeed(`Project analyzed: ${projectInfo.name} (${projectInfo.type})`);
|
|
128
|
-
return projectInfo;
|
|
129
|
-
}
|
|
130
|
-
async runAudit(projectInfo) {
|
|
131
|
-
this.spinner.start('Running repository audit...');
|
|
132
|
-
const auditResults = {
|
|
133
|
-
score: 0,
|
|
134
|
-
maxScore: 100,
|
|
135
|
-
categories: {
|
|
136
|
-
structure: { score: 0, maxScore: 20 },
|
|
137
|
-
quality: { score: 0, maxScore: 20 },
|
|
138
|
-
testing: { score: 0, maxScore: 20 },
|
|
139
|
-
documentation: { score: 0, maxScore: 20 },
|
|
140
|
-
security: { score: 0, maxScore: 20 },
|
|
141
|
-
},
|
|
142
|
-
recommendations: [],
|
|
143
|
-
};
|
|
144
|
-
// Structure checks
|
|
145
|
-
if (await fs.pathExists('src')) {
|
|
146
|
-
auditResults.categories.structure.score += 10;
|
|
147
|
-
}
|
|
148
|
-
if (await fs.pathExists('.gitignore')) {
|
|
149
|
-
auditResults.categories.structure.score += 5;
|
|
150
|
-
}
|
|
151
|
-
if (projectInfo.isMonorepo && (await fs.pathExists('packages'))) {
|
|
152
|
-
auditResults.categories.structure.score += 5;
|
|
153
|
-
}
|
|
154
|
-
// Quality checks
|
|
155
|
-
if ((await fs.pathExists('.eslintrc.json')) ||
|
|
156
|
-
(await fs.pathExists('.eslintrc.js'))) {
|
|
157
|
-
auditResults.categories.quality.score += 10;
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
auditResults.recommendations.push('Add ESLint configuration');
|
|
161
|
-
}
|
|
162
|
-
if (await fs.pathExists('.prettierrc')) {
|
|
163
|
-
auditResults.categories.quality.score += 5;
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
auditResults.recommendations.push('Add Prettier configuration');
|
|
167
|
-
}
|
|
168
|
-
if (projectInfo.hasTypeScript) {
|
|
169
|
-
auditResults.categories.quality.score += 5;
|
|
170
|
-
}
|
|
171
|
-
// Testing checks
|
|
172
|
-
if (projectInfo.scripts.test) {
|
|
173
|
-
auditResults.categories.testing.score += 10;
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
auditResults.recommendations.push('Add test script to package.json');
|
|
177
|
-
}
|
|
178
|
-
if ((await fs.pathExists('jest.config.js')) ||
|
|
179
|
-
(await fs.pathExists('vitest.config.js'))) {
|
|
180
|
-
auditResults.categories.testing.score += 10;
|
|
181
|
-
}
|
|
182
|
-
// Documentation checks
|
|
183
|
-
if (await fs.pathExists('README.md')) {
|
|
184
|
-
auditResults.categories.documentation.score += 10;
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
auditResults.recommendations.push('Add README.md');
|
|
188
|
-
}
|
|
189
|
-
if (await fs.pathExists('docs')) {
|
|
190
|
-
auditResults.categories.documentation.score += 10;
|
|
191
|
-
}
|
|
192
|
-
// Security checks
|
|
193
|
-
if (!(await fs.pathExists('.env'))) {
|
|
194
|
-
auditResults.categories.security.score += 10;
|
|
195
|
-
}
|
|
196
|
-
if (await fs.pathExists('.env.example')) {
|
|
197
|
-
auditResults.categories.security.score += 10;
|
|
198
|
-
}
|
|
199
|
-
else if (await fs.pathExists('.env')) {
|
|
200
|
-
auditResults.recommendations.push('Add .env.example for environment variables');
|
|
201
|
-
}
|
|
202
|
-
// Calculate total score
|
|
203
|
-
for (const category of Object.values(auditResults.categories)) {
|
|
204
|
-
auditResults.score += category.score;
|
|
205
|
-
}
|
|
206
|
-
this.spinner.succeed('Audit complete');
|
|
207
|
-
// Display results
|
|
208
|
-
console.log(chalk_1.default.cyan('\nš Audit Results:'));
|
|
209
|
-
console.log(chalk_1.default.white(`Overall Score: ${auditResults.score}/${auditResults.maxScore}`));
|
|
210
|
-
for (const [name, category] of Object.entries(auditResults.categories)) {
|
|
211
|
-
const percentage = (category.score / category.maxScore) * 100;
|
|
212
|
-
const color = percentage >= 80
|
|
213
|
-
? chalk_1.default.green
|
|
214
|
-
: percentage >= 50
|
|
215
|
-
? chalk_1.default.yellow
|
|
216
|
-
: chalk_1.default.red;
|
|
217
|
-
console.log(color(` ${name}: ${category.score}/${category.maxScore} (${percentage.toFixed(0)}%)`));
|
|
218
|
-
}
|
|
219
|
-
if (auditResults.recommendations.length > 0) {
|
|
220
|
-
console.log(chalk_1.default.yellow('\nš” Recommendations:'));
|
|
221
|
-
for (const rec of auditResults.recommendations) {
|
|
222
|
-
console.log(chalk_1.default.white(` ⢠${rec}`));
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
async promptUser(projectInfo) {
|
|
227
|
-
const answers = await inquirer_1.default.prompt([
|
|
228
|
-
{
|
|
229
|
-
type: 'confirm',
|
|
230
|
-
name: 'setupClaudeFlow',
|
|
231
|
-
message: 'Setup Claude Flow orchestration?',
|
|
232
|
-
default: true,
|
|
233
|
-
},
|
|
234
|
-
{
|
|
235
|
-
type: 'checkbox',
|
|
236
|
-
name: 'mcpTools',
|
|
237
|
-
message: 'Select MCP tools to enable:',
|
|
238
|
-
choices: [
|
|
239
|
-
{ name: 'Firecrawl (Web scraping)', value: 'firecrawl' },
|
|
240
|
-
{ name: 'Context7 (Context management)', value: 'context7' },
|
|
241
|
-
{ name: 'Playwright (Browser automation)', value: 'playwright' },
|
|
242
|
-
{ name: 'Browser MCP (Chrome control)', value: 'browser' },
|
|
243
|
-
{
|
|
244
|
-
name: 'Sequential Thinking (MIT reasoning)',
|
|
245
|
-
value: 'sequentialthinking',
|
|
246
|
-
},
|
|
247
|
-
],
|
|
248
|
-
default: this.getDefaultMcpTools(projectInfo),
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
type: 'list',
|
|
252
|
-
name: 'profile',
|
|
253
|
-
message: 'Select developer profile:',
|
|
254
|
-
choices: [
|
|
255
|
-
{ name: 'Full-stack Developer', value: 'fullstack' },
|
|
256
|
-
{ name: 'Frontend Developer', value: 'frontend' },
|
|
257
|
-
{ name: 'Backend Developer', value: 'backend' },
|
|
258
|
-
{ name: 'DevOps Engineer', value: 'devops' },
|
|
259
|
-
{ name: 'Custom', value: 'custom' },
|
|
260
|
-
],
|
|
261
|
-
default: this.getDefaultProfile(projectInfo),
|
|
262
|
-
},
|
|
263
|
-
]);
|
|
264
|
-
if (answers.profile === 'custom') {
|
|
265
|
-
const customAgents = await inquirer_1.default.prompt([
|
|
266
|
-
{
|
|
267
|
-
type: 'checkbox',
|
|
268
|
-
name: 'agents',
|
|
269
|
-
message: 'Select agents to enable:',
|
|
270
|
-
choices: this.getAllAgentChoices(),
|
|
271
|
-
default: this.getDefaultAgents(projectInfo),
|
|
272
|
-
},
|
|
273
|
-
]);
|
|
274
|
-
answers.agents = customAgents.agents.join(',');
|
|
275
|
-
}
|
|
276
|
-
return answers;
|
|
277
|
-
}
|
|
278
|
-
getDefaultMcpTools(projectInfo) {
|
|
279
|
-
const tools = ['sequentialthinking'];
|
|
280
|
-
if (projectInfo.hasReact || projectInfo.hasNext) {
|
|
281
|
-
tools.push('browser', 'playwright');
|
|
282
|
-
}
|
|
283
|
-
return tools;
|
|
284
|
-
}
|
|
285
|
-
getDefaultProfile(projectInfo) {
|
|
286
|
-
if (projectInfo.hasNext ||
|
|
287
|
-
(projectInfo.hasReact && projectInfo.dependencies.includes('express'))) {
|
|
288
|
-
return 'fullstack';
|
|
289
|
-
}
|
|
290
|
-
else if (projectInfo.hasReact) {
|
|
291
|
-
return 'frontend';
|
|
292
|
-
}
|
|
293
|
-
else if (projectInfo.dependencies.includes('express') ||
|
|
294
|
-
projectInfo.dependencies.includes('fastify')) {
|
|
295
|
-
return 'backend';
|
|
296
|
-
}
|
|
297
|
-
return 'fullstack';
|
|
298
|
-
}
|
|
299
|
-
getDefaultAgents(projectInfo) {
|
|
300
|
-
const agents = ['coder', 'reviewer', 'tester', 'planner', 'researcher'];
|
|
301
|
-
if (projectInfo.hasTypeScript) {
|
|
302
|
-
agents.push('system-architect');
|
|
303
|
-
}
|
|
304
|
-
if (projectInfo.hasReact || projectInfo.hasNext) {
|
|
305
|
-
agents.push('mobile-dev');
|
|
306
|
-
}
|
|
307
|
-
if (projectInfo.isMonorepo) {
|
|
308
|
-
agents.push('repo-architect', 'sync-coordinator');
|
|
309
|
-
}
|
|
310
|
-
return agents;
|
|
311
|
-
}
|
|
312
|
-
getAllAgentChoices() {
|
|
313
|
-
return [
|
|
314
|
-
{ name: 'Coder - Implementation specialist', value: 'coder' },
|
|
315
|
-
{ name: 'Reviewer - Code review specialist', value: 'reviewer' },
|
|
316
|
-
{ name: 'Tester - Testing specialist', value: 'tester' },
|
|
317
|
-
{ name: 'Planner - Strategic planning', value: 'planner' },
|
|
318
|
-
{ name: 'Researcher - Information gathering', value: 'researcher' },
|
|
319
|
-
{
|
|
320
|
-
name: 'System Architect - Architecture design',
|
|
321
|
-
value: 'system-architect',
|
|
322
|
-
},
|
|
323
|
-
{ name: 'Mobile Dev - React Native development', value: 'mobile-dev' },
|
|
324
|
-
{ name: 'Backend Dev - API development', value: 'backend-dev' },
|
|
325
|
-
{ name: 'ML Developer - Machine learning', value: 'ml-developer' },
|
|
326
|
-
{ name: 'CICD Engineer - Pipeline automation', value: 'cicd-engineer' },
|
|
327
|
-
{ name: 'Performance Analyzer - Optimization', value: 'perf-analyzer' },
|
|
328
|
-
{ name: 'GitHub Modes - GitHub integration', value: 'github-modes' },
|
|
329
|
-
{ name: 'PR Manager - Pull request management', value: 'pr-manager' },
|
|
330
|
-
{ name: 'Issue Tracker - Issue management', value: 'issue-tracker' },
|
|
331
|
-
{
|
|
332
|
-
name: 'Release Manager - Release coordination',
|
|
333
|
-
value: 'release-manager',
|
|
334
|
-
},
|
|
335
|
-
];
|
|
336
|
-
}
|
|
337
|
-
async generateClaudeMd(projectInfo, options) {
|
|
338
|
-
this.spinner.start('Generating CLAUDE.md...');
|
|
339
|
-
const claudeMdPath = path.join(process.cwd(), 'CLAUDE.md');
|
|
340
|
-
if ((await fs.pathExists(claudeMdPath)) && !options.force) {
|
|
341
|
-
const { overwrite } = await inquirer_1.default.prompt([
|
|
342
|
-
{
|
|
343
|
-
type: 'confirm',
|
|
344
|
-
name: 'overwrite',
|
|
345
|
-
message: 'CLAUDE.md already exists. Overwrite?',
|
|
346
|
-
default: false,
|
|
347
|
-
},
|
|
348
|
-
]);
|
|
349
|
-
if (!overwrite) {
|
|
350
|
-
this.spinner.warn('Skipped CLAUDE.md generation');
|
|
351
|
-
return;
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
const agents = options.agents
|
|
355
|
-
? options.agents.split(',')
|
|
356
|
-
: this.getDefaultAgents(projectInfo);
|
|
357
|
-
const mcpTools = options.mcpTools || this.getDefaultMcpTools(projectInfo);
|
|
358
|
-
const content = `# Claude Code Configuration - ${projectInfo.name}
|
|
359
|
-
|
|
360
|
-
## Project: ${projectInfo.name}
|
|
361
|
-
${projectInfo.description}
|
|
362
|
-
|
|
363
|
-
## šØ CRITICAL: VERIFICATION PROTOCOL
|
|
364
|
-
|
|
365
|
-
### MANDATORY: ALWAYS VERIFY, NEVER ASSUME
|
|
366
|
-
**After EVERY code change:**
|
|
367
|
-
1. **TEST IT**: Run the actual command and show real output
|
|
368
|
-
2. **PROVE IT**: Show file contents, build results, test output
|
|
369
|
-
3. **FAIL LOUDLY**: If something fails, say "ā FAILED:" immediately
|
|
370
|
-
4. **VERIFY SUCCESS**: Only claim "complete" after showing it working
|
|
371
|
-
|
|
372
|
-
## Project Type: ${projectInfo.type}
|
|
373
|
-
- TypeScript: ${projectInfo.hasTypeScript ? 'Yes' : 'No'}
|
|
374
|
-
- React: ${projectInfo.hasReact ? 'Yes' : 'No'}
|
|
375
|
-
- Next.js: ${projectInfo.hasNext ? 'Yes' : 'No'}
|
|
376
|
-
- Monorepo: ${projectInfo.isMonorepo ? 'Yes' : 'No'}
|
|
377
|
-
|
|
378
|
-
## Available Scripts
|
|
379
|
-
${Object.entries(projectInfo.scripts)
|
|
380
|
-
.map(([key, value]) => `- \`npm run ${key}\`: ${value}`)
|
|
381
|
-
.join('\n')}
|
|
382
|
-
|
|
383
|
-
## Quality Standards
|
|
384
|
-
- Always run \`npm run build\` after changes
|
|
385
|
-
${projectInfo.scripts.test ? '- Always run `npm run test` before committing' : ''}
|
|
386
|
-
${projectInfo.scripts.lint ? '- Always run `npm run lint` before committing' : ''}
|
|
387
|
-
${projectInfo.scripts.typecheck ? '- Always run `npm run typecheck` for TypeScript projects' : ''}
|
|
388
|
-
|
|
389
|
-
## Agent Configuration
|
|
390
|
-
Enabled agents for this project:
|
|
391
|
-
${agents.map(agent => `- **${agent}**: ${this.getAgentDescription(agent)}`).join('\n')}
|
|
392
|
-
|
|
393
|
-
## MCP Tools
|
|
394
|
-
Enabled MCP tools:
|
|
395
|
-
${mcpTools.map((tool) => `- **${tool}**: ${this.getMcpToolDescription(tool)}`).join('\n')}
|
|
396
|
-
|
|
397
|
-
## Workflow Patterns
|
|
398
|
-
${this.getWorkflowPatterns(projectInfo, agents)}
|
|
399
|
-
|
|
400
|
-
## Code Style & Best Practices
|
|
401
|
-
- **Modular Design**: Keep files under 500 lines
|
|
402
|
-
- **Environment Safety**: Never hardcode secrets
|
|
403
|
-
- **Test-First**: Write tests before implementation
|
|
404
|
-
- **Clean Architecture**: Separate concerns
|
|
405
|
-
- **Documentation**: Keep updated
|
|
406
|
-
|
|
407
|
-
Generated on: ${new Date().toISOString()}
|
|
408
|
-
By: Wundr Claude Init
|
|
409
|
-
`;
|
|
410
|
-
await fs.writeFile(claudeMdPath, content);
|
|
411
|
-
this.spinner.succeed('CLAUDE.md generated successfully');
|
|
412
|
-
}
|
|
413
|
-
getAgentDescription(agent) {
|
|
414
|
-
const descriptions = {
|
|
415
|
-
coder: 'Implementation and code generation',
|
|
416
|
-
reviewer: 'Code review and quality assurance',
|
|
417
|
-
tester: 'Testing and validation',
|
|
418
|
-
planner: 'Task planning and orchestration',
|
|
419
|
-
researcher: 'Research and information gathering',
|
|
420
|
-
'system-architect': 'System design and architecture',
|
|
421
|
-
'mobile-dev': 'React Native mobile development',
|
|
422
|
-
'backend-dev': 'Backend API development',
|
|
423
|
-
'ml-developer': 'Machine learning development',
|
|
424
|
-
'cicd-engineer': 'CI/CD pipeline automation',
|
|
425
|
-
'perf-analyzer': 'Performance analysis and optimization',
|
|
426
|
-
'github-modes': 'GitHub integration and automation',
|
|
427
|
-
'pr-manager': 'Pull request management',
|
|
428
|
-
'issue-tracker': 'Issue tracking and management',
|
|
429
|
-
'release-manager': 'Release coordination and deployment',
|
|
430
|
-
};
|
|
431
|
-
return descriptions[agent] || 'Specialized agent';
|
|
432
|
-
}
|
|
433
|
-
getMcpToolDescription(tool) {
|
|
434
|
-
const descriptions = {
|
|
435
|
-
firecrawl: 'Web scraping and crawling',
|
|
436
|
-
context7: 'Context management and vector search',
|
|
437
|
-
playwright: 'Browser automation and testing',
|
|
438
|
-
browser: 'Real Chrome browser control',
|
|
439
|
-
sequentialthinking: 'Structured reasoning and validation',
|
|
440
|
-
};
|
|
441
|
-
return descriptions[tool] || 'MCP tool';
|
|
442
|
-
}
|
|
443
|
-
getWorkflowPatterns(projectInfo, agents) {
|
|
444
|
-
const patterns = [];
|
|
445
|
-
if (projectInfo.hasReact || projectInfo.hasNext) {
|
|
446
|
-
patterns.push(`### Frontend Development
|
|
447
|
-
1. Use **researcher** to analyze requirements
|
|
448
|
-
2. Use **planner** to design component structure
|
|
449
|
-
3. Use **coder** to implement components
|
|
450
|
-
4. Use **tester** to write tests
|
|
451
|
-
5. Use **reviewer** to validate code quality`);
|
|
452
|
-
}
|
|
453
|
-
if (agents.includes('github-modes')) {
|
|
454
|
-
patterns.push(`### GitHub Workflow
|
|
455
|
-
1. Use **issue-tracker** to manage tasks
|
|
456
|
-
2. Use **pr-manager** for pull requests
|
|
457
|
-
3. Use **code-review-swarm** for reviews
|
|
458
|
-
4. Use **release-manager** for deployments`);
|
|
459
|
-
}
|
|
460
|
-
if (projectInfo.isMonorepo) {
|
|
461
|
-
patterns.push(`### Monorepo Management
|
|
462
|
-
1. Use **repo-architect** for structure optimization
|
|
463
|
-
2. Use **sync-coordinator** for package synchronization
|
|
464
|
-
3. Use **multi-repo-swarm** for cross-package changes`);
|
|
465
|
-
}
|
|
466
|
-
return patterns.join('\n\n');
|
|
467
|
-
}
|
|
468
|
-
async setupClaudeFlow(projectInfo, options) {
|
|
469
|
-
if (!options.setupClaudeFlow) {
|
|
470
|
-
return;
|
|
471
|
-
}
|
|
472
|
-
this.spinner.start('Setting up Claude Flow...');
|
|
473
|
-
try {
|
|
474
|
-
// Initialize Claude Flow
|
|
475
|
-
(0, child_process_1.execSync)('npx claude-flow@alpha init', { stdio: 'ignore' });
|
|
476
|
-
// Configure for project
|
|
477
|
-
const config = {
|
|
478
|
-
project: projectInfo.name,
|
|
479
|
-
topology: projectInfo.isMonorepo ? 'hierarchical' : 'mesh',
|
|
480
|
-
agents: options.agents
|
|
481
|
-
? options.agents.split(',')
|
|
482
|
-
: this.getDefaultAgents(projectInfo),
|
|
483
|
-
memory: {
|
|
484
|
-
backend: 'sqlite',
|
|
485
|
-
path: '.claude-flow/memory.db',
|
|
486
|
-
},
|
|
487
|
-
neural: {
|
|
488
|
-
enabled: true,
|
|
489
|
-
modelPath: '.claude-flow/models',
|
|
490
|
-
},
|
|
491
|
-
};
|
|
492
|
-
await fs.writeJson('.claude-flow/config.json', config, { spaces: 2 });
|
|
493
|
-
this.spinner.succeed('Claude Flow configured');
|
|
494
|
-
}
|
|
495
|
-
catch (error) {
|
|
496
|
-
this.spinner.fail('Failed to setup Claude Flow');
|
|
497
|
-
console.error(chalk_1.default.red(error));
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
async setupMcpTools(mcpTools) {
|
|
501
|
-
if (!mcpTools) {
|
|
502
|
-
return;
|
|
503
|
-
}
|
|
504
|
-
const tools = Array.isArray(mcpTools) ? mcpTools : mcpTools.split(',');
|
|
505
|
-
for (const tool of tools) {
|
|
506
|
-
this.spinner.start(`Installing ${tool} MCP...`);
|
|
507
|
-
try {
|
|
508
|
-
switch (tool) {
|
|
509
|
-
case 'firecrawl':
|
|
510
|
-
(0, child_process_1.execSync)('npx claude mcp add firecrawl npx @firecrawl/mcp-server', {
|
|
511
|
-
stdio: 'ignore',
|
|
512
|
-
});
|
|
513
|
-
break;
|
|
514
|
-
case 'context7':
|
|
515
|
-
(0, child_process_1.execSync)('npx claude mcp add context7 npx @context7/mcp-server', {
|
|
516
|
-
stdio: 'ignore',
|
|
517
|
-
});
|
|
518
|
-
break;
|
|
519
|
-
case 'playwright':
|
|
520
|
-
(0, child_process_1.execSync)('npx claude mcp add playwright npx @playwright/mcp-server', { stdio: 'ignore' });
|
|
521
|
-
break;
|
|
522
|
-
case 'browser':
|
|
523
|
-
(0, child_process_1.execSync)('npx claude mcp add browser npx @browser/mcp-server', {
|
|
524
|
-
stdio: 'ignore',
|
|
525
|
-
});
|
|
526
|
-
break;
|
|
527
|
-
case 'sequentialthinking':
|
|
528
|
-
(0, child_process_1.execSync)('npm install -g @modelcontextprotocol/server-sequentialthinking', { stdio: 'ignore' });
|
|
529
|
-
break;
|
|
530
|
-
}
|
|
531
|
-
this.spinner.succeed(`${tool} MCP installed`);
|
|
532
|
-
}
|
|
533
|
-
catch (error) {
|
|
534
|
-
this.spinner.fail(`Failed to install ${tool} MCP`);
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
async setupAgents(agents) {
|
|
539
|
-
this.spinner.start('Setting up agents...');
|
|
540
|
-
const agentsDir = path.join(process.cwd(), '.claude', 'agents');
|
|
541
|
-
await fs.ensureDir(agentsDir);
|
|
542
|
-
for (const agent of agents) {
|
|
543
|
-
const agentConfig = {
|
|
544
|
-
name: agent,
|
|
545
|
-
description: this.getAgentDescription(agent),
|
|
546
|
-
enabled: true,
|
|
547
|
-
configuration: {
|
|
548
|
-
maxTokens: 8000,
|
|
549
|
-
temperature: 0.7,
|
|
550
|
-
topP: 0.9,
|
|
551
|
-
},
|
|
552
|
-
};
|
|
553
|
-
await fs.writeJson(path.join(agentsDir, `${agent}.json`), agentConfig, {
|
|
554
|
-
spaces: 2,
|
|
555
|
-
});
|
|
556
|
-
}
|
|
557
|
-
this.spinner.succeed(`${agents.length} agents configured`);
|
|
558
|
-
}
|
|
559
|
-
async setupQualityHooks(projectInfo) {
|
|
560
|
-
this.spinner.start('Setting up quality enforcement hooks...');
|
|
561
|
-
const hooksDir = path.join(process.cwd(), '.claude', 'hooks');
|
|
562
|
-
await fs.ensureDir(hooksDir);
|
|
563
|
-
// Pre-commit hook
|
|
564
|
-
const preCommitHook = `#!/bin/bash
|
|
565
|
-
# Claude Code Quality Enforcement
|
|
566
|
-
|
|
567
|
-
echo "š Running quality checks..."
|
|
568
|
-
|
|
569
|
-
${projectInfo.scripts.typecheck ? 'npm run typecheck || exit 1' : ''}
|
|
570
|
-
${projectInfo.scripts.lint ? 'npm run lint || exit 1' : ''}
|
|
571
|
-
${projectInfo.scripts.test ? 'npm test || exit 1' : ''}
|
|
572
|
-
|
|
573
|
-
echo "ā
All quality checks passed!"
|
|
574
|
-
`;
|
|
575
|
-
await fs.writeFile(path.join(hooksDir, 'pre-commit.sh'), preCommitHook);
|
|
576
|
-
await fs.chmod(path.join(hooksDir, 'pre-commit.sh'), '755');
|
|
577
|
-
this.spinner.succeed('Quality hooks configured');
|
|
578
|
-
}
|
|
579
|
-
printNextSteps() {
|
|
580
|
-
console.log(chalk_1.default.cyan('\nš Next Steps:'));
|
|
581
|
-
console.log(chalk_1.default.white('1. Review and customize CLAUDE.md'));
|
|
582
|
-
console.log(chalk_1.default.white('2. Configure API keys for MCP tools (if needed)'));
|
|
583
|
-
console.log(chalk_1.default.white('3. Restart Claude Desktop to load new configurations'));
|
|
584
|
-
console.log(chalk_1.default.white('4. Run: npx claude-flow@alpha sparc tdd "your first feature"'));
|
|
585
|
-
console.log(chalk_1.default.cyan('\nš Happy coding with Claude!\n'));
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
exports.ClaudeInitCommand = ClaudeInitCommand;
|
|
589
|
-
const createClaudeInitCommand = (program) => new ClaudeInitCommand(program);
|
|
590
|
-
exports.default = createClaudeInitCommand;
|
|
591
|
-
//# sourceMappingURL=claude-init.js.map
|