@wundr.io/cli 1.0.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/README.md +551 -0
- package/bin/wundr.js +39 -0
- package/dist/ai/ai-service.d.ts +152 -0
- package/dist/ai/ai-service.d.ts.map +1 -0
- package/dist/ai/ai-service.js +430 -0
- package/dist/ai/ai-service.js.map +1 -0
- package/dist/ai/claude-client.d.ts +130 -0
- package/dist/ai/claude-client.d.ts.map +1 -0
- package/dist/ai/claude-client.js +339 -0
- package/dist/ai/claude-client.js.map +1 -0
- package/dist/ai/conversation-manager.d.ts +164 -0
- package/dist/ai/conversation-manager.d.ts.map +1 -0
- package/dist/ai/conversation-manager.js +612 -0
- package/dist/ai/conversation-manager.js.map +1 -0
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +8 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/cli.d.ts +36 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +173 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/ai.d.ts +89 -0
- package/dist/commands/ai.d.ts.map +1 -0
- package/dist/commands/ai.js +735 -0
- package/dist/commands/ai.js.map +1 -0
- package/dist/commands/analyze-optimized.d.ts +14 -0
- package/dist/commands/analyze-optimized.d.ts.map +1 -0
- package/dist/commands/analyze-optimized.js +437 -0
- package/dist/commands/analyze-optimized.js.map +1 -0
- package/dist/commands/analyze.d.ts +65 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +435 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/batch.d.ts +71 -0
- package/dist/commands/batch.d.ts.map +1 -0
- package/dist/commands/batch.js +738 -0
- package/dist/commands/batch.js.map +1 -0
- package/dist/commands/chat.d.ts +71 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +674 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/claude-init.d.ts +28 -0
- package/dist/commands/claude-init.d.ts.map +1 -0
- package/dist/commands/claude-init.js +587 -0
- package/dist/commands/claude-init.js.map +1 -0
- package/dist/commands/claude-setup.d.ts +32 -0
- package/dist/commands/claude-setup.d.ts.map +1 -0
- package/dist/commands/claude-setup.js +570 -0
- package/dist/commands/claude-setup.js.map +1 -0
- package/dist/commands/computer-setup-commands.d.ts +39 -0
- package/dist/commands/computer-setup-commands.d.ts.map +1 -0
- package/dist/commands/computer-setup-commands.js +563 -0
- package/dist/commands/computer-setup-commands.js.map +1 -0
- package/dist/commands/computer-setup.d.ts +7 -0
- package/dist/commands/computer-setup.d.ts.map +1 -0
- package/dist/commands/computer-setup.js +481 -0
- package/dist/commands/computer-setup.js.map +1 -0
- package/dist/commands/create-command.d.ts +7 -0
- package/dist/commands/create-command.d.ts.map +1 -0
- package/dist/commands/create-command.js +158 -0
- package/dist/commands/create-command.js.map +1 -0
- package/dist/commands/create.d.ts +74 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +556 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/dashboard.d.ts +91 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +537 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/govern.d.ts +70 -0
- package/dist/commands/govern.d.ts.map +1 -0
- package/dist/commands/govern.js +480 -0
- package/dist/commands/govern.js.map +1 -0
- package/dist/commands/init.d.ts +55 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +584 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/performance-optimizer.d.ts +30 -0
- package/dist/commands/performance-optimizer.d.ts.map +1 -0
- package/dist/commands/performance-optimizer.js +649 -0
- package/dist/commands/performance-optimizer.js.map +1 -0
- package/dist/commands/plugins.d.ts +87 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +685 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/setup.d.ts +29 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +399 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/test-init.d.ts +9 -0
- package/dist/commands/test-init.d.ts.map +1 -0
- package/dist/commands/test-init.js +222 -0
- package/dist/commands/test-init.js.map +1 -0
- package/dist/commands/test.d.ts +25 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +217 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/watch.d.ts +76 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +610 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/context/context-manager.d.ts +155 -0
- package/dist/context/context-manager.d.ts.map +1 -0
- package/dist/context/context-manager.js +383 -0
- package/dist/context/context-manager.js.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +6 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/session-manager.d.ts +207 -0
- package/dist/context/session-manager.d.ts.map +1 -0
- package/dist/context/session-manager.js +682 -0
- package/dist/context/session-manager.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/interactive/interactive-mode.d.ts +76 -0
- package/dist/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/interactive/interactive-mode.js +730 -0
- package/dist/interactive/interactive-mode.js.map +1 -0
- package/dist/nlp/command-mapper.d.ts +174 -0
- package/dist/nlp/command-mapper.d.ts.map +1 -0
- package/dist/nlp/command-mapper.js +623 -0
- package/dist/nlp/command-mapper.js.map +1 -0
- package/dist/nlp/command-parser.d.ts +106 -0
- package/dist/nlp/command-parser.d.ts.map +1 -0
- package/dist/nlp/command-parser.js +416 -0
- package/dist/nlp/command-parser.js.map +1 -0
- package/dist/nlp/index.d.ts +5 -0
- package/dist/nlp/index.d.ts.map +1 -0
- package/dist/nlp/index.js +8 -0
- package/dist/nlp/index.js.map +1 -0
- package/dist/nlp/intent-classifier.d.ts +59 -0
- package/dist/nlp/intent-classifier.d.ts.map +1 -0
- package/dist/nlp/intent-classifier.js +384 -0
- package/dist/nlp/intent-classifier.js.map +1 -0
- package/dist/nlp/intent-parser.d.ts +152 -0
- package/dist/nlp/intent-parser.d.ts.map +1 -0
- package/dist/nlp/intent-parser.js +739 -0
- package/dist/nlp/intent-parser.js.map +1 -0
- package/dist/plugins/plugin-manager.d.ts +120 -0
- package/dist/plugins/plugin-manager.d.ts.map +1 -0
- package/dist/plugins/plugin-manager.js +595 -0
- package/dist/plugins/plugin-manager.js.map +1 -0
- package/dist/types/index.d.ts +224 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config-manager.d.ts +73 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-manager.js +339 -0
- package/dist/utils/config-manager.js.map +1 -0
- package/dist/utils/error-handler.d.ts +46 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +169 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/logger.d.ts +25 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +94 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +119 -0
- package/src/ai/ai-service.ts +595 -0
- package/src/ai/claude-client.ts +490 -0
- package/src/ai/conversation-manager.ts +907 -0
- package/src/ai/index.ts +8 -0
- package/src/cli.ts +202 -0
- package/src/commands/ai.ts +995 -0
- package/src/commands/analyze-optimized.ts +641 -0
- package/src/commands/analyze.ts +576 -0
- package/src/commands/batch.ts +935 -0
- package/src/commands/chat.ts +876 -0
- package/src/commands/claude-init.ts +715 -0
- package/src/commands/claude-setup.ts +697 -0
- package/src/commands/computer-setup-commands.ts +709 -0
- package/src/commands/computer-setup.ts +565 -0
- package/src/commands/create-command.ts +175 -0
- package/src/commands/create.ts +727 -0
- package/src/commands/dashboard.ts +691 -0
- package/src/commands/govern.ts +635 -0
- package/src/commands/init.ts +677 -0
- package/src/commands/performance-optimizer.ts +864 -0
- package/src/commands/plugins.ts +848 -0
- package/src/commands/setup.ts +508 -0
- package/src/commands/test-init.ts +242 -0
- package/src/commands/test.ts +264 -0
- package/src/commands/watch.ts +755 -0
- package/src/context/context-manager.ts +546 -0
- package/src/context/index.ts +9 -0
- package/src/context/session-manager.ts +1019 -0
- package/src/index.ts +64 -0
- package/src/interactive/interactive-mode.ts +830 -0
- package/src/nlp/command-mapper.ts +885 -0
- package/src/nlp/command-parser.ts +564 -0
- package/src/nlp/index.ts +4 -0
- package/src/nlp/intent-classifier.ts +458 -0
- package/src/nlp/intent-parser.ts +1101 -0
- package/src/plugins/plugin-manager.ts +744 -0
- package/src/types/index.ts +252 -0
- package/src/types/modules.d.ts +56 -0
- package/src/utils/config-manager.ts +391 -0
- package/src/utils/error-handler.ts +192 -0
- package/src/utils/logger.ts +104 -0
- package/templates/batch/ci-cd.yaml +62 -0
- package/templates/component/{{fileName}}.test.tsx +17 -0
- package/templates/component/{{fileName}}.tsx +21 -0
- package/templates/service/{{fileName}}.ts +98 -0
- package/templates/wundr-test.config.js +0 -0
- package/test-suites/api/health.spec.ts +134 -0
- package/test-suites/helpers/test-config.ts +84 -0
- package/test-suites/ui/accessibility.spec.ts +102 -0
- package/test-suites/ui/smoke.spec.ts +92 -0
package/src/ai/index.ts
ADDED
package/src/cli.ts
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { version } from '../package.json';
|
|
3
|
+
import { InteractiveMode } from './interactive/interactive-mode';
|
|
4
|
+
import { PluginManager } from './plugins/plugin-manager';
|
|
5
|
+
import { ConfigManager } from './utils/config-manager';
|
|
6
|
+
import { logger } from './utils/logger';
|
|
7
|
+
|
|
8
|
+
// Import command modules
|
|
9
|
+
import { InitCommands } from './commands/init';
|
|
10
|
+
import { CreateCommands } from './commands/create';
|
|
11
|
+
import { AnalyzeCommands } from './commands/analyze';
|
|
12
|
+
import { GovernCommands } from './commands/govern';
|
|
13
|
+
import { AICommands } from './commands/ai';
|
|
14
|
+
import { DashboardCommands } from './commands/dashboard';
|
|
15
|
+
import { WatchCommands } from './commands/watch';
|
|
16
|
+
import { BatchCommands } from './commands/batch';
|
|
17
|
+
import { ChatCommands } from './commands/chat';
|
|
18
|
+
import { PluginCommands } from './commands/plugins';
|
|
19
|
+
import { SetupCommands } from './commands/setup';
|
|
20
|
+
import { createComputerSetupCommand } from './commands/computer-setup';
|
|
21
|
+
import { createTestCommand } from './commands/test';
|
|
22
|
+
import claudeInitCommand from './commands/claude-init';
|
|
23
|
+
import claudeSetupCommand from './commands/claude-setup';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Main CLI class that orchestrates all commands and modes
|
|
27
|
+
*/
|
|
28
|
+
export class WundrCLI {
|
|
29
|
+
private program: Command;
|
|
30
|
+
private interactiveMode: InteractiveMode;
|
|
31
|
+
private pluginManager: PluginManager;
|
|
32
|
+
private configManager: ConfigManager;
|
|
33
|
+
|
|
34
|
+
constructor() {
|
|
35
|
+
this.program = new Command();
|
|
36
|
+
this.configManager = new ConfigManager();
|
|
37
|
+
this.pluginManager = new PluginManager(this.configManager);
|
|
38
|
+
this.interactiveMode = new InteractiveMode(
|
|
39
|
+
this.configManager,
|
|
40
|
+
this.pluginManager
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
this.setupProgram();
|
|
44
|
+
this.registerCommands();
|
|
45
|
+
this.setupGlobalOptions();
|
|
46
|
+
this.setupInteractiveMode();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Setup the main program configuration
|
|
51
|
+
*/
|
|
52
|
+
private setupProgram(): void {
|
|
53
|
+
this.program
|
|
54
|
+
.name('wundr')
|
|
55
|
+
.description(
|
|
56
|
+
'Unified Developer Platform - Code Analysis, Governance & Computer Setup for Engineering Teams'
|
|
57
|
+
)
|
|
58
|
+
.version(version, '-v, --version', 'display version number')
|
|
59
|
+
.helpOption('-h, --help', 'display help for command')
|
|
60
|
+
.addHelpText(
|
|
61
|
+
'before',
|
|
62
|
+
`
|
|
63
|
+
╦ ╦╦ ╦╔╗╔╔╦╗╦═╗
|
|
64
|
+
║║║║ ║║║║ ║║╠╦╝
|
|
65
|
+
╚╩╝╚═╝╝╚╝═╩╝╩╚═
|
|
66
|
+
The Unified Developer Platform
|
|
67
|
+
`
|
|
68
|
+
)
|
|
69
|
+
.configureOutput({
|
|
70
|
+
writeOut: str => process.stdout.write(str),
|
|
71
|
+
writeErr: str => process.stderr.write(str),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Register all command categories
|
|
77
|
+
*/
|
|
78
|
+
private registerCommands(): void {
|
|
79
|
+
// Computer Setup & Provisioning (primary integration)
|
|
80
|
+
new SetupCommands(this.program, this.configManager, this.pluginManager);
|
|
81
|
+
// Use the working computer-setup command instead of the broken one
|
|
82
|
+
this.program.addCommand(createComputerSetupCommand());
|
|
83
|
+
|
|
84
|
+
// Code Analysis & Governance (original wundr features)
|
|
85
|
+
new AnalyzeCommands(this.program, this.configManager, this.pluginManager);
|
|
86
|
+
new GovernCommands(this.program, this.configManager, this.pluginManager);
|
|
87
|
+
|
|
88
|
+
// Project Management
|
|
89
|
+
new InitCommands(this.program, this.configManager, this.pluginManager);
|
|
90
|
+
new CreateCommands(this.program, this.configManager, this.pluginManager);
|
|
91
|
+
|
|
92
|
+
// AI & Automation
|
|
93
|
+
new AICommands(this.program, this.configManager, this.pluginManager);
|
|
94
|
+
new BatchCommands(this.program, this.configManager, this.pluginManager);
|
|
95
|
+
|
|
96
|
+
// Dashboard & Monitoring
|
|
97
|
+
new DashboardCommands(this.program, this.configManager, this.pluginManager);
|
|
98
|
+
new WatchCommands(this.program, this.configManager, this.pluginManager);
|
|
99
|
+
|
|
100
|
+
// Testing
|
|
101
|
+
this.program.addCommand(createTestCommand());
|
|
102
|
+
|
|
103
|
+
// Interactive Modes
|
|
104
|
+
new ChatCommands(this.program, this.configManager, this.pluginManager);
|
|
105
|
+
|
|
106
|
+
// Plugin Management
|
|
107
|
+
new PluginCommands(this.program, this.configManager, this.pluginManager);
|
|
108
|
+
|
|
109
|
+
// Claude Integration
|
|
110
|
+
claudeInitCommand(this.program);
|
|
111
|
+
claudeSetupCommand(this.program);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Setup global options and hooks
|
|
116
|
+
*/
|
|
117
|
+
private setupGlobalOptions(): void {
|
|
118
|
+
this.program
|
|
119
|
+
.option('--config <path>', 'specify config file path')
|
|
120
|
+
.option('--verbose', 'enable verbose logging')
|
|
121
|
+
.option('--quiet', 'suppress output')
|
|
122
|
+
.option('--no-color', 'disable colored output')
|
|
123
|
+
.option('--dry-run', 'show what would be done without executing')
|
|
124
|
+
.option('--interactive', 'force interactive mode')
|
|
125
|
+
.hook('preAction', (thisCommand, actionCommand) => {
|
|
126
|
+
const options = thisCommand.opts();
|
|
127
|
+
|
|
128
|
+
// Setup logging level
|
|
129
|
+
if (options['verbose']) {
|
|
130
|
+
logger.setLevel('debug');
|
|
131
|
+
} else if (options['quiet']) {
|
|
132
|
+
logger.setLevel('error');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Load custom config if specified
|
|
136
|
+
if (options['config']) {
|
|
137
|
+
this.configManager.loadConfig(options['config']);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Setup color mode
|
|
141
|
+
if (options['noColor']) {
|
|
142
|
+
process.env['NO_COLOR'] = '1';
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
logger.debug(`Executing command: ${actionCommand.name()}`);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Setup interactive mode triggers
|
|
151
|
+
*/
|
|
152
|
+
private setupInteractiveMode(): void {
|
|
153
|
+
// Interactive wizard command
|
|
154
|
+
this.program
|
|
155
|
+
.command('wizard')
|
|
156
|
+
.alias('w')
|
|
157
|
+
.description('launch interactive wizard mode')
|
|
158
|
+
.option('--mode <type>', 'wizard mode (setup, analyze, create)', 'setup')
|
|
159
|
+
.action(async options => {
|
|
160
|
+
await this.interactiveMode.launchWizard(options.mode);
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// Chat interface command
|
|
164
|
+
this.program
|
|
165
|
+
.command('chat')
|
|
166
|
+
.alias('c')
|
|
167
|
+
.description('launch natural language chat interface')
|
|
168
|
+
.option('--model <model>', 'AI model to use', 'claude-3')
|
|
169
|
+
.option('--context <path>', 'load context from directory')
|
|
170
|
+
.action(async options => {
|
|
171
|
+
await this.interactiveMode.launchChat(options);
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
// TUI dashboard command
|
|
175
|
+
this.program
|
|
176
|
+
.command('tui')
|
|
177
|
+
.alias('t')
|
|
178
|
+
.description('launch terminal user interface')
|
|
179
|
+
.option(
|
|
180
|
+
'--layout <type>',
|
|
181
|
+
'TUI layout (dashboard, monitor, debug)',
|
|
182
|
+
'dashboard'
|
|
183
|
+
)
|
|
184
|
+
.action(async options => {
|
|
185
|
+
await this.interactiveMode.launchTUI(options.layout);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Get the configured program
|
|
191
|
+
*/
|
|
192
|
+
public createProgram(): Command {
|
|
193
|
+
return this.program;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Load and register plugins
|
|
198
|
+
*/
|
|
199
|
+
public async loadPlugins(): Promise<void> {
|
|
200
|
+
await this.pluginManager.loadPlugins();
|
|
201
|
+
}
|
|
202
|
+
}
|