@buoy-design/cli 0.1.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 (101) hide show
  1. package/dist/bin.d.ts +3 -0
  2. package/dist/bin.d.ts.map +1 -0
  3. package/dist/bin.js +5 -0
  4. package/dist/bin.js.map +1 -0
  5. package/dist/commands/__tests__/ci.test.d.ts +2 -0
  6. package/dist/commands/__tests__/ci.test.d.ts.map +1 -0
  7. package/dist/commands/__tests__/ci.test.js +33 -0
  8. package/dist/commands/__tests__/ci.test.js.map +1 -0
  9. package/dist/commands/bootstrap.d.ts +3 -0
  10. package/dist/commands/bootstrap.d.ts.map +1 -0
  11. package/dist/commands/bootstrap.js +458 -0
  12. package/dist/commands/bootstrap.js.map +1 -0
  13. package/dist/commands/build.d.ts +3 -0
  14. package/dist/commands/build.d.ts.map +1 -0
  15. package/dist/commands/build.js +314 -0
  16. package/dist/commands/build.js.map +1 -0
  17. package/dist/commands/ci.d.ts +24 -0
  18. package/dist/commands/ci.d.ts.map +1 -0
  19. package/dist/commands/ci.js +273 -0
  20. package/dist/commands/ci.js.map +1 -0
  21. package/dist/commands/ci.logic.d.ts +20 -0
  22. package/dist/commands/ci.logic.d.ts.map +1 -0
  23. package/dist/commands/ci.logic.js +28 -0
  24. package/dist/commands/ci.logic.js.map +1 -0
  25. package/dist/commands/drift.d.ts +3 -0
  26. package/dist/commands/drift.d.ts.map +1 -0
  27. package/dist/commands/drift.js +178 -0
  28. package/dist/commands/drift.js.map +1 -0
  29. package/dist/commands/index.d.ts +9 -0
  30. package/dist/commands/index.d.ts.map +1 -0
  31. package/dist/commands/index.js +9 -0
  32. package/dist/commands/index.js.map +1 -0
  33. package/dist/commands/init.d.ts +3 -0
  34. package/dist/commands/init.d.ts.map +1 -0
  35. package/dist/commands/init.js +490 -0
  36. package/dist/commands/init.js.map +1 -0
  37. package/dist/commands/plugins.d.ts +3 -0
  38. package/dist/commands/plugins.d.ts.map +1 -0
  39. package/dist/commands/plugins.js +72 -0
  40. package/dist/commands/plugins.js.map +1 -0
  41. package/dist/commands/scan.d.ts +3 -0
  42. package/dist/commands/scan.d.ts.map +1 -0
  43. package/dist/commands/scan.js +266 -0
  44. package/dist/commands/scan.js.map +1 -0
  45. package/dist/commands/status.d.ts +3 -0
  46. package/dist/commands/status.d.ts.map +1 -0
  47. package/dist/commands/status.js +205 -0
  48. package/dist/commands/status.js.map +1 -0
  49. package/dist/config/index.d.ts +3 -0
  50. package/dist/config/index.d.ts.map +1 -0
  51. package/dist/config/index.js +3 -0
  52. package/dist/config/index.js.map +1 -0
  53. package/dist/config/loader.d.ts +8 -0
  54. package/dist/config/loader.d.ts.map +1 -0
  55. package/dist/config/loader.js +67 -0
  56. package/dist/config/loader.js.map +1 -0
  57. package/dist/config/schema.d.ts +1040 -0
  58. package/dist/config/schema.d.ts.map +1 -0
  59. package/dist/config/schema.js +116 -0
  60. package/dist/config/schema.js.map +1 -0
  61. package/dist/detect/frameworks.d.ts +18 -0
  62. package/dist/detect/frameworks.d.ts.map +1 -0
  63. package/dist/detect/frameworks.js +168 -0
  64. package/dist/detect/frameworks.js.map +1 -0
  65. package/dist/detect/index.d.ts +3 -0
  66. package/dist/detect/index.d.ts.map +1 -0
  67. package/dist/detect/index.js +3 -0
  68. package/dist/detect/index.js.map +1 -0
  69. package/dist/detect/project-detector.d.ts +61 -0
  70. package/dist/detect/project-detector.d.ts.map +1 -0
  71. package/dist/detect/project-detector.js +849 -0
  72. package/dist/detect/project-detector.js.map +1 -0
  73. package/dist/index.d.ts +5 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +22 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/output/formatters.d.ts +21 -0
  78. package/dist/output/formatters.d.ts.map +1 -0
  79. package/dist/output/formatters.js +421 -0
  80. package/dist/output/formatters.js.map +1 -0
  81. package/dist/output/index.d.ts +3 -0
  82. package/dist/output/index.d.ts.map +1 -0
  83. package/dist/output/index.js +3 -0
  84. package/dist/output/index.js.map +1 -0
  85. package/dist/output/reporters.d.ts +23 -0
  86. package/dist/output/reporters.d.ts.map +1 -0
  87. package/dist/output/reporters.js +147 -0
  88. package/dist/output/reporters.js.map +1 -0
  89. package/dist/plugins/index.d.ts +3 -0
  90. package/dist/plugins/index.d.ts.map +1 -0
  91. package/dist/plugins/index.js +3 -0
  92. package/dist/plugins/index.js.map +1 -0
  93. package/dist/plugins/loader.d.ts +11 -0
  94. package/dist/plugins/loader.d.ts.map +1 -0
  95. package/dist/plugins/loader.js +77 -0
  96. package/dist/plugins/loader.js.map +1 -0
  97. package/dist/plugins/registry.d.ts +15 -0
  98. package/dist/plugins/registry.d.ts.map +1 -0
  99. package/dist/plugins/registry.js +32 -0
  100. package/dist/plugins/registry.js.map +1 -0
  101. package/package.json +48 -0
@@ -0,0 +1,20 @@
1
+ import type { DriftSignal, Severity } from '@buoy-design/core';
2
+ export interface CIResult {
3
+ version: string;
4
+ timestamp: string;
5
+ summary: {
6
+ total: number;
7
+ critical: number;
8
+ warning: number;
9
+ info: number;
10
+ };
11
+ topIssues: DriftSignal[];
12
+ exitCode: number;
13
+ }
14
+ export declare function buildCIResult(drifts: DriftSignal[], failOn: Severity | 'none'): CIResult;
15
+ export declare function calculateExitCode(summary: {
16
+ critical: number;
17
+ warning: number;
18
+ info: number;
19
+ }, failOn: Severity | 'none'): number;
20
+ //# sourceMappingURL=ci.logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.logic.d.ts","sourceRoot":"","sources":["../../src/commands/ci.logic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,QAAQ,GAAG,MAAM,GACxB,QAAQ,CAiBV;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,MAAM,EAAE,QAAQ,GAAG,MAAM,GACxB,MAAM,CAMR"}
@@ -0,0 +1,28 @@
1
+ export function buildCIResult(drifts, failOn) {
2
+ const summary = {
3
+ total: drifts.length,
4
+ critical: drifts.filter(d => d.severity === 'critical').length,
5
+ warning: drifts.filter(d => d.severity === 'warning').length,
6
+ info: drifts.filter(d => d.severity === 'info').length,
7
+ };
8
+ const exitCode = calculateExitCode(summary, failOn);
9
+ return {
10
+ version: '1.0.0',
11
+ timestamp: new Date().toISOString(),
12
+ summary,
13
+ topIssues: drifts.slice(0, 10),
14
+ exitCode,
15
+ };
16
+ }
17
+ export function calculateExitCode(summary, failOn) {
18
+ if (failOn === 'none')
19
+ return 0;
20
+ if (failOn === 'critical' && summary.critical > 0)
21
+ return 1;
22
+ if (failOn === 'warning' && (summary.critical > 0 || summary.warning > 0))
23
+ return 1;
24
+ if (failOn === 'info' && (summary.critical > 0 || summary.warning > 0 || summary.info > 0))
25
+ return 1;
26
+ return 0;
27
+ }
28
+ //# sourceMappingURL=ci.logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.logic.js","sourceRoot":"","sources":["../../src/commands/ci.logic.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,MAAyB;IAEzB,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;QAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;QAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;KACvD,CAAC;IAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEpD,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;QACP,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAA4D,EAC5D,MAAyB;IAEzB,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACpF,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACrG,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createDriftCommand(): Command;
3
+ //# sourceMappingURL=drift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/commands/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAuL5C"}
@@ -0,0 +1,178 @@
1
+ import { Command } from 'commander';
2
+ import { loadConfig } from '../config/loader.js';
3
+ import { spinner, success, error, info, warning, header, keyValue, newline, setJsonMode, } from '../output/reporters.js';
4
+ import { formatDriftTable, formatDriftList, formatJson, formatMarkdown, } from '../output/formatters.js';
5
+ export function createDriftCommand() {
6
+ const cmd = new Command('drift')
7
+ .description('Detect and manage design system drift');
8
+ // drift check
9
+ cmd
10
+ .command('check')
11
+ .description('Check for drift in the current project')
12
+ .option('-s, --severity <level>', 'Filter by minimum severity (info, warning, critical)')
13
+ .option('-t, --type <type>', 'Filter by drift type')
14
+ .option('--json', 'Output as JSON')
15
+ .option('--markdown', 'Output as Markdown')
16
+ .option('--compact', 'Compact table output (less detail)')
17
+ .option('-v, --verbose', 'Verbose output')
18
+ .action(async (options) => {
19
+ // Set JSON mode before creating spinner to redirect spinner to stderr
20
+ if (options.json) {
21
+ setJsonMode(true);
22
+ }
23
+ const spin = spinner('Loading configuration...');
24
+ try {
25
+ const { config } = await loadConfig();
26
+ spin.text = 'Scanning for drift...';
27
+ // Import required modules
28
+ const { ReactComponentScanner } = await import('@buoy-design/scanners/git');
29
+ const { SemanticDiffEngine } = await import('@buoy-design/core/analysis');
30
+ // First, scan components
31
+ const sourceComponents = [];
32
+ if (config.sources.react?.enabled) {
33
+ spin.text = 'Scanning React components...';
34
+ const scanner = new ReactComponentScanner({
35
+ projectRoot: process.cwd(),
36
+ include: config.sources.react.include,
37
+ exclude: config.sources.react.exclude,
38
+ designSystemPackage: config.sources.react.designSystemPackage,
39
+ });
40
+ const result = await scanner.scan();
41
+ sourceComponents.push(...result.items);
42
+ }
43
+ spin.text = 'Analyzing drift...';
44
+ // Run semantic diff engine
45
+ const engine = new SemanticDiffEngine();
46
+ const diffResult = engine.analyzeComponents(sourceComponents, {
47
+ checkDeprecated: true,
48
+ checkNaming: true,
49
+ checkDocumentation: true,
50
+ });
51
+ let drifts = diffResult.drifts;
52
+ // Apply filters
53
+ if (options.severity) {
54
+ const severityOrder = {
55
+ info: 0,
56
+ warning: 1,
57
+ critical: 2,
58
+ };
59
+ const minSeverity = severityOrder[options.severity] || 0;
60
+ drifts = drifts.filter(d => severityOrder[d.severity] >= minSeverity);
61
+ }
62
+ if (options.type) {
63
+ drifts = drifts.filter(d => d.type === options.type);
64
+ }
65
+ // Apply ignore rules from config
66
+ for (const ignoreRule of config.drift.ignore) {
67
+ drifts = drifts.filter(d => {
68
+ if (d.type !== ignoreRule.type)
69
+ return true;
70
+ if (!ignoreRule.pattern)
71
+ return false;
72
+ const regex = new RegExp(ignoreRule.pattern);
73
+ return !regex.test(d.source.entityName);
74
+ });
75
+ }
76
+ spin.stop();
77
+ // Output results
78
+ if (options.json) {
79
+ console.log(formatJson({ drifts, summary: getSummary(drifts) }));
80
+ return;
81
+ }
82
+ if (options.markdown) {
83
+ console.log(formatMarkdown(drifts));
84
+ return;
85
+ }
86
+ header('Drift Analysis');
87
+ newline();
88
+ const summary = getSummary(drifts);
89
+ keyValue('Components scanned', String(sourceComponents.length));
90
+ keyValue('Critical', String(summary.critical));
91
+ keyValue('Warning', String(summary.warning));
92
+ keyValue('Info', String(summary.info));
93
+ newline();
94
+ // Use compact table or detailed list
95
+ if (options.compact) {
96
+ console.log(formatDriftTable(drifts));
97
+ }
98
+ else {
99
+ console.log(formatDriftList(drifts));
100
+ }
101
+ newline();
102
+ if (summary.critical > 0) {
103
+ warning(`${summary.critical} critical issues require attention.`);
104
+ }
105
+ else if (drifts.length === 0) {
106
+ success('No drift detected. Your design system is aligned!');
107
+ }
108
+ else {
109
+ info(`Found ${drifts.length} drift signals. Run with --compact for summary view.`);
110
+ }
111
+ }
112
+ catch (err) {
113
+ spin.stop();
114
+ const message = err instanceof Error ? err.message : String(err);
115
+ error(`Drift check failed: ${message}`);
116
+ if (options.verbose) {
117
+ console.error(err);
118
+ }
119
+ process.exit(1);
120
+ }
121
+ });
122
+ // drift explain
123
+ // TODO: Implement AI-powered drift explanation with git forensics
124
+ //
125
+ // Implementation steps:
126
+ // 1. Load the drift signal by ID from scan results or cache
127
+ // 2. Fetch git context for the affected file/line:
128
+ // - git blame -L <line>,<line> <file> → who changed it, when, commit hash
129
+ // - git log -1 --format="%s%n%n%b" <hash> → commit message
130
+ // - git show <hash>^:<file> → previous version of the code
131
+ // - git log -p -L <line>,<line>:<file> → full history of this line
132
+ // 3. Try to find associated PR (GitHub API or parse commit message for #123)
133
+ // 4. Build context object matching GitContext schema in @buoy-design/core
134
+ // 5. Send to Claude API with structured prompt:
135
+ // - Drift type and severity
136
+ // - Current vs expected code
137
+ // - Git blame info (who, when, why)
138
+ // - Previous code before drift
139
+ // - Ask for: root cause, impact, fix, prevention
140
+ // 6. Display formatted explanation with actionable next steps
141
+ //
142
+ // See: packages/core/src/models/drift.ts → GitContextSchema
143
+ cmd
144
+ .command('explain <driftId>')
145
+ .description('Get detailed explanation for a drift signal (uses AI + git history)')
146
+ .action(async (driftId) => {
147
+ info('Claude integration not yet implemented.');
148
+ info(`To explain drift: ${driftId}`);
149
+ info('Enable Claude in buoy.config.ts and ensure ANTHROPIC_API_KEY is set.');
150
+ info('');
151
+ info('When implemented, this will:');
152
+ info(' • Analyze git blame to find who introduced the drift');
153
+ info(' • Check commit history for context on why');
154
+ info(' • Use Claude to explain impact and suggest fixes');
155
+ });
156
+ // drift resolve
157
+ cmd
158
+ .command('resolve <driftId>')
159
+ .description('Mark a drift signal as resolved')
160
+ .option('-r, --resolution <type>', 'Resolution type (ignored, fixed, documented)', 'fixed')
161
+ .option('-m, --message <message>', 'Resolution message')
162
+ .action(async (driftId, options) => {
163
+ info(`Marking drift ${driftId} as ${options.resolution}`);
164
+ if (options.message) {
165
+ info(`Reason: ${options.message}`);
166
+ }
167
+ success('Drift resolved (note: persistence not yet implemented)');
168
+ });
169
+ return cmd;
170
+ }
171
+ function getSummary(drifts) {
172
+ return {
173
+ critical: drifts.filter(d => d.severity === 'critical').length,
174
+ warning: drifts.filter(d => d.severity === 'warning').length,
175
+ info: drifts.filter(d => d.severity === 'info').length,
176
+ };
177
+ }
178
+ //# sourceMappingURL=drift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/commands/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,OAAO,EACP,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,cAAc,GACf,MAAM,yBAAyB,CAAC;AAGjC,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SAC7B,WAAW,CAAC,uCAAuC,CAAC,CAAC;IAExD,cAAc;IACd,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,wBAAwB,EAAE,sDAAsD,CAAC;SACxF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC;SAC1C,MAAM,CAAC,WAAW,EAAE,oCAAoC,CAAC;SACzD,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,sEAAsE;QACtE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;YAEpC,0BAA0B;YAC1B,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC5E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAE1E,yBAAyB;YACzB,MAAM,gBAAgB,GAA8E,EAAE,CAAC;YAEvG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;gBAC3C,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC;oBACxC,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;oBACrC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;oBACrC,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB;iBAC9D,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;YAEjC,2BAA2B;YAC3B,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;gBAC5D,eAAe,EAAE,IAAI;gBACrB,WAAW,EAAE,IAAI;gBACjB,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YAEH,IAAI,MAAM,GAAkB,UAAU,CAAC,MAAM,CAAC;YAE9C,gBAAgB;YAChB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,aAAa,GAA6B;oBAC9C,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,CAAC;oBACV,QAAQ,EAAE,CAAC;iBACZ,CAAC;gBACF,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,QAAoB,CAAC,IAAI,CAAC,CAAC;gBACrE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;YAED,iCAAiC;YACjC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACzB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;wBAAE,OAAO,IAAI,CAAC;oBAC5C,IAAI,CAAC,UAAU,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;oBACtC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC7C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,iBAAiB;YACjB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACzB,OAAO,EAAE,CAAC;YAEV,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;YAEV,qCAAqC;YACrC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,EAAE,CAAC;YAEV,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,qCAAqC,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,mDAAmD,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,sDAAsD,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;YAExC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,kEAAkE;IAClE,EAAE;IACF,wBAAwB;IACxB,4DAA4D;IAC5D,mDAAmD;IACnD,8EAA8E;IAC9E,+DAA+D;IAC/D,+DAA+D;IAC/D,uEAAuE;IACvE,6EAA6E;IAC7E,0EAA0E;IAC1E,gDAAgD;IAChD,+BAA+B;IAC/B,gCAAgC;IAChC,uCAAuC;IACvC,kCAAkC;IAClC,oDAAoD;IACpD,8DAA8D;IAC9D,EAAE;IACF,4DAA4D;IAC5D,GAAG;SACA,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAChD,IAAI,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACrC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC/D,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACpD,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,GAAG;SACA,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,EAAE,OAAO,CAAC;SAC1F,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,IAAI,CAAC,iBAAiB,OAAO,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,wDAAwD,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB;IACvC,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;QAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;QAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;KACvD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { createInitCommand } from './init.js';
2
+ export { createScanCommand } from './scan.js';
3
+ export { createDriftCommand } from './drift.js';
4
+ export { createStatusCommand } from './status.js';
5
+ export { createBootstrapCommand } from './bootstrap.js';
6
+ export { createBuildCommand } from './build.js';
7
+ export { createPluginsCommand } from './plugins.js';
8
+ export { createCICommand } from './ci.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { createInitCommand } from './init.js';
2
+ export { createScanCommand } from './scan.js';
3
+ export { createDriftCommand } from './drift.js';
4
+ export { createStatusCommand } from './status.js';
5
+ export { createBootstrapCommand } from './bootstrap.js';
6
+ export { createBuildCommand } from './build.js';
7
+ export { createPluginsCommand } from './plugins.js';
8
+ export { createCICommand } from './ci.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createInitCommand(): Command;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2WpC,wBAAgB,iBAAiB,IAAI,OAAO,CAwL3C"}