@buoy-design/cli 0.1.7 → 0.1.9

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 (43) hide show
  1. package/LICENSE +21 -0
  2. package/dist/commands/anchor.d.ts +3 -0
  3. package/dist/commands/anchor.d.ts.map +1 -0
  4. package/dist/commands/anchor.js +487 -0
  5. package/dist/commands/anchor.js.map +1 -0
  6. package/dist/commands/architect.d.ts +9 -0
  7. package/dist/commands/architect.d.ts.map +1 -0
  8. package/dist/commands/architect.js +183 -0
  9. package/dist/commands/architect.js.map +1 -0
  10. package/dist/commands/build.d.ts.map +1 -1
  11. package/dist/commands/build.js +250 -77
  12. package/dist/commands/build.js.map +1 -1
  13. package/dist/commands/import.d.ts +13 -0
  14. package/dist/commands/import.d.ts.map +1 -0
  15. package/dist/commands/import.js +324 -0
  16. package/dist/commands/import.js.map +1 -0
  17. package/dist/commands/index.d.ts +2 -1
  18. package/dist/commands/index.d.ts.map +1 -1
  19. package/dist/commands/index.js +2 -1
  20. package/dist/commands/index.js.map +1 -1
  21. package/dist/commands/init.d.ts.map +1 -1
  22. package/dist/commands/init.js +230 -6
  23. package/dist/commands/init.js.map +1 -1
  24. package/dist/detect/project-detector.d.ts +7 -0
  25. package/dist/detect/project-detector.d.ts.map +1 -1
  26. package/dist/detect/project-detector.js +130 -1
  27. package/dist/detect/project-detector.js.map +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/integrations/github.d.ts +53 -0
  32. package/dist/integrations/github.d.ts.map +1 -1
  33. package/dist/integrations/github.js +141 -0
  34. package/dist/integrations/github.js.map +1 -1
  35. package/dist/integrations/index.d.ts +2 -2
  36. package/dist/integrations/index.d.ts.map +1 -1
  37. package/dist/integrations/index.js +1 -1
  38. package/dist/integrations/index.js.map +1 -1
  39. package/dist/services/architect.d.ts +70 -0
  40. package/dist/services/architect.d.ts.map +1 -0
  41. package/dist/services/architect.js +409 -0
  42. package/dist/services/architect.js.map +1 -0
  43. package/package.json +13 -13
@@ -0,0 +1,183 @@
1
+ // apps/cli/src/commands/architect.ts
2
+ /**
3
+ * Buoy Architect Command
4
+ *
5
+ * Analyzes a codebase, diagnoses design system maturity,
6
+ * and creates a PR with suggested design tokens.
7
+ */
8
+ import { Command } from 'commander';
9
+ import chalk from 'chalk';
10
+ import { writeFile } from 'fs/promises';
11
+ import { spinner, success, error, info, warning, header, keyValue, newline, } from '../output/reporters.js';
12
+ import { DesignSystemArchitect } from '../services/architect.js';
13
+ import { GitHubArchitectClient, parseRepoString } from '../integrations/index.js';
14
+ export function createArchitectCommand() {
15
+ const cmd = new Command('architect')
16
+ .description('Diagnose design system maturity and create improvement PR')
17
+ .option('--no-ai', 'Skip AI analysis (use heuristics only)')
18
+ .option('--no-pr', 'Skip PR creation (just output diagnosis)')
19
+ .option('--json', 'Output as JSON')
20
+ .option('--github-token <token>', 'GitHub token for PR creation (or use GITHUB_TOKEN env)')
21
+ .option('--github-repo <repo>', 'GitHub repo in owner/repo format (or use GITHUB_REPOSITORY env)')
22
+ .option('--output <path>', 'Write generated tokens to file instead of creating PR')
23
+ .action(async (options) => {
24
+ const spin = spinner('Analyzing codebase...');
25
+ try {
26
+ const projectRoot = process.cwd();
27
+ // Initialize architect
28
+ const architect = new DesignSystemArchitect();
29
+ // Run analysis
30
+ const result = await architect.analyze({
31
+ projectRoot,
32
+ noAI: !options.ai,
33
+ onProgress: (msg) => {
34
+ spin.text = msg;
35
+ }
36
+ });
37
+ spin.stop();
38
+ const { diagnosis } = result;
39
+ // JSON output
40
+ if (options.json) {
41
+ console.log(JSON.stringify({
42
+ diagnosis,
43
+ generatedTokens: result.generatedTokensFile
44
+ }, null, 2));
45
+ return;
46
+ }
47
+ // Display diagnosis
48
+ header('Design System Diagnosis');
49
+ newline();
50
+ // Maturity score with visual
51
+ const scoreBar = createScoreBar(diagnosis.maturityScore);
52
+ console.log(`${chalk.bold('Maturity Score:')} ${scoreBar} ${diagnosis.maturityScore}/100`);
53
+ console.log(`${chalk.bold('Level:')} ${formatMaturityLevel(diagnosis.maturityLevel)}`);
54
+ newline();
55
+ // CSS Analysis
56
+ console.log(chalk.bold.underline('CSS Analysis'));
57
+ keyValue('Unique Colors', String(diagnosis.cssAnalysis.uniqueColors));
58
+ keyValue('Unique Spacing Values', String(diagnosis.cssAnalysis.uniqueSpacing));
59
+ keyValue('Unique Fonts', String(diagnosis.cssAnalysis.uniqueFonts));
60
+ keyValue('Tokenization', `${diagnosis.cssAnalysis.tokenizationScore}%`);
61
+ keyValue('Hardcoded Values', String(diagnosis.cssAnalysis.hardcodedValues));
62
+ newline();
63
+ // Team Analysis
64
+ console.log(chalk.bold.underline('Team Analysis'));
65
+ keyValue('Total Contributors', String(diagnosis.teamAnalysis.totalContributors));
66
+ keyValue('Active (90 days)', String(diagnosis.teamAnalysis.activeContributors));
67
+ keyValue('Styling Contributors', String(diagnosis.teamAnalysis.stylingContributors));
68
+ newline();
69
+ // Recommendations
70
+ if (diagnosis.recommendations.length > 0) {
71
+ console.log(chalk.bold.underline('Recommendations'));
72
+ for (const rec of diagnosis.recommendations) {
73
+ const priorityIcon = rec.priority === 'high' ? '🔴'
74
+ : rec.priority === 'medium' ? '🟡'
75
+ : '🔵';
76
+ console.log(` ${priorityIcon} ${chalk.bold(rec.title)}`);
77
+ console.log(` ${rec.description}`);
78
+ console.log(` Effort: ${rec.effort} | Impact: ${rec.impact}`);
79
+ newline();
80
+ }
81
+ }
82
+ // Suggested tokens preview
83
+ if (diagnosis.suggestedTokens.length > 0) {
84
+ console.log(chalk.bold.underline('Suggested Tokens (Preview)'));
85
+ const colorTokens = diagnosis.suggestedTokens.filter((t) => t.category === 'color').slice(0, 5);
86
+ const spacingTokens = diagnosis.suggestedTokens.filter((t) => t.category === 'spacing').slice(0, 5);
87
+ if (colorTokens.length > 0) {
88
+ console.log(' Colors:');
89
+ for (const token of colorTokens) {
90
+ console.log(` ${token.name}: ${token.value} (replaces ${token.usageCount} values)`);
91
+ }
92
+ }
93
+ if (spacingTokens.length > 0) {
94
+ console.log(' Spacing:');
95
+ for (const token of spacingTokens) {
96
+ console.log(` ${token.name}: ${token.value} (replaces ${token.usageCount} values)`);
97
+ }
98
+ }
99
+ newline();
100
+ }
101
+ // Output to file if requested
102
+ if (options.output) {
103
+ await writeFile(options.output, result.generatedTokensFile);
104
+ success(`Generated tokens written to ${options.output}`);
105
+ return;
106
+ }
107
+ // Create PR if requested
108
+ if (options.pr) {
109
+ const token = options.githubToken || process.env.GITHUB_TOKEN;
110
+ const repo = options.githubRepo || process.env.GITHUB_REPOSITORY;
111
+ if (!token || !repo) {
112
+ warning('GitHub token and repo required for PR creation.');
113
+ info('Run with --output <path> to save tokens locally instead.');
114
+ info('Or provide --github-token and --github-repo');
115
+ newline();
116
+ // Still output the tokens to stdout for piping
117
+ info('Generated design-tokens.css:');
118
+ console.log(chalk.gray('─'.repeat(50)));
119
+ console.log(result.generatedTokensFile);
120
+ console.log(chalk.gray('─'.repeat(50)));
121
+ return;
122
+ }
123
+ spin.start();
124
+ spin.text = 'Creating PR...';
125
+ try {
126
+ const { owner, repo: repoName } = parseRepoString(repo);
127
+ const client = new GitHubArchitectClient({
128
+ token,
129
+ owner,
130
+ repo: repoName
131
+ });
132
+ const pr = await client.createDesignTokensPR(result.generatedTokensFile, result.prDescription);
133
+ spin.stop();
134
+ success(`Created PR #${pr.number}`);
135
+ info(`View at: ${pr.url}`);
136
+ }
137
+ catch (err) {
138
+ spin.stop();
139
+ const msg = err instanceof Error ? err.message : String(err);
140
+ error(`Failed to create PR: ${msg}`);
141
+ // Fallback: output tokens
142
+ info('Generated tokens:');
143
+ console.log(result.generatedTokensFile);
144
+ }
145
+ }
146
+ else {
147
+ // Just output the tokens
148
+ info('Generated design-tokens.css:');
149
+ console.log(chalk.gray('─'.repeat(50)));
150
+ console.log(result.generatedTokensFile);
151
+ console.log(chalk.gray('─'.repeat(50)));
152
+ newline();
153
+ info('Run with GitHub token to create a PR automatically.');
154
+ }
155
+ }
156
+ catch (err) {
157
+ spin.stop();
158
+ const message = err instanceof Error ? err.message : String(err);
159
+ error(`Architect failed: ${message}`);
160
+ process.exit(1);
161
+ }
162
+ });
163
+ return cmd;
164
+ }
165
+ function createScoreBar(score) {
166
+ const filled = Math.round(score / 10);
167
+ const empty = 10 - filled;
168
+ const color = score >= 60 ? chalk.green
169
+ : score >= 40 ? chalk.yellow
170
+ : chalk.red;
171
+ return color('█'.repeat(filled)) + chalk.gray('░'.repeat(empty));
172
+ }
173
+ function formatMaturityLevel(level) {
174
+ const levels = {
175
+ 'none': chalk.red('None'),
176
+ 'emerging': chalk.yellow('Emerging'),
177
+ 'defined': chalk.blue('Defined'),
178
+ 'managed': chalk.cyan('Managed'),
179
+ 'optimized': chalk.green('Optimized')
180
+ };
181
+ return levels[level] || level;
182
+ }
183
+ //# sourceMappingURL=architect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/commands/architect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFpC,wBAAgB,kBAAkB,IAAI,OAAO,CAyH5C"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4FpC,wBAAgB,kBAAkB,IAAI,OAAO,CAuC5C"}
@@ -1,10 +1,13 @@
1
1
  import { Command } from 'commander';
2
2
  import { writeFileSync, existsSync, readFileSync, mkdirSync } from 'fs';
3
+ import { writeFile } from 'fs/promises';
3
4
  import { resolve, relative } from 'path';
4
5
  import { homedir } from 'os';
5
6
  import chalk from 'chalk';
6
- import { spinner, success, error, info, header, newline } from '../output/reporters.js';
7
+ import { spinner, success, error, info, warning, header, keyValue, newline } from '../output/reporters.js';
7
8
  import { ProjectDetector } from '../detect/project-detector.js';
9
+ import { DesignSystemArchitect } from '../services/architect.js';
10
+ import { GitHubArchitectClient, parseRepoString } from '../integrations/index.js';
8
11
  const STYLE_PRESETS = {
9
12
  minimal: {
10
13
  name: 'Minimal & Clean',
@@ -65,13 +68,19 @@ function getAnthropicApiKey() {
65
68
  }
66
69
  export function createBuildCommand() {
67
70
  const cmd = new Command('build')
68
- .description('Generate a design system with AI (requires Anthropic API key)')
69
- .option('--style <style>', 'Style preset: minimal, bold, soft, corporate')
71
+ .description('Build a design system from your codebase or from scratch')
72
+ .option('--fresh', 'Generate a fresh design system instead of extracting from code')
73
+ .option('--style <style>', 'Style preset for fresh build: minimal, bold, soft, corporate')
70
74
  .option('--primary-color <color>', 'Primary brand color (hex)')
71
75
  .option('--framework <framework>', 'Target framework: react, vue, svelte, vanilla')
72
- .option('--output <path>', 'Output directory', '.')
76
+ .option('--output <path>', 'Output directory or file path', '.')
73
77
  .option('--extend <file>', 'Extend existing token file')
74
78
  .option('--set-key <key>', 'Set your Anthropic API key')
79
+ .option('--no-ai', 'Skip AI analysis (use heuristics only)')
80
+ .option('--pr', 'Create a GitHub PR with the generated tokens')
81
+ .option('--github-token <token>', 'GitHub token for PR creation (or use GITHUB_TOKEN env)')
82
+ .option('--github-repo <repo>', 'GitHub repo in owner/repo format (or use GITHUB_REPOSITORY env)')
83
+ .option('--json', 'Output as JSON')
75
84
  .action(async (options) => {
76
85
  // Handle setting API key
77
86
  if (options.setKey) {
@@ -82,88 +91,252 @@ export function createBuildCommand() {
82
91
  info('You can now run: buoy build');
83
92
  return;
84
93
  }
85
- // Check for API key
86
- const apiKey = getAnthropicApiKey();
87
- if (!apiKey) {
88
- error('Anthropic API key not found');
89
- console.log('');
90
- info('Set your API key with one of these methods:');
91
- console.log('');
92
- console.log(chalk.cyan(' Option 1: ') + 'Environment variable');
93
- console.log(chalk.dim(' export ANTHROPIC_API_KEY=sk-ant-...'));
94
- console.log('');
95
- console.log(chalk.cyan(' Option 2: ') + 'Save to Buoy config');
96
- console.log(chalk.dim(' buoy build --set-key sk-ant-...'));
97
- console.log('');
98
- info('Get your API key at: https://console.anthropic.com/');
94
+ const cwd = process.cwd();
95
+ // Fresh mode: Generate new design system with AI
96
+ if (options.fresh) {
97
+ await buildFreshDesignSystem(cwd, options);
99
98
  return;
100
99
  }
101
- const spin = spinner('Analyzing project...');
102
- try {
103
- const cwd = process.cwd();
104
- // Detect project info
105
- const detector = new ProjectDetector(cwd);
106
- const projectInfo = await detector.detect();
107
- // Determine framework
108
- let framework = options.framework;
109
- if (!framework && projectInfo.frameworks.length > 0) {
110
- const f = projectInfo.frameworks[0];
111
- framework = f.name;
112
- spin.stop();
113
- info(`Detected framework: ${chalk.cyan(f.name)}`);
114
- spin.start();
100
+ // Default mode: Analyze codebase and extract tokens
101
+ await buildFromCodebase(cwd, options);
102
+ });
103
+ return cmd;
104
+ }
105
+ /**
106
+ * Build design system by analyzing codebase (default mode)
107
+ * Extracts tokens from hardcoded values found in code
108
+ */
109
+ async function buildFromCodebase(cwd, options) {
110
+ const spin = spinner('Analyzing codebase...');
111
+ try {
112
+ // Initialize architect
113
+ const architect = new DesignSystemArchitect();
114
+ // Run analysis
115
+ const result = await architect.analyze({
116
+ projectRoot: cwd,
117
+ noAI: !options.ai,
118
+ onProgress: (msg) => {
119
+ spin.text = msg;
115
120
  }
116
- framework = framework || 'vanilla';
117
- // Determine style
118
- const style = options.style || 'minimal';
119
- const preset = STYLE_PRESETS[style] || STYLE_PRESETS.minimal;
120
- spin.text = 'Generating design system with Claude...';
121
- // Call Claude API
122
- const designSystem = await generateDesignSystem(apiKey, {
123
- framework,
124
- style: preset,
125
- primaryColor: options.primaryColor,
126
- projectName: projectInfo.name,
127
- existingTokens: options.extend ? loadExistingTokens(options.extend) : undefined,
128
- });
129
- spin.stop();
130
- // Write output files
131
- const outputDir = resolve(cwd, options.output);
132
- header('Generated Design System');
133
- newline();
134
- // Write tokens.json
135
- const tokensPath = resolve(outputDir, 'tokens.json');
136
- writeFileSync(tokensPath, JSON.stringify(designSystem.tokens, null, 2));
137
- success(`Created ${relative(cwd, tokensPath)}`);
138
- // Write CSS variables
139
- const cssPath = resolve(outputDir, 'tokens.css');
140
- writeFileSync(cssPath, designSystem.css);
141
- success(`Created ${relative(cwd, cssPath)}`);
142
- // Write Tailwind config if applicable
143
- if (framework === 'react' || framework === 'nextjs' || framework === 'vue' || framework === 'svelte') {
144
- const tailwindPath = resolve(outputDir, 'tailwind.tokens.js');
145
- writeFileSync(tailwindPath, designSystem.tailwind);
146
- success(`Created ${relative(cwd, tailwindPath)}`);
121
+ });
122
+ spin.stop();
123
+ const { diagnosis } = result;
124
+ // JSON output
125
+ if (options.json) {
126
+ console.log(JSON.stringify({
127
+ diagnosis,
128
+ generatedTokens: result.generatedTokensFile
129
+ }, null, 2));
130
+ return;
131
+ }
132
+ // Display diagnosis
133
+ header('Design System Analysis');
134
+ newline();
135
+ // Maturity score with visual
136
+ const scoreBar = createScoreBar(diagnosis.maturityScore);
137
+ console.log(`${chalk.bold('Maturity Score:')} ${scoreBar} ${diagnosis.maturityScore}/100`);
138
+ console.log(`${chalk.bold('Level:')} ${formatMaturityLevel(diagnosis.maturityLevel)}`);
139
+ newline();
140
+ // CSS Analysis
141
+ console.log(chalk.bold.underline('What We Found'));
142
+ keyValue('Unique Colors', String(diagnosis.cssAnalysis.uniqueColors));
143
+ keyValue('Unique Spacing Values', String(diagnosis.cssAnalysis.uniqueSpacing));
144
+ keyValue('Unique Fonts', String(diagnosis.cssAnalysis.uniqueFonts));
145
+ keyValue('Tokenization', `${diagnosis.cssAnalysis.tokenizationScore}%`);
146
+ keyValue('Hardcoded Values', String(diagnosis.cssAnalysis.hardcodedValues));
147
+ newline();
148
+ // Recommendations
149
+ if (diagnosis.recommendations.length > 0) {
150
+ console.log(chalk.bold.underline('Recommendations'));
151
+ for (const rec of diagnosis.recommendations) {
152
+ const priorityIcon = rec.priority === 'high' ? chalk.red('!')
153
+ : rec.priority === 'medium' ? chalk.yellow('~')
154
+ : chalk.blue('-');
155
+ console.log(` ${priorityIcon} ${chalk.bold(rec.title)}`);
156
+ console.log(` ${rec.description}`);
157
+ newline();
158
+ }
159
+ }
160
+ // Suggested tokens preview
161
+ if (diagnosis.suggestedTokens.length > 0) {
162
+ console.log(chalk.bold.underline('Generated Tokens (Preview)'));
163
+ const colorTokens = diagnosis.suggestedTokens.filter((t) => t.category === 'color').slice(0, 5);
164
+ const spacingTokens = diagnosis.suggestedTokens.filter((t) => t.category === 'spacing').slice(0, 5);
165
+ if (colorTokens.length > 0) {
166
+ console.log(' Colors:');
167
+ for (const token of colorTokens) {
168
+ console.log(` ${chalk.cyan(token.name)}: ${token.value} ${chalk.dim(`(replaces ${token.usageCount} values)`)}`);
169
+ }
170
+ }
171
+ if (spacingTokens.length > 0) {
172
+ console.log(' Spacing:');
173
+ for (const token of spacingTokens) {
174
+ console.log(` ${chalk.cyan(token.name)}: ${token.value} ${chalk.dim(`(replaces ${token.usageCount} values)`)}`);
175
+ }
147
176
  }
148
177
  newline();
149
- info('Next steps:');
150
- info(' 1. Review the generated tokens');
151
- info(' 2. Import tokens.css in your app');
152
- info(' 3. Run ' + chalk.cyan('buoy status') + ' to check alignment');
178
+ }
179
+ // Output to file if requested
180
+ if (options.output && options.output !== '.') {
181
+ await writeFile(options.output, result.generatedTokensFile);
182
+ success(`Generated tokens written to ${options.output}`);
183
+ return;
184
+ }
185
+ // Create PR if requested
186
+ if (options.pr) {
187
+ const token = (options.githubToken || process.env.GITHUB_TOKEN);
188
+ const repo = (options.githubRepo || process.env.GITHUB_REPOSITORY);
189
+ if (!token || !repo) {
190
+ warning('GitHub token and repo required for PR creation.');
191
+ info('Provide --github-token and --github-repo, or set GITHUB_TOKEN and GITHUB_REPOSITORY env vars');
192
+ newline();
193
+ // Still output the tokens
194
+ info('Generated design-tokens.css:');
195
+ console.log(chalk.gray('─'.repeat(50)));
196
+ console.log(result.generatedTokensFile);
197
+ console.log(chalk.gray('─'.repeat(50)));
198
+ return;
199
+ }
200
+ spin.start();
201
+ spin.text = 'Creating PR...';
202
+ try {
203
+ const { owner, repo: repoName } = parseRepoString(repo);
204
+ const client = new GitHubArchitectClient({
205
+ token,
206
+ owner,
207
+ repo: repoName
208
+ });
209
+ const pr = await client.createDesignTokensPR(result.generatedTokensFile, result.prDescription);
210
+ spin.stop();
211
+ success(`Created PR #${pr.number}`);
212
+ info(`View at: ${pr.url}`);
213
+ }
214
+ catch (err) {
215
+ spin.stop();
216
+ const msg = err instanceof Error ? err.message : String(err);
217
+ error(`Failed to create PR: ${msg}`);
218
+ // Fallback: output tokens
219
+ info('Generated tokens:');
220
+ console.log(result.generatedTokensFile);
221
+ }
222
+ }
223
+ else {
224
+ // Just output the tokens
225
+ info('Generated design-tokens.css:');
226
+ console.log(chalk.gray('─'.repeat(50)));
227
+ console.log(result.generatedTokensFile);
228
+ console.log(chalk.gray('─'.repeat(50)));
153
229
  newline();
154
- console.log(chalk.dim('💡 Tip: Run buoy build again to regenerate with different options'));
230
+ info('Run with --pr to create a GitHub PR, or --output <path> to save to file');
155
231
  }
156
- catch (err) {
232
+ }
233
+ catch (err) {
234
+ spin.stop();
235
+ const message = err instanceof Error ? err.message : String(err);
236
+ error(`Build failed: ${message}`);
237
+ process.exit(1);
238
+ }
239
+ }
240
+ /**
241
+ * Build fresh design system with AI (--fresh mode)
242
+ * Generates new tokens from scratch based on style presets
243
+ */
244
+ async function buildFreshDesignSystem(cwd, options) {
245
+ // Check for API key
246
+ const apiKey = getAnthropicApiKey();
247
+ if (!apiKey) {
248
+ error('Anthropic API key required for --fresh mode');
249
+ console.log('');
250
+ info('Set your API key with one of these methods:');
251
+ console.log('');
252
+ console.log(chalk.cyan(' Option 1: ') + 'Environment variable');
253
+ console.log(chalk.dim(' export ANTHROPIC_API_KEY=sk-ant-...'));
254
+ console.log('');
255
+ console.log(chalk.cyan(' Option 2: ') + 'Save to Buoy config');
256
+ console.log(chalk.dim(' buoy build --set-key sk-ant-...'));
257
+ console.log('');
258
+ info('Get your API key at: https://console.anthropic.com/');
259
+ return;
260
+ }
261
+ const spin = spinner('Analyzing project...');
262
+ try {
263
+ // Detect project info
264
+ const detector = new ProjectDetector(cwd);
265
+ const projectInfo = await detector.detect();
266
+ // Determine framework
267
+ let framework = options.framework;
268
+ if (!framework && projectInfo.frameworks.length > 0) {
269
+ const f = projectInfo.frameworks[0];
270
+ framework = f.name;
157
271
  spin.stop();
158
- const message = err instanceof Error ? err.message : String(err);
159
- error(`Build failed: ${message}`);
160
- if (message.includes('401') || message.includes('authentication')) {
161
- info('Your API key may be invalid. Check it at https://console.anthropic.com/');
162
- }
163
- process.exit(1);
272
+ info(`Detected framework: ${chalk.cyan(f.name)}`);
273
+ spin.start();
164
274
  }
165
- });
166
- return cmd;
275
+ framework = framework || 'vanilla';
276
+ // Determine style
277
+ const style = options.style || 'minimal';
278
+ const preset = STYLE_PRESETS[style] || STYLE_PRESETS.minimal;
279
+ spin.text = 'Generating design system with Claude...';
280
+ // Call Claude API
281
+ const designSystem = await generateDesignSystem(apiKey, {
282
+ framework,
283
+ style: preset,
284
+ primaryColor: options.primaryColor,
285
+ projectName: projectInfo.name,
286
+ existingTokens: options.extend ? loadExistingTokens(options.extend) : undefined,
287
+ });
288
+ spin.stop();
289
+ // Write output files
290
+ const outputDir = resolve(cwd, options.output || '.');
291
+ header('Generated Design System');
292
+ newline();
293
+ // Write tokens.json
294
+ const tokensPath = resolve(outputDir, 'tokens.json');
295
+ writeFileSync(tokensPath, JSON.stringify(designSystem.tokens, null, 2));
296
+ success(`Created ${relative(cwd, tokensPath)}`);
297
+ // Write CSS variables
298
+ const cssPath = resolve(outputDir, 'tokens.css');
299
+ writeFileSync(cssPath, designSystem.css);
300
+ success(`Created ${relative(cwd, cssPath)}`);
301
+ // Write Tailwind config if applicable
302
+ if (framework === 'react' || framework === 'nextjs' || framework === 'vue' || framework === 'svelte') {
303
+ const tailwindPath = resolve(outputDir, 'tailwind.tokens.js');
304
+ writeFileSync(tailwindPath, designSystem.tailwind);
305
+ success(`Created ${relative(cwd, tailwindPath)}`);
306
+ }
307
+ newline();
308
+ info('Next steps:');
309
+ info(' 1. Review the generated tokens');
310
+ info(' 2. Import tokens.css in your app');
311
+ info(' 3. Run ' + chalk.cyan('buoy status') + ' to check alignment');
312
+ }
313
+ catch (err) {
314
+ spin.stop();
315
+ const message = err instanceof Error ? err.message : String(err);
316
+ error(`Build failed: ${message}`);
317
+ if (message.includes('401') || message.includes('authentication')) {
318
+ info('Your API key may be invalid. Check it at https://console.anthropic.com/');
319
+ }
320
+ process.exit(1);
321
+ }
322
+ }
323
+ function createScoreBar(score) {
324
+ const filled = Math.round(score / 10);
325
+ const empty = 10 - filled;
326
+ const color = score >= 60 ? chalk.green
327
+ : score >= 40 ? chalk.yellow
328
+ : chalk.red;
329
+ return color('█'.repeat(filled)) + chalk.gray('░'.repeat(empty));
330
+ }
331
+ function formatMaturityLevel(level) {
332
+ const levels = {
333
+ 'none': chalk.red('None'),
334
+ 'emerging': chalk.yellow('Emerging'),
335
+ 'defined': chalk.blue('Defined'),
336
+ 'managed': chalk.cyan('Managed'),
337
+ 'optimized': chalk.green('Optimized')
338
+ };
339
+ return levels[level] || level;
167
340
  }
168
341
  function loadExistingTokens(filePath) {
169
342
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Buoy Import Command
3
+ *
4
+ * Import design tokens from various sources:
5
+ * - TokenForge exports
6
+ * - Tokens Studio (Figma Tokens)
7
+ * - Style Dictionary
8
+ * - W3C Design Tokens (DTCG)
9
+ * - CSS files with variables
10
+ */
11
+ import { Command } from 'commander';
12
+ export declare function createImportCommand(): Command;
13
+ //# sourceMappingURL=import.d.ts.map