@buoy-design/cli 0.1.30 → 0.2.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 (135) hide show
  1. package/assets/commands/contribution-loop.md +195 -0
  2. package/dist/bin.js +0 -0
  3. package/dist/cloud/config.d.ts +8 -0
  4. package/dist/cloud/config.d.ts.map +1 -1
  5. package/dist/cloud/config.js +10 -0
  6. package/dist/cloud/config.js.map +1 -1
  7. package/dist/cloud/feature-gate.d.ts +30 -0
  8. package/dist/cloud/feature-gate.d.ts.map +1 -0
  9. package/dist/cloud/feature-gate.js +138 -0
  10. package/dist/cloud/feature-gate.js.map +1 -0
  11. package/dist/cloud/index.d.ts +1 -0
  12. package/dist/cloud/index.d.ts.map +1 -1
  13. package/dist/cloud/index.js +1 -0
  14. package/dist/cloud/index.js.map +1 -1
  15. package/dist/commands/anchor.js +1 -1
  16. package/dist/commands/anchor.js.map +1 -1
  17. package/dist/commands/begin.d.ts.map +1 -1
  18. package/dist/commands/begin.js +118 -5
  19. package/dist/commands/begin.js.map +1 -1
  20. package/dist/commands/billing.d.ts +1 -1
  21. package/dist/commands/billing.js +22 -18
  22. package/dist/commands/billing.js.map +1 -1
  23. package/dist/commands/bot.d.ts +9 -0
  24. package/dist/commands/bot.d.ts.map +1 -0
  25. package/dist/commands/bot.js +258 -0
  26. package/dist/commands/bot.js.map +1 -0
  27. package/dist/commands/check.d.ts.map +1 -1
  28. package/dist/commands/check.js +16 -2
  29. package/dist/commands/check.js.map +1 -1
  30. package/dist/commands/cloud.d.ts +15 -0
  31. package/dist/commands/cloud.d.ts.map +1 -0
  32. package/dist/commands/cloud.js +36 -0
  33. package/dist/commands/cloud.js.map +1 -0
  34. package/dist/commands/commands.d.ts +8 -0
  35. package/dist/commands/commands.d.ts.map +1 -0
  36. package/dist/commands/commands.js +148 -0
  37. package/dist/commands/commands.js.map +1 -0
  38. package/dist/commands/components-query.d.ts +13 -0
  39. package/dist/commands/components-query.d.ts.map +1 -0
  40. package/dist/commands/components-query.js +263 -0
  41. package/dist/commands/components-query.js.map +1 -0
  42. package/dist/commands/components.d.ts +8 -0
  43. package/dist/commands/components.d.ts.map +1 -0
  44. package/dist/commands/components.js +14 -0
  45. package/dist/commands/components.js.map +1 -0
  46. package/dist/commands/dock.d.ts +13 -0
  47. package/dist/commands/dock.d.ts.map +1 -1
  48. package/dist/commands/dock.js +594 -832
  49. package/dist/commands/dock.js.map +1 -1
  50. package/dist/commands/drift.d.ts.map +1 -1
  51. package/dist/commands/drift.js +4 -13
  52. package/dist/commands/drift.js.map +1 -1
  53. package/dist/commands/fix.js +1 -1
  54. package/dist/commands/fix.js.map +1 -1
  55. package/dist/commands/github.d.ts.map +1 -1
  56. package/dist/commands/github.js +8 -6
  57. package/dist/commands/github.js.map +1 -1
  58. package/dist/commands/history.js +2 -2
  59. package/dist/commands/history.js.map +1 -1
  60. package/dist/commands/import.js +1 -1
  61. package/dist/commands/import.js.map +1 -1
  62. package/dist/commands/index.d.ts +2 -22
  63. package/dist/commands/index.d.ts.map +1 -1
  64. package/dist/commands/index.js +3 -23
  65. package/dist/commands/index.js.map +1 -1
  66. package/dist/commands/learn.d.ts +9 -0
  67. package/dist/commands/learn.d.ts.map +1 -0
  68. package/dist/commands/learn.js +244 -0
  69. package/dist/commands/learn.js.map +1 -0
  70. package/dist/commands/link.js +2 -2
  71. package/dist/commands/link.js.map +1 -1
  72. package/dist/commands/login.d.ts.map +1 -1
  73. package/dist/commands/login.js +12 -3
  74. package/dist/commands/login.js.map +1 -1
  75. package/dist/commands/onboard.d.ts.map +1 -1
  76. package/dist/commands/onboard.js +64 -1
  77. package/dist/commands/onboard.js.map +1 -1
  78. package/dist/commands/plans.d.ts +9 -0
  79. package/dist/commands/plans.d.ts.map +1 -0
  80. package/dist/commands/plans.js +140 -0
  81. package/dist/commands/plans.js.map +1 -0
  82. package/dist/commands/ship.d.ts +14 -0
  83. package/dist/commands/ship.d.ts.map +1 -0
  84. package/dist/commands/ship.js +342 -0
  85. package/dist/commands/ship.js.map +1 -0
  86. package/dist/commands/show.d.ts +3 -0
  87. package/dist/commands/show.d.ts.map +1 -0
  88. package/dist/commands/show.js +340 -0
  89. package/dist/commands/show.js.map +1 -0
  90. package/dist/commands/status.d.ts.map +1 -1
  91. package/dist/commands/status.js +13 -0
  92. package/dist/commands/status.js.map +1 -1
  93. package/dist/commands/sync.js +1 -1
  94. package/dist/commands/sync.js.map +1 -1
  95. package/dist/commands/tokens-lookup.d.ts +14 -0
  96. package/dist/commands/tokens-lookup.d.ts.map +1 -0
  97. package/dist/commands/tokens-lookup.js +300 -0
  98. package/dist/commands/tokens-lookup.js.map +1 -0
  99. package/dist/commands/tokens.d.ts.map +1 -1
  100. package/dist/commands/tokens.js +6 -1
  101. package/dist/commands/tokens.js.map +1 -1
  102. package/dist/commands/whoami.d.ts.map +1 -1
  103. package/dist/commands/whoami.js +60 -3
  104. package/dist/commands/whoami.js.map +1 -1
  105. package/dist/config/schema.d.ts +132 -132
  106. package/dist/fix/applier.js +1 -1
  107. package/dist/fix/applier.js.map +1 -1
  108. package/dist/hooks/index.d.ts +2 -1
  109. package/dist/hooks/index.d.ts.map +1 -1
  110. package/dist/hooks/index.js +31 -3
  111. package/dist/hooks/index.js.map +1 -1
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +19 -43
  114. package/dist/index.js.map +1 -1
  115. package/dist/insights/project-insights.d.ts.map +1 -1
  116. package/dist/insights/project-insights.js +0 -8
  117. package/dist/insights/project-insights.js.map +1 -1
  118. package/dist/output/fix-formatters.d.ts.map +1 -1
  119. package/dist/output/fix-formatters.js +10 -2
  120. package/dist/output/fix-formatters.js.map +1 -1
  121. package/dist/services/context-generator.js +2 -2
  122. package/dist/services/context-generator.js.map +1 -1
  123. package/dist/services/skill-export.d.ts.map +1 -1
  124. package/dist/services/skill-export.js +39 -4
  125. package/dist/services/skill-export.js.map +1 -1
  126. package/dist/wizard/ai-guardrails-generator.js +1 -1
  127. package/package.json +16 -15
  128. package/LICENSE +0 -21
  129. package/dist/commands/explain.d.ts +0 -3
  130. package/dist/commands/explain.js +0 -224
  131. package/dist/commands/explain.js.map +0 -1
  132. package/dist/explain/agents.d.ts +0 -31
  133. package/dist/explain/agents.d.ts.map +0 -1
  134. package/dist/explain/agents.js +0 -507
  135. package/dist/explain/agents.js.map +0 -1
@@ -0,0 +1,263 @@
1
+ /**
2
+ * buoy components query - Find and explore components in the codebase
3
+ *
4
+ * Helps AI agents quickly find relevant components when building features.
5
+ *
6
+ * Examples:
7
+ * buoy components query "button" # Find button components
8
+ * buoy components query --prop "onClick" # Find components with onClick
9
+ * buoy components query --pattern "form" # Find form-related components
10
+ */
11
+ import { Command } from 'commander';
12
+ import chalk from 'chalk';
13
+ import { loadConfig, getConfigPath } from '../config/loader.js';
14
+ import { buildAutoConfig } from '../config/auto-detect.js';
15
+ import { ScanOrchestrator } from '../scan/orchestrator.js';
16
+ import { spinner, error, info, newline, header, keyValue, } from '../output/reporters.js';
17
+ /**
18
+ * Calculate fuzzy match score (0-100)
19
+ */
20
+ function fuzzyScore(query, target) {
21
+ const q = query.toLowerCase();
22
+ const t = target.toLowerCase();
23
+ // Exact match
24
+ if (q === t)
25
+ return 100;
26
+ // Contains match
27
+ if (t.includes(q)) {
28
+ const bonus = q.length / t.length * 50;
29
+ return 70 + bonus;
30
+ }
31
+ // Word match (query words appear in target)
32
+ const queryWords = q.split(/[-_\s]+/);
33
+ const targetWords = t.split(/[-_\s]+/);
34
+ const matchedWords = queryWords.filter(qw => targetWords.some(tw => tw.includes(qw) || qw.includes(tw)));
35
+ if (matchedWords.length > 0) {
36
+ return 50 + (matchedWords.length / queryWords.length * 30);
37
+ }
38
+ return 0;
39
+ }
40
+ /**
41
+ * Search components by name
42
+ */
43
+ function searchByName(components, query) {
44
+ const results = [];
45
+ for (const component of components) {
46
+ const score = fuzzyScore(query, component.name);
47
+ if (score >= 30) {
48
+ results.push({
49
+ component,
50
+ score,
51
+ matchType: score === 100 ? 'exact' : 'fuzzy',
52
+ });
53
+ }
54
+ }
55
+ return results.sort((a, b) => b.score - a.score);
56
+ }
57
+ /**
58
+ * Search components by prop name
59
+ */
60
+ function searchByProp(components, propName) {
61
+ const results = [];
62
+ const lowerProp = propName.toLowerCase();
63
+ for (const component of components) {
64
+ const props = component.props || [];
65
+ const matchingProp = props.find(p => p.name.toLowerCase().includes(lowerProp));
66
+ if (matchingProp) {
67
+ results.push({
68
+ component,
69
+ score: matchingProp.name.toLowerCase() === lowerProp ? 100 : 80,
70
+ matchType: 'prop',
71
+ });
72
+ }
73
+ }
74
+ return results.sort((a, b) => b.score - a.score);
75
+ }
76
+ /**
77
+ * Search components by pattern (checks name, props, and variants)
78
+ */
79
+ function searchByPattern(components, pattern) {
80
+ const results = [];
81
+ const lowerPattern = pattern.toLowerCase();
82
+ for (const component of components) {
83
+ let score = 0;
84
+ // Check name
85
+ const nameScore = fuzzyScore(pattern, component.name);
86
+ if (nameScore > 0)
87
+ score += nameScore * 0.5;
88
+ // Check props
89
+ const props = component.props || [];
90
+ const propMatch = props.some(p => p.name.toLowerCase().includes(lowerPattern) ||
91
+ (p.type && p.type.toLowerCase().includes(lowerPattern)));
92
+ if (propMatch)
93
+ score += 30;
94
+ // Check variants
95
+ const variants = component.variants || [];
96
+ const variantMatch = variants.some(v => v.name.toLowerCase().includes(lowerPattern));
97
+ if (variantMatch)
98
+ score += 20;
99
+ if (score >= 30) {
100
+ results.push({
101
+ component,
102
+ score: Math.min(100, score),
103
+ matchType: 'pattern',
104
+ });
105
+ }
106
+ }
107
+ return results.sort((a, b) => b.score - a.score);
108
+ }
109
+ /**
110
+ * Format component path for display
111
+ */
112
+ function getComponentPath(component) {
113
+ if ('path' in component.source) {
114
+ return component.source.path;
115
+ }
116
+ return 'unknown';
117
+ }
118
+ /**
119
+ * Format props for display
120
+ */
121
+ function formatProps(component) {
122
+ const props = component.props || [];
123
+ if (props.length === 0)
124
+ return chalk.dim('(no props)');
125
+ const propStrs = props.slice(0, 5).map(p => {
126
+ const required = p.required ? '*' : '';
127
+ const type = p.type ? chalk.dim(`: ${p.type}`) : '';
128
+ return `${p.name}${required}${type}`;
129
+ });
130
+ if (props.length > 5) {
131
+ propStrs.push(chalk.dim(`+${props.length - 5} more`));
132
+ }
133
+ return propStrs.join(', ');
134
+ }
135
+ export function createComponentsQueryCommand() {
136
+ return new Command('query')
137
+ .description('Find components by name, prop, or pattern')
138
+ .argument('[query]', 'Search query (component name or partial match)')
139
+ .option('--prop <propName>', 'Search by prop name (e.g., "onClick")')
140
+ .option('--pattern <pattern>', 'Search by pattern (checks name, props, variants)')
141
+ .option('-n, --limit <number>', 'Maximum results to show', '10')
142
+ .option('--json', 'Output as JSON')
143
+ .action(async (query, options) => {
144
+ const cwd = process.cwd();
145
+ // Need either query, prop, or pattern
146
+ if (!query && !options.prop && !options.pattern) {
147
+ error('Please provide a search query, --prop, or --pattern');
148
+ info('Examples:');
149
+ info(' buoy components query "button"');
150
+ info(' buoy components query --prop "onClick"');
151
+ info(' buoy components query --pattern "form"');
152
+ process.exit(1);
153
+ }
154
+ const spin = spinner('Scanning components...').start();
155
+ try {
156
+ // Load config
157
+ const configPath = getConfigPath();
158
+ let config;
159
+ if (configPath) {
160
+ const result = await loadConfig();
161
+ config = result.config;
162
+ }
163
+ else {
164
+ const autoResult = await buildAutoConfig(cwd);
165
+ config = autoResult.config;
166
+ }
167
+ // Scan for components
168
+ const orchestrator = new ScanOrchestrator(config, cwd);
169
+ const { components } = await orchestrator.scanComponents({});
170
+ if (components.length === 0) {
171
+ spin.stop();
172
+ error('No components found');
173
+ info('Run `buoy show all` to scan your codebase first');
174
+ process.exit(1);
175
+ }
176
+ spin.stop();
177
+ // Perform search
178
+ let results = [];
179
+ if (options.prop) {
180
+ results = searchByProp(components, options.prop);
181
+ }
182
+ else if (options.pattern) {
183
+ results = searchByPattern(components, options.pattern);
184
+ }
185
+ else if (query) {
186
+ results = searchByName(components, query);
187
+ }
188
+ // Apply limit
189
+ const limit = parseInt(options.limit, 10);
190
+ results = results.slice(0, limit);
191
+ // Output
192
+ if (options.json) {
193
+ console.log(JSON.stringify({
194
+ query: query || null,
195
+ prop: options.prop || null,
196
+ pattern: options.pattern || null,
197
+ results: results.map(r => ({
198
+ name: r.component.name,
199
+ path: getComponentPath(r.component),
200
+ props: r.component.props?.map(p => ({
201
+ name: p.name,
202
+ type: p.type,
203
+ required: p.required,
204
+ })),
205
+ variants: r.component.variants?.map(v => v.name),
206
+ score: Math.round(r.score),
207
+ matchType: r.matchType,
208
+ })),
209
+ totalComponents: components.length,
210
+ }, null, 2));
211
+ return;
212
+ }
213
+ // Human-readable output
214
+ if (results.length === 0) {
215
+ newline();
216
+ info('No matching components found');
217
+ newline();
218
+ if (query) {
219
+ info(`Try a different search term or use --pattern for broader search`);
220
+ }
221
+ return;
222
+ }
223
+ newline();
224
+ header(`Found ${results.length} component${results.length === 1 ? '' : 's'}`);
225
+ newline();
226
+ for (const result of results) {
227
+ const { component, score, matchType } = result;
228
+ // Score indicator
229
+ const scoreLabel = matchType === 'exact'
230
+ ? chalk.green('exact')
231
+ : matchType === 'prop'
232
+ ? chalk.cyan('prop match')
233
+ : matchType === 'pattern'
234
+ ? chalk.yellow('pattern')
235
+ : chalk.dim(`${Math.round(score)}%`);
236
+ console.log(` ${chalk.bold(component.name)} ${scoreLabel}`);
237
+ keyValue(' Path', getComponentPath(component));
238
+ keyValue(' Props', formatProps(component));
239
+ // Show variants if present
240
+ const variants = component.variants || [];
241
+ if (variants.length > 0) {
242
+ const variantNames = variants.slice(0, 4).map(v => v.name).join(', ');
243
+ const more = variants.length > 4 ? ` +${variants.length - 4} more` : '';
244
+ keyValue(' Variants', variantNames + more);
245
+ }
246
+ newline();
247
+ }
248
+ // Summary
249
+ console.log(chalk.dim(`─`.repeat(40)));
250
+ info(`${components.length} total components in project`);
251
+ if (results.length === limit) {
252
+ info(`Showing first ${limit} results. Use --limit to see more.`);
253
+ }
254
+ }
255
+ catch (err) {
256
+ spin.stop();
257
+ const message = err instanceof Error ? err.message : String(err);
258
+ error(`Component query failed: ${message}`);
259
+ process.exit(1);
260
+ }
261
+ });
262
+ }
263
+ //# sourceMappingURL=components-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-query.js","sourceRoot":"","sources":["../../src/commands/components-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * buoy components - Component discovery and inspection
3
+ *
4
+ * Commands for finding and exploring components in the codebase.
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare function createComponentsCommand(): Command;
8
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/commands/components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,uBAAuB,IAAI,OAAO,CAOjD"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * buoy components - Component discovery and inspection
3
+ *
4
+ * Commands for finding and exploring components in the codebase.
5
+ */
6
+ import { Command } from 'commander';
7
+ import { createComponentsQueryCommand } from './components-query.js';
8
+ export function createComponentsCommand() {
9
+ const cmd = new Command('components')
10
+ .description('Discover and inspect components');
11
+ cmd.addCommand(createComponentsQueryCommand());
12
+ return cmd;
13
+ }
14
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/commands/components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;SAClC,WAAW,CAAC,iCAAiC,CAAC,CAAC;IAElD,GAAG,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAE/C,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,3 +1,16 @@
1
+ /**
2
+ * buoy dock - Dock Buoy into your project
3
+ *
4
+ * Smart walkthrough that sets up config, agents, and hooks.
5
+ *
6
+ * Usage:
7
+ * buoy dock # Smart walkthrough: config → agents → hooks
8
+ * buoy dock config # Just create buoy.config.mjs
9
+ * buoy dock agents # Set up AI agents (skills + context)
10
+ * buoy dock skills # Just create skill files
11
+ * buoy dock context # Just generate CLAUDE.md section
12
+ * buoy dock hooks # Just set up git hooks
13
+ */
1
14
  import { Command } from "commander";
2
15
  export declare function createDockCommand(): Command;
3
16
  //# sourceMappingURL=dock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dock.d.ts","sourceRoot":"","sources":["../../src/commands/dock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAivBpC,wBAAgB,iBAAiB,IAAI,OAAO,CAyT3C"}
1
+ {"version":3,"file":"dock.d.ts","sourceRoot":"","sources":["../../src/commands/dock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,wBAAgB,iBAAiB,IAAI,OAAO,CAgE3C"}