@buoy-design/cli 0.2.0 → 0.2.2

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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -15
  3. package/dist/bin.js +0 -0
  4. package/dist/commands/begin.js +40 -43
  5. package/dist/commands/begin.js.map +1 -1
  6. package/dist/commands/billing.js +4 -4
  7. package/dist/commands/billing.js.map +1 -1
  8. package/dist/commands/check.d.ts.map +1 -1
  9. package/dist/commands/check.js +16 -7
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/components-query.js +1 -1
  12. package/dist/commands/components-query.js.map +1 -1
  13. package/dist/commands/context.js +1 -1
  14. package/dist/commands/context.js.map +1 -1
  15. package/dist/commands/dock.d.ts.map +1 -1
  16. package/dist/commands/dock.js +163 -59
  17. package/dist/commands/dock.js.map +1 -1
  18. package/dist/commands/fix.d.ts +1 -1
  19. package/dist/commands/fix.d.ts.map +1 -1
  20. package/dist/commands/fix.js +76 -72
  21. package/dist/commands/fix.js.map +1 -1
  22. package/dist/commands/github.js +2 -2
  23. package/dist/commands/github.js.map +1 -1
  24. package/dist/commands/index.d.ts +5 -0
  25. package/dist/commands/index.d.ts.map +1 -1
  26. package/dist/commands/index.js +5 -0
  27. package/dist/commands/index.js.map +1 -1
  28. package/dist/commands/link.js +4 -4
  29. package/dist/commands/link.js.map +1 -1
  30. package/dist/commands/login.js +1 -1
  31. package/dist/commands/login.js.map +1 -1
  32. package/dist/commands/scan.d.ts.map +1 -1
  33. package/dist/commands/scan.js +3 -4
  34. package/dist/commands/scan.js.map +1 -1
  35. package/dist/commands/ship.js +3 -3
  36. package/dist/commands/ship.js.map +1 -1
  37. package/dist/commands/show.d.ts.map +1 -1
  38. package/dist/commands/show.js +61 -13
  39. package/dist/commands/show.js.map +1 -1
  40. package/dist/commands/sync.js +1 -1
  41. package/dist/commands/sync.js.map +1 -1
  42. package/dist/commands/tokens-lookup.js +1 -1
  43. package/dist/commands/tokens-lookup.js.map +1 -1
  44. package/dist/commands/tokens.d.ts.map +1 -1
  45. package/dist/commands/tokens.js +46 -3
  46. package/dist/commands/tokens.js.map +1 -1
  47. package/dist/commands/whoami.js +1 -1
  48. package/dist/commands/whoami.js.map +1 -1
  49. package/dist/hooks/index.js +1 -1
  50. package/dist/hooks/index.js.map +1 -1
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +14 -8
  53. package/dist/index.js.map +1 -1
  54. package/dist/insights/project-insights.js +1 -1
  55. package/dist/insights/project-insights.js.map +1 -1
  56. package/dist/output/reporters.d.ts +1 -1
  57. package/dist/output/reporters.d.ts.map +1 -1
  58. package/dist/output/reporters.js +42 -35
  59. package/dist/output/reporters.js.map +1 -1
  60. package/dist/services/ai-tools-detector.js +6 -6
  61. package/dist/services/ai-tools-detector.js.map +1 -1
  62. package/dist/services/drift-analysis.d.ts +4 -0
  63. package/dist/services/drift-analysis.d.ts.map +1 -1
  64. package/dist/services/drift-analysis.js +19 -3
  65. package/dist/services/drift-analysis.js.map +1 -1
  66. package/dist/wizard/ci-generator.d.ts +2 -4
  67. package/dist/wizard/ci-generator.d.ts.map +1 -1
  68. package/dist/wizard/ci-generator.js +14 -104
  69. package/dist/wizard/ci-generator.js.map +1 -1
  70. package/package.json +15 -15
  71. package/dist/commands/anchor.d.ts +0 -3
  72. package/dist/commands/anchor.d.ts.map +0 -1
  73. package/dist/commands/anchor.js +0 -487
  74. package/dist/commands/anchor.js.map +0 -1
  75. package/dist/commands/bot.d.ts +0 -9
  76. package/dist/commands/bot.d.ts.map +0 -1
  77. package/dist/commands/bot.js +0 -258
  78. package/dist/commands/bot.js.map +0 -1
  79. package/dist/commands/ci.d.ts +0 -24
  80. package/dist/commands/ci.d.ts.map +0 -1
  81. package/dist/commands/ci.js +0 -474
  82. package/dist/commands/ci.js.map +0 -1
  83. package/dist/commands/cloud.d.ts +0 -15
  84. package/dist/commands/cloud.d.ts.map +0 -1
  85. package/dist/commands/cloud.js +0 -36
  86. package/dist/commands/cloud.js.map +0 -1
  87. package/dist/commands/explain.d.ts.map +0 -1
  88. package/dist/commands/onboard.d.ts +0 -9
  89. package/dist/commands/onboard.d.ts.map +0 -1
  90. package/dist/commands/onboard.js +0 -314
  91. package/dist/commands/onboard.js.map +0 -1
@@ -1,129 +1,39 @@
1
1
  /**
2
2
  * CI configuration generator for the wizard.
3
3
  */
4
- import { existsSync, mkdirSync, writeFileSync } from 'fs';
5
- import { join } from 'path';
6
4
  import chalk from 'chalk';
7
- import { showMenu, sectionHeader, success, info, bulletList } from './menu.js';
8
- const GITHUB_WORKFLOW = `name: Design System Check
9
- on: [pull_request]
10
-
11
- jobs:
12
- buoy:
13
- runs-on: ubuntu-latest
14
- steps:
15
- - uses: actions/checkout@v4
16
- with:
17
- fetch-depth: 0
18
-
19
- - name: Setup Node
20
- uses: actions/setup-node@v4
21
- with:
22
- node-version: '20'
23
-
24
- - name: Run Buoy
25
- run: npx @buoy-design/cli ci
26
- env:
27
- GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
28
- `;
29
- const GITLAB_CI = `buoy:
30
- image: node:20
31
- script:
32
- - npx @buoy-design/cli ci
33
- rules:
34
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
35
- `;
5
+ import { sectionHeader, info, bulletList } from './menu.js';
36
6
  /**
37
7
  * Run the CI setup wizard.
38
8
  */
39
- export async function setupCI(cwd) {
9
+ export async function setupCI(_cwd) {
40
10
  sectionHeader('Set up CI Integration');
41
- info('Buoy can comment on PRs when drift is introduced.');
11
+ info('Buoy Cloud provides a PR bot that comments on design drift.');
42
12
  console.log('');
43
- const provider = await showMenu('Which CI provider?', [
44
- { label: 'GitHub Actions', value: 'github' },
45
- { label: 'GitLab CI', value: 'gitlab' },
46
- { label: 'Other / Manual setup', value: 'manual' },
47
- ]);
48
- switch (provider) {
49
- case 'github':
50
- return setupGitHub(cwd);
51
- case 'gitlab':
52
- return setupGitLab(cwd);
53
- case 'manual':
54
- return showManualInstructions();
55
- }
56
- }
57
- /**
58
- * Set up GitHub Actions workflow.
59
- */
60
- async function setupGitHub(cwd) {
61
- const workflowDir = join(cwd, '.github', 'workflows');
62
- const workflowPath = join(workflowDir, 'buoy.yml');
63
- // Check if file already exists
64
- if (existsSync(workflowPath)) {
65
- info('GitHub workflow already exists at .github/workflows/buoy.yml');
66
- return { provider: 'github', filePath: workflowPath, created: false };
67
- }
68
- // Create directory if needed
69
- if (!existsSync(workflowDir)) {
70
- mkdirSync(workflowDir, { recursive: true });
71
- }
72
- // Write workflow file
73
- writeFileSync(workflowPath, GITHUB_WORKFLOW);
13
+ console.log(chalk.cyan.bold(' Recommended: Buoy Cloud PR Bot'));
74
14
  console.log('');
75
- success('Created .github/workflows/buoy.yml');
76
- console.log('');
77
- info('This workflow will:');
78
15
  bulletList([
79
- 'Run on pull requests',
80
- 'Comment with drift summary',
81
- 'Fail on critical issues (configurable)',
16
+ 'Automatic PR comments with drift summary',
17
+ 'No workflow files needed',
18
+ 'Works with GitHub and GitLab',
82
19
  ]);
83
20
  console.log('');
84
- info(`${chalk.bold('Next:')} Push this file and Buoy will run on your next PR.`);
85
- return { provider: 'github', filePath: workflowPath, created: true };
86
- }
87
- /**
88
- * Set up GitLab CI configuration.
89
- */
90
- async function setupGitLab(cwd) {
91
- const ciPath = join(cwd, '.gitlab-ci.yml');
92
- // Check if file already exists
93
- if (existsSync(ciPath)) {
94
- info('GitLab CI config already exists. Add the buoy job manually:');
95
- console.log('');
96
- console.log(chalk.dim(GITLAB_CI));
97
- return { provider: 'gitlab', created: false };
98
- }
99
- // Write CI file
100
- writeFileSync(ciPath, GITLAB_CI);
101
- console.log('');
102
- success('Created .gitlab-ci.yml');
21
+ console.log(` Run: ${chalk.cyan('buoy ship github')} to set up the GitHub bot`);
22
+ console.log(` Run: ${chalk.cyan('buoy ship gitlab')} to set up the GitLab bot`);
103
23
  console.log('');
104
- info('This job will:');
105
- bulletList([
106
- 'Run on merge requests',
107
- 'Report drift in the pipeline',
108
- ]);
24
+ console.log(chalk.dim(''.repeat(40)));
109
25
  console.log('');
110
- info(`${chalk.bold('Next:')} Push this file to enable Buoy in your pipeline.`);
111
- return { provider: 'gitlab', filePath: ciPath, created: true };
112
- }
113
- /**
114
- * Show manual CI setup instructions.
115
- */
116
- async function showManualInstructions() {
26
+ console.log(chalk.bold(' Alternative: Local CI Check'));
117
27
  console.log('');
118
- info('Add this to your CI pipeline:');
28
+ info('Add this to your CI pipeline for basic drift checking:');
119
29
  console.log('');
120
- console.log(chalk.cyan(' npx @buoy-design/cli ci'));
30
+ console.log(chalk.cyan(' npx @buoy-design/cli check'));
121
31
  console.log('');
122
32
  info('Options:');
123
33
  bulletList([
124
34
  `${chalk.dim('--fail-on critical')} Exit 1 on critical issues`,
125
35
  `${chalk.dim('--fail-on warning')} Exit 1 on warnings too`,
126
36
  ]);
127
- return { provider: 'manual', created: false };
37
+ return { provider: 'cloud', created: false };
128
38
  }
129
39
  //# sourceMappingURL=ci-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ci-generator.js","sourceRoot":"","sources":["../../src/wizard/ci-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-generator.js","sourceRoot":"","sources":["../../src/wizard/ci-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAO5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACxC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAEvC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,UAAU,CAAC;QACT,0CAA0C;QAC1C,0BAA0B;QAC1B,8BAA8B;KAC/B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC,UAAU,CAAC,CAAC;IACjB,UAAU,CAAC;QACT,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,8BAA8B;QAChE,GAAG,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,4BAA4B;KAC9D,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-design/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Buoy CLI - Design drift detection for the AI era",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,20 +31,8 @@
31
31
  },
32
32
  "main": "./dist/index.js",
33
33
  "types": "./dist/index.d.ts",
34
- "scripts": {
35
- "build": "tsc",
36
- "dev": "tsc --watch",
37
- "typecheck": "tsc --noEmit",
38
- "clean": "rm -rf dist",
39
- "start": "node ./dist/bin/buoy.js",
40
- "test": "vitest run",
41
- "test:watch": "vitest"
42
- },
43
34
  "dependencies": {
44
35
  "@anthropic-ai/sdk": "^0.71.2",
45
- "@buoy-design/core": "workspace:*",
46
- "@buoy-design/db": "workspace:*",
47
- "@buoy-design/scanners": "workspace:*",
48
36
  "@inquirer/prompts": "^8.1.0",
49
37
  "@octokit/rest": "^21.0.0",
50
38
  "chalk": "^5.3.0",
@@ -56,10 +44,22 @@
56
44
  "ora": "^8.1.1",
57
45
  "yaml": "^2.7.0",
58
46
  "zod": "^3.24.1",
59
- "zod-validation-error": "^5.0.0"
47
+ "zod-validation-error": "^5.0.0",
48
+ "@buoy-design/core": "0.1.7",
49
+ "@buoy-design/scanners": "0.1.6",
50
+ "@buoy-design/db": "0.1.3"
60
51
  },
61
52
  "devDependencies": {
62
53
  "@types/node": "^22.10.2",
63
54
  "typescript": "^5.7.2"
55
+ },
56
+ "scripts": {
57
+ "build": "tsc",
58
+ "dev": "tsc --watch",
59
+ "typecheck": "tsc --noEmit",
60
+ "clean": "rm -rf dist",
61
+ "start": "node ./dist/bin.js",
62
+ "test": "vitest run",
63
+ "test:watch": "vitest"
64
64
  }
65
- }
65
+ }
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function createAnchorCommand(): Command;
3
- //# sourceMappingURL=anchor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/commands/anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4FpC,wBAAgB,mBAAmB,IAAI,OAAO,CAuC7C"}