@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
package/dist/commands/govern.js
DELETED
|
@@ -1,481 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GovernCommands = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
8
|
-
const error_handler_1 = require("../utils/error-handler");
|
|
9
|
-
const logger_1 = require("../utils/logger");
|
|
10
|
-
/**
|
|
11
|
-
* Governance commands for compliance and quality control
|
|
12
|
-
*/
|
|
13
|
-
class GovernCommands {
|
|
14
|
-
program;
|
|
15
|
-
configManager;
|
|
16
|
-
pluginManager;
|
|
17
|
-
constructor(program, configManager, pluginManager) {
|
|
18
|
-
this.program = program;
|
|
19
|
-
this.configManager = configManager;
|
|
20
|
-
this.pluginManager = pluginManager;
|
|
21
|
-
this.registerCommands();
|
|
22
|
-
}
|
|
23
|
-
registerCommands() {
|
|
24
|
-
const governCmd = this.program
|
|
25
|
-
.command('govern')
|
|
26
|
-
.description('governance and compliance tools');
|
|
27
|
-
// Check compliance
|
|
28
|
-
governCmd
|
|
29
|
-
.command('check')
|
|
30
|
-
.description('run compliance checks')
|
|
31
|
-
.option('--rules <rules>', 'specific rules to check')
|
|
32
|
-
.option('--severity <level>', 'minimum severity level', 'warning')
|
|
33
|
-
.option('--fix', 'automatically fix violations where possible')
|
|
34
|
-
.option('--report', 'generate compliance report')
|
|
35
|
-
.action(async (options) => {
|
|
36
|
-
await this.checkCompliance(options);
|
|
37
|
-
});
|
|
38
|
-
// Manage rules
|
|
39
|
-
governCmd.command('rules').description('manage governance rules');
|
|
40
|
-
governCmd
|
|
41
|
-
.command('rules list')
|
|
42
|
-
.description('list all available rules')
|
|
43
|
-
.option('--category <category>', 'filter by category')
|
|
44
|
-
.action(async (options) => {
|
|
45
|
-
await this.listRules(options);
|
|
46
|
-
});
|
|
47
|
-
governCmd
|
|
48
|
-
.command('rules add <rule>')
|
|
49
|
-
.description('add a new rule')
|
|
50
|
-
.option('--severity <level>', 'rule severity', 'warning')
|
|
51
|
-
.option('--config <config>', 'rule configuration')
|
|
52
|
-
.action(async (rule, options) => {
|
|
53
|
-
await this.addRule(rule, options);
|
|
54
|
-
});
|
|
55
|
-
governCmd
|
|
56
|
-
.command('rules remove <rule>')
|
|
57
|
-
.description('remove a rule')
|
|
58
|
-
.action(async (rule) => {
|
|
59
|
-
await this.removeRule(rule);
|
|
60
|
-
});
|
|
61
|
-
// Policy management
|
|
62
|
-
governCmd.command('policy').description('manage governance policies');
|
|
63
|
-
governCmd
|
|
64
|
-
.command('policy create <name>')
|
|
65
|
-
.description('create a new policy')
|
|
66
|
-
.option('--template <template>', 'policy template')
|
|
67
|
-
.option('--rules <rules>', 'comma-separated rules')
|
|
68
|
-
.action(async (name, options) => {
|
|
69
|
-
await this.createPolicy(name, options);
|
|
70
|
-
});
|
|
71
|
-
governCmd
|
|
72
|
-
.command('policy apply <policy>')
|
|
73
|
-
.description('apply a policy to project')
|
|
74
|
-
.option('--scope <scope>', 'application scope (project, workspace)', 'project')
|
|
75
|
-
.action(async (policy, options) => {
|
|
76
|
-
await this.applyPolicy(policy, options);
|
|
77
|
-
});
|
|
78
|
-
// Quality gates
|
|
79
|
-
governCmd.command('gate').description('quality gate management');
|
|
80
|
-
governCmd
|
|
81
|
-
.command('gate check')
|
|
82
|
-
.description('run quality gate checks')
|
|
83
|
-
.option('--gate <name>', 'specific gate to check')
|
|
84
|
-
.option('--fail-on-error', 'fail if quality gate fails')
|
|
85
|
-
.action(async (options) => {
|
|
86
|
-
await this.checkQualityGate(options);
|
|
87
|
-
});
|
|
88
|
-
governCmd
|
|
89
|
-
.command('gate create <name>')
|
|
90
|
-
.description('create a new quality gate')
|
|
91
|
-
.option('--conditions <conditions>', 'gate conditions')
|
|
92
|
-
.action(async (name, options) => {
|
|
93
|
-
await this.createQualityGate(name, options);
|
|
94
|
-
});
|
|
95
|
-
// Audit
|
|
96
|
-
governCmd
|
|
97
|
-
.command('audit')
|
|
98
|
-
.description('run governance audit')
|
|
99
|
-
.option('--scope <scope>', 'audit scope (security, quality, compliance)', 'all')
|
|
100
|
-
.option('--export <path>', 'export audit results')
|
|
101
|
-
.action(async (options) => {
|
|
102
|
-
await this.runAudit(options);
|
|
103
|
-
});
|
|
104
|
-
// Reports
|
|
105
|
-
governCmd
|
|
106
|
-
.command('report')
|
|
107
|
-
.description('generate governance reports')
|
|
108
|
-
.option('--type <type>', 'report type (compliance, quality, security)', 'compliance')
|
|
109
|
-
.option('--period <period>', 'report period (daily, weekly, monthly)', 'weekly')
|
|
110
|
-
.option('--output <path>', 'output file path')
|
|
111
|
-
.action(async (options) => {
|
|
112
|
-
await this.generateReport(options);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Check compliance against governance rules
|
|
117
|
-
*/
|
|
118
|
-
async checkCompliance(options) {
|
|
119
|
-
try {
|
|
120
|
-
logger_1.logger.info('Running compliance checks...');
|
|
121
|
-
const config = this.configManager.getConfig();
|
|
122
|
-
const rules = options.rules
|
|
123
|
-
? options.rules.split(',')
|
|
124
|
-
: config.governance.rules;
|
|
125
|
-
const violations = [];
|
|
126
|
-
for (const rule of rules) {
|
|
127
|
-
logger_1.logger.debug(`Checking rule: ${rule}`);
|
|
128
|
-
const ruleViolations = await this.checkRule(rule, options.severity);
|
|
129
|
-
violations.push(...ruleViolations);
|
|
130
|
-
}
|
|
131
|
-
if (violations.length > 0) {
|
|
132
|
-
logger_1.logger.warn(`Found ${violations.length} compliance violations`);
|
|
133
|
-
if (options.fix) {
|
|
134
|
-
const fixedCount = await this.autoFixViolations(violations);
|
|
135
|
-
logger_1.logger.success(`Fixed ${fixedCount} violations automatically`);
|
|
136
|
-
}
|
|
137
|
-
this.displayViolations(violations);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
logger_1.logger.success('All compliance checks passed ✓');
|
|
141
|
-
}
|
|
142
|
-
if (options.report) {
|
|
143
|
-
await this.generateComplianceReport(violations);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
catch (error) {
|
|
147
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_CHECK_FAILED', 'Failed to run compliance checks', { options }, true);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* List available governance rules
|
|
152
|
-
*/
|
|
153
|
-
async listRules(options) {
|
|
154
|
-
try {
|
|
155
|
-
const rules = await this.getAllRules();
|
|
156
|
-
const filteredRules = options.category
|
|
157
|
-
? rules.filter(rule => rule.category === options.category)
|
|
158
|
-
: rules;
|
|
159
|
-
if (filteredRules.length === 0) {
|
|
160
|
-
logger_1.logger.info('No rules found');
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
logger_1.logger.info(`Available rules (${filteredRules.length}):`);
|
|
164
|
-
console.table(filteredRules.map(rule => ({
|
|
165
|
-
Name: rule.name,
|
|
166
|
-
Category: rule.category,
|
|
167
|
-
Severity: rule.severity,
|
|
168
|
-
Description: rule.description,
|
|
169
|
-
Fixable: rule.fixable ? '✓' : '✗',
|
|
170
|
-
})));
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_LIST_RULES_FAILED', 'Failed to list rules', { options }, true);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Add a new governance rule
|
|
178
|
-
*/
|
|
179
|
-
async addRule(rule, options) {
|
|
180
|
-
try {
|
|
181
|
-
logger_1.logger.info(`Adding rule: ${chalk_1.default.cyan(rule)}`);
|
|
182
|
-
const config = this.configManager.getConfig();
|
|
183
|
-
if (!config.governance.rules.includes(rule)) {
|
|
184
|
-
config.governance.rules.push(rule);
|
|
185
|
-
await this.configManager.saveConfig();
|
|
186
|
-
logger_1.logger.success(`Rule ${rule} added successfully`);
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
189
|
-
logger_1.logger.warn(`Rule ${rule} already exists`);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
catch (error) {
|
|
193
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_ADD_RULE_FAILED', 'Failed to add rule', { rule, options }, true);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Remove a governance rule
|
|
198
|
-
*/
|
|
199
|
-
async removeRule(rule) {
|
|
200
|
-
try {
|
|
201
|
-
logger_1.logger.info(`Removing rule: ${chalk_1.default.cyan(rule)}`);
|
|
202
|
-
const config = this.configManager.getConfig();
|
|
203
|
-
const index = config.governance.rules.indexOf(rule);
|
|
204
|
-
if (index > -1) {
|
|
205
|
-
config.governance.rules.splice(index, 1);
|
|
206
|
-
await this.configManager.saveConfig();
|
|
207
|
-
logger_1.logger.success(`Rule ${rule} removed successfully`);
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
logger_1.logger.warn(`Rule ${rule} not found`);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
catch (error) {
|
|
214
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_REMOVE_RULE_FAILED', 'Failed to remove rule', { rule }, true);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Create a new governance policy
|
|
219
|
-
*/
|
|
220
|
-
async createPolicy(name, options) {
|
|
221
|
-
try {
|
|
222
|
-
logger_1.logger.info(`Creating policy: ${chalk_1.default.cyan(name)}`);
|
|
223
|
-
const policy = {
|
|
224
|
-
name,
|
|
225
|
-
description: `Policy: ${name}`,
|
|
226
|
-
rules: options.rules ? options.rules.split(',') : [],
|
|
227
|
-
severity: 'warning',
|
|
228
|
-
created: new Date().toISOString(),
|
|
229
|
-
};
|
|
230
|
-
const policyPath = path_1.default.join(process.cwd(), '.wundr', 'policies', `${name}.json`);
|
|
231
|
-
await fs_extra_1.default.ensureDir(path_1.default.dirname(policyPath));
|
|
232
|
-
await fs_extra_1.default.writeJson(policyPath, policy, { spaces: 2 });
|
|
233
|
-
logger_1.logger.success(`Policy ${name} created at ${policyPath}`);
|
|
234
|
-
}
|
|
235
|
-
catch (error) {
|
|
236
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_CREATE_POLICY_FAILED', 'Failed to create policy', { name, options }, true);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Apply a policy to the project
|
|
241
|
-
*/
|
|
242
|
-
async applyPolicy(policy, options) {
|
|
243
|
-
try {
|
|
244
|
-
logger_1.logger.info(`Applying policy: ${chalk_1.default.cyan(policy)}`);
|
|
245
|
-
const policyPath = path_1.default.join(process.cwd(), '.wundr', 'policies', `${policy}.json`);
|
|
246
|
-
if (await fs_extra_1.default.pathExists(policyPath)) {
|
|
247
|
-
const policyData = await fs_extra_1.default.readJson(policyPath);
|
|
248
|
-
// Apply policy rules to configuration
|
|
249
|
-
const config = this.configManager.getConfig();
|
|
250
|
-
config.governance.rules.push(...policyData.rules);
|
|
251
|
-
// Remove duplicates
|
|
252
|
-
config.governance.rules = [...new Set(config.governance.rules)];
|
|
253
|
-
await this.configManager.saveConfig();
|
|
254
|
-
logger_1.logger.success(`Policy ${policy} applied successfully`);
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
throw new Error(`Policy ${policy} not found`);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
catch (error) {
|
|
261
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_APPLY_POLICY_FAILED', 'Failed to apply policy', { policy, options }, true);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Check quality gate
|
|
266
|
-
*/
|
|
267
|
-
async checkQualityGate(options) {
|
|
268
|
-
try {
|
|
269
|
-
logger_1.logger.info('Checking quality gates...');
|
|
270
|
-
const gates = await this.getQualityGates();
|
|
271
|
-
const gatesToCheck = options.gate
|
|
272
|
-
? [options.gate]
|
|
273
|
-
: gates.map(g => g.name);
|
|
274
|
-
let allPassed = true;
|
|
275
|
-
for (const gateName of gatesToCheck) {
|
|
276
|
-
const gate = gates.find(g => g.name === gateName);
|
|
277
|
-
if (!gate) {
|
|
278
|
-
logger_1.logger.warn(`Quality gate ${gateName} not found`);
|
|
279
|
-
continue;
|
|
280
|
-
}
|
|
281
|
-
const result = await this.evaluateQualityGate(gate);
|
|
282
|
-
if (result.passed) {
|
|
283
|
-
logger_1.logger.success(`✓ Quality gate ${gateName} passed`);
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
logger_1.logger.error(`✗ Quality gate ${gateName} failed`);
|
|
287
|
-
result.failures.forEach(failure => {
|
|
288
|
-
logger_1.logger.error(` - ${failure}`);
|
|
289
|
-
});
|
|
290
|
-
allPassed = false;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
if (!allPassed && options.failOnError) {
|
|
294
|
-
process.exit(1);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
catch (error) {
|
|
298
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_GATE_CHECK_FAILED', 'Failed to check quality gate', { options }, true);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Create a new quality gate
|
|
303
|
-
*/
|
|
304
|
-
async createQualityGate(name, options) {
|
|
305
|
-
try {
|
|
306
|
-
logger_1.logger.info(`Creating quality gate: ${chalk_1.default.cyan(name)}`);
|
|
307
|
-
const gate = {
|
|
308
|
-
name,
|
|
309
|
-
description: `Quality gate: ${name}`,
|
|
310
|
-
conditions: options.conditions ? options.conditions.split(',') : [],
|
|
311
|
-
created: new Date().toISOString(),
|
|
312
|
-
};
|
|
313
|
-
const gatePath = path_1.default.join(process.cwd(), '.wundr', 'gates', `${name}.json`);
|
|
314
|
-
await fs_extra_1.default.ensureDir(path_1.default.dirname(gatePath));
|
|
315
|
-
await fs_extra_1.default.writeJson(gatePath, gate, { spaces: 2 });
|
|
316
|
-
logger_1.logger.success(`Quality gate ${name} created at ${gatePath}`);
|
|
317
|
-
}
|
|
318
|
-
catch (error) {
|
|
319
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_CREATE_GATE_FAILED', 'Failed to create quality gate', { name, options }, true);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* Run governance audit
|
|
324
|
-
*/
|
|
325
|
-
async runAudit(options) {
|
|
326
|
-
try {
|
|
327
|
-
logger_1.logger.info('Running governance audit...');
|
|
328
|
-
const auditResults = {
|
|
329
|
-
timestamp: new Date().toISOString(),
|
|
330
|
-
scope: options.scope,
|
|
331
|
-
results: {
|
|
332
|
-
security: options.scope === 'all' || options.scope === 'security'
|
|
333
|
-
? await this.auditSecurity()
|
|
334
|
-
: null,
|
|
335
|
-
quality: options.scope === 'all' || options.scope === 'quality'
|
|
336
|
-
? await this.auditQuality()
|
|
337
|
-
: null,
|
|
338
|
-
compliance: options.scope === 'all' || options.scope === 'compliance'
|
|
339
|
-
? await this.auditCompliance()
|
|
340
|
-
: null,
|
|
341
|
-
},
|
|
342
|
-
};
|
|
343
|
-
logger_1.logger.info('Audit completed');
|
|
344
|
-
this.displayAuditResults(auditResults);
|
|
345
|
-
if (options.export) {
|
|
346
|
-
await fs_extra_1.default.writeJson(options.export, auditResults, { spaces: 2 });
|
|
347
|
-
logger_1.logger.success(`Audit results exported to ${options.export}`);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
catch (error) {
|
|
351
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_AUDIT_FAILED', 'Failed to run audit', { options }, true);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* Generate governance report
|
|
356
|
-
*/
|
|
357
|
-
async generateReport(options) {
|
|
358
|
-
try {
|
|
359
|
-
logger_1.logger.info(`Generating ${options.type} report...`);
|
|
360
|
-
const report = await this.createGovernanceReport(options.type, options.period);
|
|
361
|
-
const outputPath = options.output || `wundr-${options.type}-report-${Date.now()}.json`;
|
|
362
|
-
await fs_extra_1.default.writeJson(outputPath, report, { spaces: 2 });
|
|
363
|
-
logger_1.logger.success(`Report generated: ${outputPath}`);
|
|
364
|
-
}
|
|
365
|
-
catch (error) {
|
|
366
|
-
throw error_handler_1.errorHandler.createError('WUNDR_GOVERN_REPORT_FAILED', 'Failed to generate report', { options }, true);
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Implementation methods
|
|
371
|
-
*/
|
|
372
|
-
async checkRule(rule, severity) {
|
|
373
|
-
// Implementation for checking individual rules
|
|
374
|
-
return [];
|
|
375
|
-
}
|
|
376
|
-
async autoFixViolations(violations) {
|
|
377
|
-
// Implementation for auto-fixing violations
|
|
378
|
-
return 0;
|
|
379
|
-
}
|
|
380
|
-
async getAllRules() {
|
|
381
|
-
// Implementation for getting all available rules
|
|
382
|
-
return [
|
|
383
|
-
{
|
|
384
|
-
name: 'no-console',
|
|
385
|
-
category: 'quality',
|
|
386
|
-
severity: 'warning',
|
|
387
|
-
description: 'Disallow console statements',
|
|
388
|
-
fixable: true,
|
|
389
|
-
},
|
|
390
|
-
{
|
|
391
|
-
name: 'require-tests',
|
|
392
|
-
category: 'quality',
|
|
393
|
-
severity: 'error',
|
|
394
|
-
description: 'Require test files for all modules',
|
|
395
|
-
fixable: false,
|
|
396
|
-
},
|
|
397
|
-
];
|
|
398
|
-
}
|
|
399
|
-
async getQualityGates() {
|
|
400
|
-
// Implementation for getting quality gates
|
|
401
|
-
return [];
|
|
402
|
-
}
|
|
403
|
-
async evaluateQualityGate(gate) {
|
|
404
|
-
// Implementation for evaluating quality gates
|
|
405
|
-
return { passed: true, failures: [] };
|
|
406
|
-
}
|
|
407
|
-
async auditSecurity() {
|
|
408
|
-
// Implementation for security audit
|
|
409
|
-
return { issues: [], score: 100 };
|
|
410
|
-
}
|
|
411
|
-
async auditQuality() {
|
|
412
|
-
// Implementation for quality audit
|
|
413
|
-
return { issues: [], score: 95 };
|
|
414
|
-
}
|
|
415
|
-
async auditCompliance() {
|
|
416
|
-
// Implementation for compliance audit
|
|
417
|
-
return { violations: [], score: 90 };
|
|
418
|
-
}
|
|
419
|
-
async createGovernanceReport(type, period) {
|
|
420
|
-
// Implementation for creating governance reports
|
|
421
|
-
return {
|
|
422
|
-
type,
|
|
423
|
-
period,
|
|
424
|
-
generated: new Date().toISOString(),
|
|
425
|
-
summary: {},
|
|
426
|
-
details: [],
|
|
427
|
-
};
|
|
428
|
-
}
|
|
429
|
-
displayViolations(violations) {
|
|
430
|
-
if (violations.length === 0) {
|
|
431
|
-
return;
|
|
432
|
-
}
|
|
433
|
-
console.log(chalk_1.default.yellow('\nCompliance Violations:'));
|
|
434
|
-
console.table(violations.map(v => ({
|
|
435
|
-
Rule: v.rule,
|
|
436
|
-
Severity: v.severity,
|
|
437
|
-
File: v.file,
|
|
438
|
-
Line: v.line || 'N/A',
|
|
439
|
-
Description: v.description,
|
|
440
|
-
})));
|
|
441
|
-
}
|
|
442
|
-
async generateComplianceReport(violations) {
|
|
443
|
-
const report = {
|
|
444
|
-
timestamp: new Date().toISOString(),
|
|
445
|
-
totalViolations: violations.length,
|
|
446
|
-
violations,
|
|
447
|
-
summary: this.createViolationsSummary(violations),
|
|
448
|
-
};
|
|
449
|
-
const reportPath = `compliance-report-${Date.now()}.json`;
|
|
450
|
-
await fs_extra_1.default.writeJson(reportPath, report, { spaces: 2 });
|
|
451
|
-
logger_1.logger.success(`Compliance report generated: ${reportPath}`);
|
|
452
|
-
}
|
|
453
|
-
createViolationsSummary(violations) {
|
|
454
|
-
const summary = {
|
|
455
|
-
bySeverity: {},
|
|
456
|
-
byRule: {},
|
|
457
|
-
byFile: {},
|
|
458
|
-
};
|
|
459
|
-
violations.forEach(v => {
|
|
460
|
-
summary.bySeverity[v.severity] =
|
|
461
|
-
(summary.bySeverity[v.severity] || 0) + 1;
|
|
462
|
-
summary.byRule[v.rule] = (summary.byRule[v.rule] || 0) + 1;
|
|
463
|
-
summary.byFile[v.file] = (summary.byFile[v.file] || 0) + 1;
|
|
464
|
-
});
|
|
465
|
-
return summary;
|
|
466
|
-
}
|
|
467
|
-
displayAuditResults(results) {
|
|
468
|
-
console.log(chalk_1.default.blue('\nAudit Results:'));
|
|
469
|
-
if (results.results.security) {
|
|
470
|
-
console.log(`Security Score: ${results.results.security.score}/100`);
|
|
471
|
-
}
|
|
472
|
-
if (results.results.quality) {
|
|
473
|
-
console.log(`Quality Score: ${results.results.quality.score}/100`);
|
|
474
|
-
}
|
|
475
|
-
if (results.results.compliance) {
|
|
476
|
-
console.log(`Compliance Score: ${results.results.compliance.score}/100`);
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
exports.GovernCommands = GovernCommands;
|
|
481
|
-
//# sourceMappingURL=govern.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/commands/govern.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Governance CLI Commands - IPRE Compliance
|
|
3
|
-
*
|
|
4
|
-
* Implements governance commands from Appendix B:
|
|
5
|
-
* - wundr governance check - Run IPRE compliance check
|
|
6
|
-
* - wundr governance report - Generate alignment debt report
|
|
7
|
-
* - wundr governance status - Show current governance status
|
|
8
|
-
* - wundr governance validate <file> - Validate IPRE config file
|
|
9
|
-
*/
|
|
10
|
-
import { Command } from 'commander';
|
|
11
|
-
/**
|
|
12
|
-
* Creates the governance command with all subcommands
|
|
13
|
-
*/
|
|
14
|
-
export declare function createGovernanceCommand(): Command;
|
|
15
|
-
export { createAlignmentCommand } from './alignment';
|
|
16
|
-
export { createGovernanceCommand as governanceCommand };
|
|
17
|
-
//# sourceMappingURL=governance.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/commands/governance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwGpC;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CA2CjD;AAID,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAq0BrD,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,CAAC"}
|