@nahisaho/musubix-core 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.
Files changed (214) hide show
  1. package/bin/musubix.js +18 -0
  2. package/dist/__tests__/index.test.d.ts +2 -0
  3. package/dist/__tests__/index.test.d.ts.map +1 -0
  4. package/dist/__tests__/index.test.js +27 -0
  5. package/dist/__tests__/index.test.js.map +1 -0
  6. package/dist/auth/auth-manager.d.ts +320 -0
  7. package/dist/auth/auth-manager.d.ts.map +1 -0
  8. package/dist/auth/auth-manager.js +580 -0
  9. package/dist/auth/auth-manager.js.map +1 -0
  10. package/dist/cli/base.d.ts +58 -0
  11. package/dist/cli/base.d.ts.map +1 -0
  12. package/dist/cli/base.js +93 -0
  13. package/dist/cli/base.js.map +1 -0
  14. package/dist/cli/commands/help.d.ts +17 -0
  15. package/dist/cli/commands/help.d.ts.map +1 -0
  16. package/dist/cli/commands/help.js +228 -0
  17. package/dist/cli/commands/help.js.map +1 -0
  18. package/dist/cli/commands/index.d.ts +14 -0
  19. package/dist/cli/commands/index.d.ts.map +1 -0
  20. package/dist/cli/commands/index.js +25 -0
  21. package/dist/cli/commands/index.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts +38 -0
  23. package/dist/cli/commands/init.d.ts.map +1 -0
  24. package/dist/cli/commands/init.js +258 -0
  25. package/dist/cli/commands/init.js.map +1 -0
  26. package/dist/cli/index.d.ts +9 -0
  27. package/dist/cli/index.d.ts.map +1 -0
  28. package/dist/cli/index.js +9 -0
  29. package/dist/cli/index.js.map +1 -0
  30. package/dist/codegen/coding-standards.d.ts +250 -0
  31. package/dist/codegen/coding-standards.d.ts.map +1 -0
  32. package/dist/codegen/coding-standards.js +976 -0
  33. package/dist/codegen/coding-standards.js.map +1 -0
  34. package/dist/codegen/coverage-reporter.d.ts +264 -0
  35. package/dist/codegen/coverage-reporter.d.ts.map +1 -0
  36. package/dist/codegen/coverage-reporter.js +697 -0
  37. package/dist/codegen/coverage-reporter.js.map +1 -0
  38. package/dist/codegen/dependency-analyzer.d.ts +271 -0
  39. package/dist/codegen/dependency-analyzer.d.ts.map +1 -0
  40. package/dist/codegen/dependency-analyzer.js +661 -0
  41. package/dist/codegen/dependency-analyzer.js.map +1 -0
  42. package/dist/codegen/generator.d.ts +275 -0
  43. package/dist/codegen/generator.d.ts.map +1 -0
  44. package/dist/codegen/generator.js +781 -0
  45. package/dist/codegen/generator.js.map +1 -0
  46. package/dist/codegen/index.d.ts +18 -0
  47. package/dist/codegen/index.d.ts.map +1 -0
  48. package/dist/codegen/index.js +27 -0
  49. package/dist/codegen/index.js.map +1 -0
  50. package/dist/codegen/integration-test-generator.d.ts +312 -0
  51. package/dist/codegen/integration-test-generator.d.ts.map +1 -0
  52. package/dist/codegen/integration-test-generator.js +765 -0
  53. package/dist/codegen/integration-test-generator.js.map +1 -0
  54. package/dist/codegen/pattern-conformance.d.ts +309 -0
  55. package/dist/codegen/pattern-conformance.d.ts.map +1 -0
  56. package/dist/codegen/pattern-conformance.js +590 -0
  57. package/dist/codegen/pattern-conformance.js.map +1 -0
  58. package/dist/codegen/quality-metrics.d.ts +235 -0
  59. package/dist/codegen/quality-metrics.d.ts.map +1 -0
  60. package/dist/codegen/quality-metrics.js +439 -0
  61. package/dist/codegen/quality-metrics.js.map +1 -0
  62. package/dist/codegen/security-scanner.d.ts +179 -0
  63. package/dist/codegen/security-scanner.d.ts.map +1 -0
  64. package/dist/codegen/security-scanner.js +495 -0
  65. package/dist/codegen/security-scanner.js.map +1 -0
  66. package/dist/codegen/static-analyzer.d.ts +188 -0
  67. package/dist/codegen/static-analyzer.d.ts.map +1 -0
  68. package/dist/codegen/static-analyzer.js +490 -0
  69. package/dist/codegen/static-analyzer.js.map +1 -0
  70. package/dist/codegen/unit-test-generator.d.ts +289 -0
  71. package/dist/codegen/unit-test-generator.d.ts.map +1 -0
  72. package/dist/codegen/unit-test-generator.js +634 -0
  73. package/dist/codegen/unit-test-generator.js.map +1 -0
  74. package/dist/design/adr-generator.d.ts +227 -0
  75. package/dist/design/adr-generator.d.ts.map +1 -0
  76. package/dist/design/adr-generator.js +423 -0
  77. package/dist/design/adr-generator.js.map +1 -0
  78. package/dist/design/c4-generator.d.ts +267 -0
  79. package/dist/design/c4-generator.d.ts.map +1 -0
  80. package/dist/design/c4-generator.js +453 -0
  81. package/dist/design/c4-generator.js.map +1 -0
  82. package/dist/design/framework-optimizer.d.ts +190 -0
  83. package/dist/design/framework-optimizer.d.ts.map +1 -0
  84. package/dist/design/framework-optimizer.js +589 -0
  85. package/dist/design/framework-optimizer.js.map +1 -0
  86. package/dist/design/index.d.ts +12 -0
  87. package/dist/design/index.d.ts.map +1 -0
  88. package/dist/design/index.js +13 -0
  89. package/dist/design/index.js.map +1 -0
  90. package/dist/design/pattern-detector.d.ts +270 -0
  91. package/dist/design/pattern-detector.d.ts.map +1 -0
  92. package/dist/design/pattern-detector.js +621 -0
  93. package/dist/design/pattern-detector.js.map +1 -0
  94. package/dist/design/solid-validator.d.ts +188 -0
  95. package/dist/design/solid-validator.d.ts.map +1 -0
  96. package/dist/design/solid-validator.js +579 -0
  97. package/dist/design/solid-validator.js.map +1 -0
  98. package/dist/error/data-persistence.d.ts +311 -0
  99. package/dist/error/data-persistence.d.ts.map +1 -0
  100. package/dist/error/data-persistence.js +586 -0
  101. package/dist/error/data-persistence.js.map +1 -0
  102. package/dist/error/graceful-degradation.d.ts +309 -0
  103. package/dist/error/graceful-degradation.d.ts.map +1 -0
  104. package/dist/error/graceful-degradation.js +510 -0
  105. package/dist/error/graceful-degradation.js.map +1 -0
  106. package/dist/error/index.d.ts +11 -0
  107. package/dist/error/index.d.ts.map +1 -0
  108. package/dist/error/index.js +19 -0
  109. package/dist/error/index.js.map +1 -0
  110. package/dist/explanation/explanation-generator.d.ts +228 -0
  111. package/dist/explanation/explanation-generator.d.ts.map +1 -0
  112. package/dist/explanation/explanation-generator.js +662 -0
  113. package/dist/explanation/explanation-generator.js.map +1 -0
  114. package/dist/explanation/index.d.ts +11 -0
  115. package/dist/explanation/index.d.ts.map +1 -0
  116. package/dist/explanation/index.js +19 -0
  117. package/dist/explanation/index.js.map +1 -0
  118. package/dist/explanation/reasoning-chain.d.ts +314 -0
  119. package/dist/explanation/reasoning-chain.d.ts.map +1 -0
  120. package/dist/explanation/reasoning-chain.js +414 -0
  121. package/dist/explanation/reasoning-chain.js.map +1 -0
  122. package/dist/explanation/visual-explanation.d.ts +315 -0
  123. package/dist/explanation/visual-explanation.d.ts.map +1 -0
  124. package/dist/explanation/visual-explanation.js +667 -0
  125. package/dist/explanation/visual-explanation.js.map +1 -0
  126. package/dist/index.d.ts +33 -0
  127. package/dist/index.d.ts.map +1 -0
  128. package/dist/index.js +47 -0
  129. package/dist/index.js.map +1 -0
  130. package/dist/requirements/decomposer.d.ts +235 -0
  131. package/dist/requirements/decomposer.d.ts.map +1 -0
  132. package/dist/requirements/decomposer.js +587 -0
  133. package/dist/requirements/decomposer.js.map +1 -0
  134. package/dist/requirements/related-finder.d.ts +261 -0
  135. package/dist/requirements/related-finder.d.ts.map +1 -0
  136. package/dist/requirements/related-finder.js +629 -0
  137. package/dist/requirements/related-finder.js.map +1 -0
  138. package/dist/traceability/impact.d.ts +196 -0
  139. package/dist/traceability/impact.d.ts.map +1 -0
  140. package/dist/traceability/impact.js +438 -0
  141. package/dist/traceability/impact.js.map +1 -0
  142. package/dist/traceability/index.d.ts +9 -0
  143. package/dist/traceability/index.d.ts.map +1 -0
  144. package/dist/traceability/index.js +10 -0
  145. package/dist/traceability/index.js.map +1 -0
  146. package/dist/traceability/manager.d.ts +266 -0
  147. package/dist/traceability/manager.d.ts.map +1 -0
  148. package/dist/traceability/manager.js +412 -0
  149. package/dist/traceability/manager.js.map +1 -0
  150. package/dist/types/common.d.ts +294 -0
  151. package/dist/types/common.d.ts.map +1 -0
  152. package/dist/types/common.js +15 -0
  153. package/dist/types/common.js.map +1 -0
  154. package/dist/types/ears.d.ts +158 -0
  155. package/dist/types/ears.d.ts.map +1 -0
  156. package/dist/types/ears.js +33 -0
  157. package/dist/types/ears.js.map +1 -0
  158. package/dist/types/errors.d.ts +176 -0
  159. package/dist/types/errors.d.ts.map +1 -0
  160. package/dist/types/errors.js +55 -0
  161. package/dist/types/errors.js.map +1 -0
  162. package/dist/types/index.d.ts +10 -0
  163. package/dist/types/index.d.ts.map +1 -0
  164. package/dist/types/index.js +10 -0
  165. package/dist/types/index.js.map +1 -0
  166. package/dist/utils/data-protector.d.ts +122 -0
  167. package/dist/utils/data-protector.d.ts.map +1 -0
  168. package/dist/utils/data-protector.js +275 -0
  169. package/dist/utils/data-protector.js.map +1 -0
  170. package/dist/utils/error-handler.d.ts +101 -0
  171. package/dist/utils/error-handler.d.ts.map +1 -0
  172. package/dist/utils/error-handler.js +324 -0
  173. package/dist/utils/error-handler.js.map +1 -0
  174. package/dist/utils/i18n-manager.d.ts +259 -0
  175. package/dist/utils/i18n-manager.d.ts.map +1 -0
  176. package/dist/utils/i18n-manager.js +554 -0
  177. package/dist/utils/i18n-manager.js.map +1 -0
  178. package/dist/utils/index.d.ts +10 -0
  179. package/dist/utils/index.d.ts.map +1 -0
  180. package/dist/utils/index.js +10 -0
  181. package/dist/utils/index.js.map +1 -0
  182. package/dist/utils/logger.d.ts +120 -0
  183. package/dist/utils/logger.d.ts.map +1 -0
  184. package/dist/utils/logger.js +237 -0
  185. package/dist/utils/logger.js.map +1 -0
  186. package/dist/utils/performance-profiler.d.ts +251 -0
  187. package/dist/utils/performance-profiler.d.ts.map +1 -0
  188. package/dist/utils/performance-profiler.js +458 -0
  189. package/dist/utils/performance-profiler.js.map +1 -0
  190. package/dist/utils/scalability-optimizer.d.ts +294 -0
  191. package/dist/utils/scalability-optimizer.d.ts.map +1 -0
  192. package/dist/utils/scalability-optimizer.js +606 -0
  193. package/dist/utils/scalability-optimizer.js.map +1 -0
  194. package/dist/utils/structured-logger.d.ts +294 -0
  195. package/dist/utils/structured-logger.d.ts.map +1 -0
  196. package/dist/utils/structured-logger.js +630 -0
  197. package/dist/utils/structured-logger.js.map +1 -0
  198. package/dist/utils/version-compatibility.d.ts +217 -0
  199. package/dist/utils/version-compatibility.d.ts.map +1 -0
  200. package/dist/utils/version-compatibility.js +443 -0
  201. package/dist/utils/version-compatibility.js.map +1 -0
  202. package/dist/validators/ears-validator.d.ts +182 -0
  203. package/dist/validators/ears-validator.d.ts.map +1 -0
  204. package/dist/validators/ears-validator.js +357 -0
  205. package/dist/validators/ears-validator.js.map +1 -0
  206. package/dist/validators/index.d.ts +8 -0
  207. package/dist/validators/index.d.ts.map +1 -0
  208. package/dist/validators/index.js +9 -0
  209. package/dist/validators/index.js.map +1 -0
  210. package/dist/version.d.ts +8 -0
  211. package/dist/version.d.ts.map +1 -0
  212. package/dist/version.js +8 -0
  213. package/dist/version.js.map +1 -0
  214. package/package.json +100 -0
@@ -0,0 +1,93 @@
1
+ /**
2
+ * CLI Base Module
3
+ *
4
+ * Provides the foundation for MUSUBIX command-line interface
5
+ *
6
+ * @packageDocumentation
7
+ * @module cli
8
+ *
9
+ * @see REQ-ARC-002 - CLI Interface
10
+ * @see DES-MUSUBIX-001 Section 3.2 - CLI Interface Design
11
+ */
12
+ import { Command } from 'commander';
13
+ import { VERSION } from '../index.js';
14
+ /**
15
+ * Exit codes for CLI commands
16
+ * @see DES-MUSUBIX-001 Section 3.2.3
17
+ */
18
+ export const ExitCode = {
19
+ SUCCESS: 0,
20
+ GENERAL_ERROR: 1,
21
+ ARGUMENT_ERROR: 2,
22
+ FILE_NOT_FOUND: 3,
23
+ VALIDATION_ERROR: 4,
24
+ SERVICE_ERROR: 5,
25
+ };
26
+ /**
27
+ * Create the main CLI program
28
+ */
29
+ export function createProgram() {
30
+ const program = new Command();
31
+ program
32
+ .name('musubix')
33
+ .description('MUSUBIX - Neuro-Symbolic AI Coding System')
34
+ .version(VERSION, '-v, --version', 'Display version number')
35
+ .option('--verbose', 'Enable verbose output', false)
36
+ .option('--json', 'Output in JSON format', false)
37
+ .option('--config <path>', 'Path to configuration file')
38
+ .option('-q, --quiet', 'Suppress non-essential output', false)
39
+ .configureHelp({
40
+ sortSubcommands: true,
41
+ sortOptions: true,
42
+ });
43
+ return program;
44
+ }
45
+ /**
46
+ * Get global options from command
47
+ */
48
+ export function getGlobalOptions(command) {
49
+ const opts = command.optsWithGlobals();
50
+ return {
51
+ verbose: opts.verbose ?? false,
52
+ json: opts.json ?? false,
53
+ config: opts.config,
54
+ quiet: opts.quiet ?? false,
55
+ };
56
+ }
57
+ /**
58
+ * Output result based on format option
59
+ */
60
+ export function outputResult(data, options) {
61
+ if (options.quiet) {
62
+ return;
63
+ }
64
+ if (options.json) {
65
+ console.log(JSON.stringify(data, null, 2));
66
+ }
67
+ else {
68
+ console.log(data);
69
+ }
70
+ }
71
+ /**
72
+ * Handle CLI errors
73
+ */
74
+ export function handleError(error, options) {
75
+ if (options.json) {
76
+ console.error(JSON.stringify({
77
+ success: false,
78
+ error: {
79
+ name: error.name,
80
+ message: error.message,
81
+ stack: options.verbose ? error.stack : undefined,
82
+ },
83
+ }, null, 2));
84
+ }
85
+ else {
86
+ console.error(`Error: ${error.message}`);
87
+ if (options.verbose && error.stack) {
88
+ console.error(error.stack);
89
+ }
90
+ }
91
+ process.exit(ExitCode.GENERAL_ERROR);
92
+ }
93
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/cli/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC;CACR,CAAC;AAmBX;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,2CAA2C,CAAC;SACxD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAwB,CAAC;SAC3D,MAAM,CAAC,WAAW,EAAE,uBAAuB,EAAE,KAAK,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,CAAC;SAChD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,aAAa,EAAE,+BAA+B,EAAE,KAAK,CAAC;SAC7D,aAAa,CAAC;QACb,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;QAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAO,EACP,OAA4C;IAE5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,OAAsB;IAC9D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjD;SACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Help Command
3
+ *
4
+ * Provides extended help information for MUSUBIX CLI
5
+ *
6
+ * @packageDocumentation
7
+ * @module cli/commands/help
8
+ *
9
+ * @see REQ-ARC-002 - CLI Interface
10
+ * @see DES-MUSUBIX-001 Section 3.2.2 - CLI Commands
11
+ */
12
+ import type { Command } from 'commander';
13
+ /**
14
+ * Register help command
15
+ */
16
+ export declare function registerHelpCommand(program: Command): void;
17
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/help.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+HzC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAY1D"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Help Command
3
+ *
4
+ * Provides extended help information for MUSUBIX CLI
5
+ *
6
+ * @packageDocumentation
7
+ * @module cli/commands/help
8
+ *
9
+ * @see REQ-ARC-002 - CLI Interface
10
+ * @see DES-MUSUBIX-001 Section 3.2.2 - CLI Commands
11
+ */
12
+ import { VERSION } from '../../index.js';
13
+ /**
14
+ * Extended help content
15
+ */
16
+ const COMMAND_HELP = {
17
+ init: {
18
+ name: 'init',
19
+ description: 'Initialize a new MUSUBIX project with steering documents and configuration',
20
+ usage: 'musubix init [path] [options]',
21
+ examples: [
22
+ 'musubix init # Initialize in current directory',
23
+ 'musubix init my-project # Initialize in my-project directory',
24
+ 'musubix init . --name "MyApp" # Initialize with custom name',
25
+ 'musubix init . --force # Overwrite existing configuration',
26
+ ],
27
+ options: [
28
+ '-n, --name <name> Project name',
29
+ '-t, --template <name> Project template (default: default)',
30
+ '-f, --force Overwrite existing files',
31
+ ],
32
+ },
33
+ requirements: {
34
+ name: 'requirements',
35
+ description: 'Analyze and validate requirements using EARS format',
36
+ usage: 'musubix requirements <subcommand> [options]',
37
+ examples: [
38
+ 'musubix requirements analyze input.md # Analyze natural language requirements',
39
+ 'musubix requirements validate spec.md # Validate EARS syntax',
40
+ 'musubix requirements map spec.md # Map to ontology',
41
+ 'musubix requirements search "login" # Search related requirements',
42
+ ],
43
+ options: [
44
+ 'analyze <file> Analyze natural language → EARS',
45
+ 'validate <file> Validate EARS syntax',
46
+ 'map <file> Map to ontology',
47
+ 'search <query> Search related requirements',
48
+ ],
49
+ },
50
+ design: {
51
+ name: 'design',
52
+ description: 'Generate and validate system designs',
53
+ usage: 'musubix design <subcommand> [options]',
54
+ examples: [
55
+ 'musubix design generate req.md # Generate design from requirements',
56
+ 'musubix design patterns context # Detect applicable patterns',
57
+ 'musubix design validate design.md # Validate SOLID compliance',
58
+ 'musubix design c4 design.md # Generate C4 diagrams',
59
+ ],
60
+ options: [
61
+ 'generate <file> Generate design from requirements',
62
+ 'patterns <ctx> Detect applicable patterns',
63
+ 'validate <file> Validate SOLID compliance',
64
+ 'c4 <file> Generate C4 diagrams',
65
+ 'adr <decision> Generate ADR',
66
+ ],
67
+ },
68
+ codegen: {
69
+ name: 'codegen',
70
+ description: 'Generate and analyze code',
71
+ usage: 'musubix codegen <subcommand> [options]',
72
+ examples: [
73
+ 'musubix codegen generate design.md # Generate code from design',
74
+ 'musubix codegen analyze src/index.ts # Static analysis',
75
+ 'musubix codegen security src/ # Security scan',
76
+ ],
77
+ options: [
78
+ 'generate <file> Generate code from design',
79
+ 'analyze <file> Static analysis',
80
+ 'security <path> Security scan',
81
+ ],
82
+ },
83
+ test: {
84
+ name: 'test',
85
+ description: 'Generate tests and measure coverage',
86
+ usage: 'musubix test <subcommand> [options]',
87
+ examples: [
88
+ 'musubix test generate src/index.ts # Generate tests for file',
89
+ 'musubix test coverage tests/ # Measure coverage',
90
+ ],
91
+ options: [
92
+ 'generate <file> Generate tests',
93
+ 'coverage <dir> Measure coverage',
94
+ ],
95
+ },
96
+ trace: {
97
+ name: 'trace',
98
+ description: 'Manage traceability between artifacts',
99
+ usage: 'musubix trace <subcommand> [options]',
100
+ examples: [
101
+ 'musubix trace matrix # Generate traceability matrix',
102
+ 'musubix trace impact REQ-001 # Impact analysis',
103
+ 'musubix trace validate # Validate all links',
104
+ ],
105
+ options: [
106
+ 'matrix Generate traceability matrix',
107
+ 'impact <id> Impact analysis',
108
+ 'validate Validate links',
109
+ ],
110
+ },
111
+ explain: {
112
+ name: 'explain',
113
+ description: 'Generate explanations for decisions',
114
+ usage: 'musubix explain <subcommand> [options]',
115
+ examples: [
116
+ 'musubix explain why DES-001 # Explain design decision',
117
+ 'musubix explain graph DES-001 # Generate reasoning graph',
118
+ ],
119
+ options: [
120
+ 'why <id> Explain reasoning',
121
+ 'graph <id> Generate reasoning graph',
122
+ ],
123
+ },
124
+ };
125
+ /**
126
+ * Register help command
127
+ */
128
+ export function registerHelpCommand(program) {
129
+ program
130
+ .command('help')
131
+ .description('Display help for a specific command')
132
+ .argument('[command]', 'Command to get help for')
133
+ .action((commandName) => {
134
+ if (commandName) {
135
+ displayCommandHelp(commandName);
136
+ }
137
+ else {
138
+ displayGeneralHelp();
139
+ }
140
+ });
141
+ }
142
+ /**
143
+ * Display help for a specific command
144
+ */
145
+ function displayCommandHelp(commandName) {
146
+ const help = COMMAND_HELP[commandName];
147
+ if (!help) {
148
+ console.log(`Unknown command: ${commandName}`);
149
+ console.log('');
150
+ console.log('Available commands:');
151
+ Object.keys(COMMAND_HELP).forEach(cmd => {
152
+ console.log(` ${cmd}`);
153
+ });
154
+ return;
155
+ }
156
+ console.log(`
157
+ ${bold('Command:')} ${help.name}
158
+ ${bold('Description:')} ${help.description}
159
+
160
+ ${bold('Usage:')}
161
+ ${help.usage}
162
+
163
+ ${bold('Examples:')}
164
+ ${help.examples.map(ex => ` ${ex}`).join('\n')}
165
+ `);
166
+ if (help.options && help.options.length > 0) {
167
+ console.log(`${bold('Options/Subcommands:')}`);
168
+ help.options.forEach(opt => {
169
+ console.log(` ${opt}`);
170
+ });
171
+ }
172
+ }
173
+ /**
174
+ * Display general help
175
+ */
176
+ function displayGeneralHelp() {
177
+ console.log(`
178
+ ${bold('MUSUBIX')} - Neuro-Symbolic AI Coding System
179
+ ${dim(`Version ${VERSION}`)}
180
+
181
+ ${bold('Usage:')}
182
+ musubix <command> [options]
183
+
184
+ ${bold('Commands:')}
185
+ init Initialize a new MUSUBIX project
186
+ requirements Analyze and validate requirements (EARS format)
187
+ design Generate and validate system designs
188
+ codegen Generate and analyze code
189
+ test Generate tests and measure coverage
190
+ trace Manage traceability between artifacts
191
+ explain Generate explanations for decisions
192
+ help Display help for a specific command
193
+
194
+ ${bold('Global Options:')}
195
+ -v, --version Display version number
196
+ --verbose Enable verbose output
197
+ --json Output in JSON format
198
+ --config <path> Path to configuration file
199
+ -q, --quiet Suppress non-essential output
200
+ -h, --help Display help
201
+
202
+ ${bold('Examples:')}
203
+ musubix init my-project
204
+ musubix requirements analyze spec.md
205
+ musubix design generate requirements.md
206
+ musubix help requirements
207
+
208
+ ${bold('Documentation:')}
209
+ https://github.com/nahisaho/MUSUBIX
210
+
211
+ ${bold('Constitutional Articles:')}
212
+ This project follows 9 Constitutional Articles
213
+ See: steering/rules/constitution.md
214
+ `);
215
+ }
216
+ /**
217
+ * Bold text formatting
218
+ */
219
+ function bold(text) {
220
+ return `\x1b[1m${text}\x1b[0m`;
221
+ }
222
+ /**
223
+ * Dim text formatting
224
+ */
225
+ function dim(text) {
226
+ return `\x1b[2m${text}\x1b[0m`;
227
+ }
228
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/commands/help.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * CLI Commands Index
3
+ *
4
+ * @packageDocumentation
5
+ * @module cli/commands
6
+ */
7
+ import type { Command } from 'commander';
8
+ /**
9
+ * Register all CLI commands
10
+ */
11
+ export declare function registerCommands(program: Command): void;
12
+ export { registerInitCommand } from './init.js';
13
+ export { registerHelpCommand } from './help.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAWvD;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CLI Commands Index
3
+ *
4
+ * @packageDocumentation
5
+ * @module cli/commands
6
+ */
7
+ import { registerInitCommand } from './init.js';
8
+ import { registerHelpCommand } from './help.js';
9
+ /**
10
+ * Register all CLI commands
11
+ */
12
+ export function registerCommands(program) {
13
+ registerInitCommand(program);
14
+ registerHelpCommand(program);
15
+ // Future commands will be registered here:
16
+ // registerRequirementsCommand(program);
17
+ // registerDesignCommand(program);
18
+ // registerCodegenCommand(program);
19
+ // registerTestCommand(program);
20
+ // registerTraceCommand(program);
21
+ // registerExplainCommand(program);
22
+ }
23
+ export { registerInitCommand } from './init.js';
24
+ export { registerHelpCommand } from './help.js';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,2CAA2C;IAC3C,wCAAwC;IACxC,kCAAkC;IAClC,mCAAmC;IACnC,gCAAgC;IAChC,iCAAiC;IACjC,mCAAmC;AACrC,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Init Command
3
+ *
4
+ * Initializes a new MUSUBIX project
5
+ *
6
+ * @packageDocumentation
7
+ * @module cli/commands/init
8
+ *
9
+ * @see REQ-ARC-002 - CLI Interface
10
+ * @see DES-MUSUBIX-001 Section 3.2.2 - CLI Commands
11
+ */
12
+ import type { Command } from 'commander';
13
+ /**
14
+ * Init command options
15
+ */
16
+ export interface InitOptions {
17
+ name?: string;
18
+ template?: string;
19
+ force: boolean;
20
+ }
21
+ /**
22
+ * Init result
23
+ */
24
+ export interface InitResult {
25
+ success: boolean;
26
+ projectPath: string;
27
+ filesCreated: string[];
28
+ message: string;
29
+ }
30
+ /**
31
+ * Register init command
32
+ */
33
+ export declare function registerInitCommand(program: Command): void;
34
+ /**
35
+ * Execute init command
36
+ */
37
+ export declare function executeInit(targetPath: string, options: InitOptions): Promise<InitResult>;
38
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAyCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2B1D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAmDrB"}