@wundr.io/cli 1.0.12 → 1.0.13

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.
Files changed (234) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ai/ai-service.d.ts +152 -0
  3. package/dist/ai/ai-service.d.ts.map +1 -0
  4. package/dist/ai/ai-service.js +430 -0
  5. package/dist/ai/ai-service.js.map +1 -0
  6. package/dist/ai/claude-client.d.ts +130 -0
  7. package/dist/ai/claude-client.d.ts.map +1 -0
  8. package/dist/ai/claude-client.js +340 -0
  9. package/dist/ai/claude-client.js.map +1 -0
  10. package/dist/ai/conversation-manager.d.ts +164 -0
  11. package/dist/ai/conversation-manager.d.ts.map +1 -0
  12. package/dist/ai/conversation-manager.js +614 -0
  13. package/dist/ai/conversation-manager.js.map +1 -0
  14. package/dist/ai/index.d.ts +5 -0
  15. package/dist/ai/index.d.ts.map +1 -0
  16. package/dist/ai/index.js +8 -0
  17. package/dist/ai/index.js.map +1 -0
  18. package/dist/cli.d.ts +36 -0
  19. package/dist/cli.d.ts.map +1 -0
  20. package/dist/cli.js +192 -0
  21. package/dist/cli.js.map +1 -0
  22. package/dist/commands/ai.d.ts +89 -0
  23. package/dist/commands/ai.d.ts.map +1 -0
  24. package/dist/commands/ai.js +954 -0
  25. package/dist/commands/ai.js.map +1 -0
  26. package/dist/commands/alignment.d.ts +78 -0
  27. package/dist/commands/alignment.d.ts.map +1 -0
  28. package/dist/commands/alignment.js +817 -0
  29. package/dist/commands/alignment.js.map +1 -0
  30. package/dist/commands/analyze-optimized.d.ts +14 -0
  31. package/dist/commands/analyze-optimized.d.ts.map +1 -0
  32. package/dist/commands/analyze-optimized.js +609 -0
  33. package/dist/commands/analyze-optimized.js.map +1 -0
  34. package/dist/commands/analyze.d.ts +65 -0
  35. package/dist/commands/analyze.d.ts.map +1 -0
  36. package/dist/commands/analyze.js +435 -0
  37. package/dist/commands/analyze.js.map +1 -0
  38. package/dist/commands/batch.d.ts +93 -0
  39. package/dist/commands/batch.d.ts.map +1 -0
  40. package/dist/commands/batch.js +854 -0
  41. package/dist/commands/batch.js.map +1 -0
  42. package/dist/commands/chat.d.ts +72 -0
  43. package/dist/commands/chat.d.ts.map +1 -0
  44. package/dist/commands/chat.js +678 -0
  45. package/dist/commands/chat.js.map +1 -0
  46. package/dist/commands/claude-init.d.ts +28 -0
  47. package/dist/commands/claude-init.d.ts.map +1 -0
  48. package/dist/commands/claude-init.js +591 -0
  49. package/dist/commands/claude-init.js.map +1 -0
  50. package/dist/commands/claude-setup.d.ts +119 -0
  51. package/dist/commands/claude-setup.d.ts.map +1 -0
  52. package/dist/commands/claude-setup.js +1079 -0
  53. package/dist/commands/claude-setup.js.map +1 -0
  54. package/dist/commands/computer-setup.d.ts +8 -0
  55. package/dist/commands/computer-setup.d.ts.map +1 -0
  56. package/dist/commands/computer-setup.js +877 -0
  57. package/dist/commands/computer-setup.js.map +1 -0
  58. package/dist/commands/create-command.d.ts +7 -0
  59. package/dist/commands/create-command.d.ts.map +1 -0
  60. package/dist/commands/create-command.js +158 -0
  61. package/dist/commands/create-command.js.map +1 -0
  62. package/dist/commands/create.d.ts +74 -0
  63. package/dist/commands/create.d.ts.map +1 -0
  64. package/dist/commands/create.js +556 -0
  65. package/dist/commands/create.js.map +1 -0
  66. package/dist/commands/dashboard.d.ts +91 -0
  67. package/dist/commands/dashboard.d.ts.map +1 -0
  68. package/dist/commands/dashboard.js +538 -0
  69. package/dist/commands/dashboard.js.map +1 -0
  70. package/dist/commands/govern.d.ts +70 -0
  71. package/dist/commands/govern.d.ts.map +1 -0
  72. package/dist/commands/govern.js +481 -0
  73. package/dist/commands/govern.js.map +1 -0
  74. package/dist/commands/governance.d.ts +17 -0
  75. package/dist/commands/governance.d.ts.map +1 -0
  76. package/dist/commands/governance.js +703 -0
  77. package/dist/commands/governance.js.map +1 -0
  78. package/dist/commands/guardian.d.ts +20 -0
  79. package/dist/commands/guardian.d.ts.map +1 -0
  80. package/dist/commands/guardian.js +597 -0
  81. package/dist/commands/guardian.js.map +1 -0
  82. package/dist/commands/init.d.ts +59 -0
  83. package/dist/commands/init.d.ts.map +1 -0
  84. package/dist/commands/init.js +650 -0
  85. package/dist/commands/init.js.map +1 -0
  86. package/dist/commands/orchestrator.d.ts +7 -0
  87. package/dist/commands/orchestrator.d.ts.map +1 -0
  88. package/dist/commands/orchestrator.js +578 -0
  89. package/dist/commands/orchestrator.js.map +1 -0
  90. package/dist/commands/performance-optimizer.d.ts +30 -0
  91. package/dist/commands/performance-optimizer.d.ts.map +1 -0
  92. package/dist/commands/performance-optimizer.js +650 -0
  93. package/dist/commands/performance-optimizer.js.map +1 -0
  94. package/dist/commands/plugins.d.ts +87 -0
  95. package/dist/commands/plugins.d.ts.map +1 -0
  96. package/dist/commands/plugins.js +685 -0
  97. package/dist/commands/plugins.js.map +1 -0
  98. package/dist/commands/rag.d.ts +7 -0
  99. package/dist/commands/rag.d.ts.map +1 -0
  100. package/dist/commands/rag.js +751 -0
  101. package/dist/commands/rag.js.map +1 -0
  102. package/dist/commands/session.d.ts +41 -0
  103. package/dist/commands/session.d.ts.map +1 -0
  104. package/dist/commands/session.js +441 -0
  105. package/dist/commands/session.js.map +1 -0
  106. package/dist/commands/setup.d.ts +24 -0
  107. package/dist/commands/setup.d.ts.map +1 -0
  108. package/dist/commands/setup.js +172 -0
  109. package/dist/commands/setup.js.map +1 -0
  110. package/dist/commands/test-init.d.ts +9 -0
  111. package/dist/commands/test-init.d.ts.map +1 -0
  112. package/dist/commands/test-init.js +222 -0
  113. package/dist/commands/test-init.js.map +1 -0
  114. package/dist/commands/test.d.ts +25 -0
  115. package/dist/commands/test.d.ts.map +1 -0
  116. package/dist/commands/test.js +217 -0
  117. package/dist/commands/test.js.map +1 -0
  118. package/dist/commands/watch.d.ts +76 -0
  119. package/dist/commands/watch.d.ts.map +1 -0
  120. package/dist/commands/watch.js +613 -0
  121. package/dist/commands/watch.js.map +1 -0
  122. package/dist/commands/worktree.d.ts +63 -0
  123. package/dist/commands/worktree.d.ts.map +1 -0
  124. package/dist/commands/worktree.js +774 -0
  125. package/dist/commands/worktree.js.map +1 -0
  126. package/dist/context/context-manager.d.ts +155 -0
  127. package/dist/context/context-manager.d.ts.map +1 -0
  128. package/dist/context/context-manager.js +383 -0
  129. package/dist/context/context-manager.js.map +1 -0
  130. package/dist/context/index.d.ts +3 -0
  131. package/dist/context/index.d.ts.map +1 -0
  132. package/dist/context/index.js +6 -0
  133. package/dist/context/index.js.map +1 -0
  134. package/dist/context/session-manager.d.ts +207 -0
  135. package/dist/context/session-manager.d.ts.map +1 -0
  136. package/dist/context/session-manager.js +686 -0
  137. package/dist/context/session-manager.js.map +1 -0
  138. package/dist/framework/command-interface.d.ts +349 -0
  139. package/dist/framework/command-interface.d.ts.map +1 -0
  140. package/dist/framework/command-interface.js +101 -0
  141. package/dist/framework/command-interface.js.map +1 -0
  142. package/dist/framework/command-registry.d.ts +173 -0
  143. package/dist/framework/command-registry.d.ts.map +1 -0
  144. package/dist/framework/command-registry.js +734 -0
  145. package/dist/framework/command-registry.js.map +1 -0
  146. package/dist/framework/completion-exporter.d.ts +79 -0
  147. package/dist/framework/completion-exporter.d.ts.map +1 -0
  148. package/dist/framework/completion-exporter.js +259 -0
  149. package/dist/framework/completion-exporter.js.map +1 -0
  150. package/dist/framework/debug-logger.d.ts +163 -0
  151. package/dist/framework/debug-logger.d.ts.map +1 -0
  152. package/dist/framework/debug-logger.js +373 -0
  153. package/dist/framework/debug-logger.js.map +1 -0
  154. package/dist/framework/error-handler.d.ts +196 -0
  155. package/dist/framework/error-handler.d.ts.map +1 -0
  156. package/dist/framework/error-handler.js +613 -0
  157. package/dist/framework/error-handler.js.map +1 -0
  158. package/dist/framework/help-generator.d.ts +78 -0
  159. package/dist/framework/help-generator.d.ts.map +1 -0
  160. package/dist/framework/help-generator.js +414 -0
  161. package/dist/framework/help-generator.js.map +1 -0
  162. package/dist/framework/index.d.ts +62 -0
  163. package/dist/framework/index.d.ts.map +1 -0
  164. package/dist/framework/index.js +95 -0
  165. package/dist/framework/index.js.map +1 -0
  166. package/dist/framework/interactive-repl.d.ts +138 -0
  167. package/dist/framework/interactive-repl.d.ts.map +1 -0
  168. package/dist/framework/interactive-repl.js +567 -0
  169. package/dist/framework/interactive-repl.js.map +1 -0
  170. package/dist/framework/output-formatter.d.ts +274 -0
  171. package/dist/framework/output-formatter.d.ts.map +1 -0
  172. package/dist/framework/output-formatter.js +545 -0
  173. package/dist/framework/output-formatter.js.map +1 -0
  174. package/dist/framework/progress-manager.d.ts +192 -0
  175. package/dist/framework/progress-manager.d.ts.map +1 -0
  176. package/dist/framework/progress-manager.js +408 -0
  177. package/dist/framework/progress-manager.js.map +1 -0
  178. package/dist/index.d.ts +8 -0
  179. package/dist/index.d.ts.map +1 -0
  180. package/dist/index.js +51 -0
  181. package/dist/index.js.map +1 -0
  182. package/dist/interactive/interactive-mode.d.ts +76 -0
  183. package/dist/interactive/interactive-mode.d.ts.map +1 -0
  184. package/dist/interactive/interactive-mode.js +732 -0
  185. package/dist/interactive/interactive-mode.js.map +1 -0
  186. package/dist/nlp/command-mapper.d.ts +174 -0
  187. package/dist/nlp/command-mapper.d.ts.map +1 -0
  188. package/dist/nlp/command-mapper.js +624 -0
  189. package/dist/nlp/command-mapper.js.map +1 -0
  190. package/dist/nlp/command-parser.d.ts +106 -0
  191. package/dist/nlp/command-parser.d.ts.map +1 -0
  192. package/dist/nlp/command-parser.js +417 -0
  193. package/dist/nlp/command-parser.js.map +1 -0
  194. package/dist/nlp/index.d.ts +5 -0
  195. package/dist/nlp/index.d.ts.map +1 -0
  196. package/dist/nlp/index.js +8 -0
  197. package/dist/nlp/index.js.map +1 -0
  198. package/dist/nlp/intent-classifier.d.ts +59 -0
  199. package/dist/nlp/intent-classifier.d.ts.map +1 -0
  200. package/dist/nlp/intent-classifier.js +384 -0
  201. package/dist/nlp/intent-classifier.js.map +1 -0
  202. package/dist/nlp/intent-parser.d.ts +152 -0
  203. package/dist/nlp/intent-parser.d.ts.map +1 -0
  204. package/dist/nlp/intent-parser.js +746 -0
  205. package/dist/nlp/intent-parser.js.map +1 -0
  206. package/dist/plugins/plugin-manager.d.ts +121 -0
  207. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  208. package/dist/plugins/plugin-manager.js +606 -0
  209. package/dist/plugins/plugin-manager.js.map +1 -0
  210. package/dist/types/index.d.ts +224 -0
  211. package/dist/types/index.d.ts.map +1 -0
  212. package/dist/types/index.js +3 -0
  213. package/dist/types/index.js.map +1 -0
  214. package/dist/utils/backup-rollback-manager.d.ts +72 -0
  215. package/dist/utils/backup-rollback-manager.d.ts.map +1 -0
  216. package/dist/utils/backup-rollback-manager.js +288 -0
  217. package/dist/utils/backup-rollback-manager.js.map +1 -0
  218. package/dist/utils/claude-config-installer.d.ts +98 -0
  219. package/dist/utils/claude-config-installer.d.ts.map +1 -0
  220. package/dist/utils/claude-config-installer.js +678 -0
  221. package/dist/utils/claude-config-installer.js.map +1 -0
  222. package/dist/utils/config-manager.d.ts +73 -0
  223. package/dist/utils/config-manager.d.ts.map +1 -0
  224. package/dist/utils/config-manager.js +339 -0
  225. package/dist/utils/config-manager.js.map +1 -0
  226. package/dist/utils/error-handler.d.ts +46 -0
  227. package/dist/utils/error-handler.d.ts.map +1 -0
  228. package/dist/utils/error-handler.js +169 -0
  229. package/dist/utils/error-handler.js.map +1 -0
  230. package/dist/utils/logger.d.ts +25 -0
  231. package/dist/utils/logger.d.ts.map +1 -0
  232. package/dist/utils/logger.js +105 -0
  233. package/dist/utils/logger.js.map +1 -0
  234. package/package.json +23 -23
@@ -0,0 +1,481 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/commands/govern.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
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
@@ -0,0 +1 @@
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"}