@buoy-design/cli 0.4.1 → 0.5.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 (47) hide show
  1. package/README.md +37 -21
  2. package/dist/cloud/config.d.ts +5 -0
  3. package/dist/cloud/config.d.ts.map +1 -1
  4. package/dist/cloud/config.js.map +1 -1
  5. package/dist/commands/ignore.d.ts +7 -3
  6. package/dist/commands/ignore.d.ts.map +1 -1
  7. package/dist/commands/ignore.js +81 -78
  8. package/dist/commands/ignore.js.map +1 -1
  9. package/dist/commands/index.d.ts +1 -0
  10. package/dist/commands/index.d.ts.map +1 -1
  11. package/dist/commands/index.js +1 -0
  12. package/dist/commands/index.js.map +1 -1
  13. package/dist/commands/login.d.ts.map +1 -1
  14. package/dist/commands/login.js +108 -33
  15. package/dist/commands/login.js.map +1 -1
  16. package/dist/commands/rescue.d.ts +3 -0
  17. package/dist/commands/rescue.d.ts.map +1 -0
  18. package/dist/commands/rescue.js +147 -0
  19. package/dist/commands/rescue.js.map +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +5 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/rescue/report.d.ts +9 -0
  24. package/dist/rescue/report.d.ts.map +1 -0
  25. package/dist/rescue/report.js +107 -0
  26. package/dist/rescue/report.js.map +1 -0
  27. package/dist/rescue/store.d.ts +9 -0
  28. package/dist/rescue/store.d.ts.map +1 -0
  29. package/dist/rescue/store.js +50 -0
  30. package/dist/rescue/store.js.map +1 -0
  31. package/dist/rescue/types.d.ts +76 -0
  32. package/dist/rescue/types.d.ts.map +1 -0
  33. package/dist/rescue/types.js +2 -0
  34. package/dist/rescue/types.js.map +1 -0
  35. package/dist/rescue/workflow.d.ts +37 -0
  36. package/dist/rescue/workflow.d.ts.map +1 -0
  37. package/dist/rescue/workflow.js +355 -0
  38. package/dist/rescue/workflow.js.map +1 -0
  39. package/dist/services/drift-analysis.d.ts +3 -1
  40. package/dist/services/drift-analysis.d.ts.map +1 -1
  41. package/dist/services/drift-analysis.js +179 -98
  42. package/dist/services/drift-analysis.js.map +1 -1
  43. package/dist/utils/upgrade-hints.d.ts +13 -2
  44. package/dist/utils/upgrade-hints.d.ts.map +1 -1
  45. package/dist/utils/upgrade-hints.js +43 -5
  46. package/dist/utils/upgrade-hints.js.map +1 -1
  47. package/package.json +3 -3
package/README.md CHANGED
@@ -5,10 +5,10 @@ Catch design drift before it ships. Buoy scans your codebase to find where AI-ge
5
5
  ## Quick Start
6
6
 
7
7
  ```bash
8
- npx ahoybuoy begin
8
+ npx ahoybuoy show all
9
9
  ```
10
10
 
11
- This scans your project and walks you through setup.
11
+ This scans your project without requiring configuration.
12
12
 
13
13
  ## What It Finds
14
14
 
@@ -18,34 +18,50 @@ This scans your project and walks you through setup.
18
18
 
19
19
  ## Commands
20
20
 
21
- | Command | Purpose |
22
- |---------|---------|
23
- | `buoy begin` | Interactive setup wizard |
24
- | `buoy show all` | Scan for components, tokens, and drift |
25
- | `buoy check` | Pre-commit drift validation |
26
- | `buoy fix` | Auto-fix drift issues |
27
- | `buoy dock` | Configure project (agents, hooks, etc.) |
28
- | `buoy ahoy` | Cloud features (login, GitHub bot, billing) |
21
+ | Command | Purpose |
22
+ | ------------------ | --------------------------------------------- |
23
+ | `buoy show all` | Scan for components, tokens, and drift |
24
+ | `buoy drift check` | Pre-commit drift validation |
25
+ | `buoy drift fix` | Preview or apply drift fixes |
26
+ | `buoy rescue` | Measure, repair, guard, and prove improvement |
27
+ | `buoy dock` | Configure project (agents, hooks, etc.) |
28
+ | `buoy ahoy` | Cloud features (login, GitHub bot, billing) |
29
29
 
30
30
  ## Fix Command
31
31
 
32
- The `buoy fix` command suggests and applies fixes for design drift:
32
+ The `buoy drift fix` command suggests and applies fixes for design drift:
33
33
 
34
34
  ```bash
35
- buoy fix # Preview fixable issues
36
- buoy fix --dry-run # Show detailed diffs
37
- buoy fix --apply # Apply high-confidence fixes
38
- buoy fix --confidence=exact # Only exact matches (safest)
35
+ buoy drift fix # Preview fixable issues
36
+ buoy drift fix --dry-run # Show detailed diffs
37
+ buoy drift fix --apply # Apply high-confidence fixes
38
+ buoy drift fix --confidence=high # Require high-confidence matches
39
39
  ```
40
40
 
41
+ ## Rescue workflow
42
+
43
+ For an existing codebase, Rescue turns the commands into one reviewable journey:
44
+
45
+ ```bash
46
+ buoy rescue plan
47
+ # Review .buoy/rescue/runs/<run-id>/report.html
48
+ buoy rescue apply --run <run-id> --approve
49
+ buoy rescue guard --run <run-id> --reason "Reviewed legacy baseline"
50
+ buoy rescue report --run <run-id>
51
+ ```
52
+
53
+ Apply requires a clean Git worktree and creates a new `buoy/<run-id>` branch.
54
+ Buoy never commits, pushes, merges, or uploads source code. Ambiguous changes stay
55
+ review-required, and `buoy rescue rollback` restores local backups.
56
+
41
57
  ### Confidence Levels
42
58
 
43
- | Level | Score | Description |
44
- |-------|-------|-------------|
45
- | **exact** | 100% | Value exactly matches a design token |
46
- | **high** | 95-99% | Very close match, safe to auto-apply |
47
- | **medium** | 70-94% | Close match, review recommended |
48
- | **low** | <70% | Ambiguous, manual review required |
59
+ | Level | Score | Description |
60
+ | ---------- | ------ | ------------------------------------ |
61
+ | **exact** | 100% | Value exactly matches a design token |
62
+ | **high** | 95-99% | Very close match, safe to auto-apply |
63
+ | **medium** | 70-94% | Close match, review recommended |
64
+ | **low** | <70% | Ambiguous, manual review required |
49
65
 
50
66
  ## AI Integration
51
67
 
@@ -10,6 +10,11 @@ export interface CloudConfig {
10
10
  accountId?: string;
11
11
  accountName?: string;
12
12
  email?: string;
13
+ /** Upgrade-hint state: last time a hint was shown, and whether the user turned them off. */
14
+ hints?: {
15
+ lastShownAt?: string;
16
+ disabled?: boolean;
17
+ };
13
18
  }
14
19
  /**
15
20
  * Read cloud config from disk
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cloud/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAU7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAK1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAK5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,SAAS,CAGhD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CASP;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cloud/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAWD;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAU7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAK1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAK5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,SAAS,CAGhD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CASP;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cloud/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cloud/config.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,14 @@ export interface IgnoreEntry {
6
6
  createdBy?: string;
7
7
  }
8
8
  export interface IgnoreList {
9
- version: 1;
9
+ version: 1 | 2;
10
10
  createdAt: string;
11
11
  updatedAt: string;
12
12
  reason: string;
13
13
  driftIds: string[];
14
- /** Per-drift reasons (drift ID -> entry) */
14
+ /** Stable fingerprints survive harmless line-number and generated-ID changes. */
15
+ fingerprints?: string[];
16
+ /** Per-drift reasons (fingerprint for v2, drift ID for v1 -> entry) */
15
17
  entries?: Record<string, IgnoreEntry>;
16
18
  summary: {
17
19
  critical: number;
@@ -35,7 +37,8 @@ export declare function saveIgnoreList(ignoreList: IgnoreList, projectRoot?: str
35
37
  /**
36
38
  * Create ignore list from current drift signals
37
39
  */
38
- export declare function createIgnoreList(drifts: DriftSignal[], reason: string): IgnoreList;
40
+ export declare function fingerprintDrift(drift: DriftSignal): string;
41
+ export declare function createIgnoreList(drifts: DriftSignal[], reason: string, createdBy?: string): IgnoreList;
39
42
  /**
40
43
  * Filter out ignored drifts from results
41
44
  */
@@ -43,5 +46,6 @@ export declare function filterIgnored(drifts: DriftSignal[], ignoreList: IgnoreL
43
46
  newDrifts: DriftSignal[];
44
47
  ignoredCount: number;
45
48
  };
49
+ export declare function preserveIgnoreEntries(next: IgnoreList, existing: IgnoreList, currentDrifts: DriftSignal[]): void;
46
50
  export declare function createIgnoreCommand(): Command;
47
51
  //# sourceMappingURL=ignore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAc5B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CA0BlF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,UAAU,EAAE,UAAU,GAAG,IAAI,GAC5B;IACD,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAUA;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAoT7C"}
1
+ {"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAc5B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAwB3D;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,CA6BZ;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,UAAU,EAAE,UAAU,GAAG,IAAI,GAC5B;IACD,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAaA;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,WAAW,EAAE,GAC3B,IAAI,CAWN;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAkQ7C"}
@@ -2,7 +2,9 @@ import { Command } from "commander";
2
2
  import { readFile, writeFile, mkdir } from "fs/promises";
3
3
  import { existsSync } from "fs";
4
4
  import { join, dirname } from "path";
5
+ import { createHash } from "node:crypto";
5
6
  import { loadConfig } from "../config/loader.js";
7
+ import { DriftAnalysisService } from "../services/drift-analysis.js";
6
8
  import { spinner, success, error, info, warning, header, keyValue, newline, setJsonMode, } from "../output/reporters.js";
7
9
  import { formatJson } from "../output/formatters.js";
8
10
  const IGNORE_DIR = ".buoy";
@@ -45,22 +47,49 @@ export async function saveIgnoreList(ignoreList, projectRoot = process.cwd()) {
45
47
  /**
46
48
  * Create ignore list from current drift signals
47
49
  */
48
- export function createIgnoreList(drifts, reason) {
50
+ export function fingerprintDrift(drift) {
51
+ const location = (drift.source.location || "")
52
+ .replace(/:\d+(?::\d+)?$/, "")
53
+ .replaceAll("\\", "/");
54
+ const details = drift.details || {};
55
+ const suggestions = Array.isArray(details.suggestions)
56
+ ? [...details.suggestions].map(String).sort()
57
+ : [];
58
+ const identity = JSON.stringify({
59
+ type: drift.type,
60
+ file: location,
61
+ entityType: drift.source.entityType,
62
+ entityName: drift.source.entityName,
63
+ actual: details.actual ?? null,
64
+ expected: details.expected ?? null,
65
+ suggestions,
66
+ message: details.actual == null &&
67
+ details.expected == null &&
68
+ suggestions.length === 0
69
+ ? drift.message.replace(/\s+/g, " ").trim()
70
+ : null,
71
+ });
72
+ return createHash("sha256").update(identity).digest("hex").slice(0, 24);
73
+ }
74
+ export function createIgnoreList(drifts, reason, createdBy) {
49
75
  const now = new Date().toISOString();
76
+ const fingerprints = drifts.map(fingerprintDrift);
50
77
  // Create per-drift entries with the reason
51
78
  const entries = {};
52
- for (const drift of drifts) {
53
- entries[drift.id] = {
79
+ for (const fingerprint of fingerprints) {
80
+ entries[fingerprint] = {
54
81
  reason,
55
82
  createdAt: now,
83
+ createdBy,
56
84
  };
57
85
  }
58
86
  return {
59
- version: 1,
87
+ version: 2,
60
88
  createdAt: now,
61
89
  updatedAt: now,
62
90
  reason,
63
91
  driftIds: drifts.map((d) => d.id),
92
+ fingerprints,
64
93
  entries,
65
94
  summary: {
66
95
  critical: drifts.filter((d) => d.severity === "critical").length,
@@ -77,11 +106,22 @@ export function filterIgnored(drifts, ignoreList) {
77
106
  if (!ignoreList) {
78
107
  return { newDrifts: drifts, ignoredCount: 0 };
79
108
  }
80
- const ignoreSet = new Set(ignoreList.driftIds);
81
- const newDrifts = drifts.filter((d) => !ignoreSet.has(d.id));
109
+ const ignoreSet = new Set(ignoreList.driftIds || []);
110
+ const fingerprintSet = new Set(ignoreList.fingerprints || []);
111
+ const newDrifts = drifts.filter((d) => !ignoreSet.has(d.id) && !fingerprintSet.has(fingerprintDrift(d)));
82
112
  const ignoredCount = drifts.length - newDrifts.length;
83
113
  return { newDrifts, ignoredCount };
84
114
  }
115
+ export function preserveIgnoreEntries(next, existing, currentDrifts) {
116
+ if (!next.entries || !existing.entries)
117
+ return;
118
+ const fingerprintById = new Map(currentDrifts.map((drift) => [drift.id, fingerprintDrift(drift)]));
119
+ for (const [key, entry] of Object.entries(existing.entries)) {
120
+ const migratedKey = existing.version === 1 ? fingerprintById.get(key) || key : key;
121
+ if (next.entries[migratedKey])
122
+ next.entries[migratedKey] = entry;
123
+ }
124
+ }
85
125
  export function createIgnoreCommand() {
86
126
  const cmd = new Command("ignore").description("Manage ignored drift signals for existing projects");
87
127
  // ignore all
@@ -90,6 +130,7 @@ export function createIgnoreCommand() {
90
130
  .description("Ignore all current drift signals (hides existing issues)")
91
131
  .option("--json", "Output as JSON")
92
132
  .option("-f, --force", "Overwrite existing ignore list without prompting")
133
+ .option("--actor <name>", "Person or team accepting the baseline")
93
134
  .requiredOption("-r, --reason <reason>", "Reason for ignoring these drift signals (required)")
94
135
  .action(async (options) => {
95
136
  if (options.json) {
@@ -97,9 +138,10 @@ export function createIgnoreCommand() {
97
138
  }
98
139
  const spin = spinner("Loading configuration...");
99
140
  try {
100
- const { config } = await loadConfig();
141
+ const { config, configPath } = await loadConfig();
142
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
101
143
  // Check for existing ignore list
102
- const existing = await loadIgnoreList();
144
+ const existing = await loadIgnoreList(projectRoot);
103
145
  if (existing && !options.force) {
104
146
  spin.stop();
105
147
  warning(`Ignore list already exists with ${existing.summary.total} drifts.`);
@@ -107,34 +149,17 @@ export function createIgnoreCommand() {
107
149
  return;
108
150
  }
109
151
  spin.text = "Scanning for current drift...";
110
- // Import required modules
111
- const { ReactComponentScanner } = await import("@buoy-design/scanners/git");
112
- const { SemanticDiffEngine } = await import("@buoy-design/core/analysis");
113
- // Scan components
114
- const components = [];
115
- if (config.sources.react?.enabled) {
116
- spin.text = "Scanning React components...";
117
- const scanner = new ReactComponentScanner({
118
- projectRoot: process.cwd(),
119
- include: config.sources.react.include,
120
- exclude: config.sources.react.exclude,
121
- designSystemPackage: config.sources.react.designSystemPackage,
122
- });
123
- const result = await scanner.scan();
124
- components.push(...result.items);
125
- }
126
- spin.text = "Analyzing drift...";
127
- // Run analysis
128
- const engine = new SemanticDiffEngine();
129
- const diffResult = engine.analyzeComponents(components, {
130
- checkDeprecated: true,
131
- checkNaming: true,
132
- checkDocumentation: true,
152
+ const service = new DriftAnalysisService(config, projectRoot);
153
+ const result = await service.analyze({
154
+ includeIgnored: true,
155
+ onProgress: (message) => {
156
+ spin.text = message;
157
+ },
133
158
  });
134
- const drifts = diffResult.drifts;
159
+ const drifts = result.drifts;
135
160
  // Create and save ignore list
136
- const ignoreList = createIgnoreList(drifts, options.reason);
137
- await saveIgnoreList(ignoreList);
161
+ const ignoreList = createIgnoreList(drifts, options.reason, options.actor);
162
+ await saveIgnoreList(ignoreList, projectRoot);
138
163
  spin.stop();
139
164
  if (options.json) {
140
165
  console.log(formatJson({
@@ -151,7 +176,7 @@ export function createIgnoreCommand() {
151
176
  keyValue("Warning", String(ignoreList.summary.warning));
152
177
  keyValue("Info", String(ignoreList.summary.info));
153
178
  newline();
154
- success(`Ignore list saved to ${IGNORE_DIR}/${IGNORE_FILE}`);
179
+ success(`Ignore list saved to ${getIgnorePath(projectRoot)}`);
155
180
  info("Future drift checks will only show NEW issues not in this ignore list.");
156
181
  info("Tip: Add .buoy/ to .gitignore or commit it to share with your team.");
157
182
  }
@@ -172,7 +197,9 @@ export function createIgnoreCommand() {
172
197
  setJsonMode(true);
173
198
  }
174
199
  try {
175
- const ignoreList = await loadIgnoreList();
200
+ const { configPath } = await loadConfig();
201
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
202
+ const ignoreList = await loadIgnoreList(projectRoot);
176
203
  if (options.json) {
177
204
  console.log(formatJson({ ignoreList }));
178
205
  return;
@@ -194,7 +221,7 @@ export function createIgnoreCommand() {
194
221
  keyValue("Warning", String(ignoreList.summary.warning));
195
222
  keyValue("Info", String(ignoreList.summary.info));
196
223
  newline();
197
- info(`Ignore file: ${getIgnorePath()}`);
224
+ info(`Ignore file: ${getIgnorePath(projectRoot)}`);
198
225
  }
199
226
  catch (err) {
200
227
  const message = err instanceof Error ? err.message : String(err);
@@ -207,6 +234,7 @@ export function createIgnoreCommand() {
207
234
  .command("add")
208
235
  .description("Add current drift signals to the ignore list")
209
236
  .option("--json", "Output as JSON")
237
+ .option("--actor <name>", "Person or team accepting the baseline")
210
238
  .requiredOption("-r, --reason <reason>", "Reason for ignoring these drift signals (required)")
211
239
  .action(async (options) => {
212
240
  if (options.json) {
@@ -214,52 +242,25 @@ export function createIgnoreCommand() {
214
242
  }
215
243
  const spin = spinner("Loading configuration...");
216
244
  try {
217
- const { config } = await loadConfig();
218
- const existing = await loadIgnoreList();
245
+ const { config, configPath } = await loadConfig();
246
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
247
+ const existing = await loadIgnoreList(projectRoot);
219
248
  spin.text = "Scanning for current drift...";
220
- // Import required modules
221
- const { ReactComponentScanner } = await import("@buoy-design/scanners/git");
222
- const { SemanticDiffEngine } = await import("@buoy-design/core/analysis");
223
- // Scan components
224
- const components = [];
225
- if (config.sources.react?.enabled) {
226
- spin.text = "Scanning React components...";
227
- const scanner = new ReactComponentScanner({
228
- projectRoot: process.cwd(),
229
- include: config.sources.react.include,
230
- exclude: config.sources.react.exclude,
231
- designSystemPackage: config.sources.react.designSystemPackage,
232
- });
233
- const result = await scanner.scan();
234
- components.push(...result.items);
235
- }
236
- spin.text = "Analyzing drift...";
237
- // Run analysis
238
- const engine = new SemanticDiffEngine();
239
- const diffResult = engine.analyzeComponents(components, {
240
- checkDeprecated: true,
241
- checkNaming: true,
242
- checkDocumentation: true,
249
+ const service = new DriftAnalysisService(config, projectRoot);
250
+ const result = await service.analyze({
251
+ includeIgnored: true,
252
+ onProgress: (message) => {
253
+ spin.text = message;
254
+ },
243
255
  });
244
- const drifts = diffResult.drifts;
256
+ const drifts = result.drifts;
245
257
  // Create updated ignore list, preserving existing entries
246
- const ignoreList = createIgnoreList(drifts, options.reason);
258
+ const ignoreList = createIgnoreList(drifts, options.reason, options.actor);
247
259
  if (existing) {
248
260
  ignoreList.createdAt = existing.createdAt;
249
- // Preserve existing per-drift entries, only add new ones with the new reason
250
- if (existing.entries) {
251
- for (const [id, entry] of Object.entries(existing.entries)) {
252
- if (ignoreList.entries && !ignoreList.entries[id]) {
253
- // This drift was removed, don't preserve
254
- }
255
- else if (ignoreList.entries && existing.driftIds.includes(id)) {
256
- // Preserve original entry for existing drifts
257
- ignoreList.entries[id] = entry;
258
- }
259
- }
260
- }
261
+ preserveIgnoreEntries(ignoreList, existing, drifts);
261
262
  }
262
- await saveIgnoreList(ignoreList);
263
+ await saveIgnoreList(ignoreList, projectRoot);
263
264
  spin.stop();
264
265
  const added = existing
265
266
  ? ignoreList.summary.total - existing.summary.total
@@ -300,7 +301,9 @@ export function createIgnoreCommand() {
300
301
  }
301
302
  try {
302
303
  const { unlink } = await import("fs/promises");
303
- const ignorePath = getIgnorePath();
304
+ const { configPath } = await loadConfig();
305
+ const projectRoot = configPath ? dirname(configPath) : process.cwd();
306
+ const ignorePath = getIgnorePath(projectRoot);
304
307
  if (!existsSync(ignorePath)) {
305
308
  if (options.json) {
306
309
  console.log(formatJson({ action: "cleared", existed: false }));
@@ -1 +1 @@
1
- {"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../src/commands/ignore.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export { createDockCommand } from "./dock.js";
4
4
  export { createAhoyCommand } from "./ahoy.js";
5
5
  export { createDesignMdCommand } from "./designmd/index.js";
6
6
  export { createSystemCommand } from "./system.js";
7
+ export { createRescueCommand } from "./rescue.js";
7
8
  export { createCheckCommand } from "./check.js";
8
9
  export { createIgnoreCommand, loadIgnoreList, filterIgnored, } from "./ignore.js";
9
10
  export { createFixCommand } from "./fix.js";
@@ -1 +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,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
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,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -4,6 +4,7 @@ export { createDockCommand } from "./dock.js";
4
4
  export { createAhoyCommand } from "./ahoy.js";
5
5
  export { createDesignMdCommand } from "./designmd/index.js";
6
6
  export { createSystemCommand } from "./system.js";
7
+ export { createRescueCommand } from "./rescue.js";
7
8
  // Re-exports for internal use (subcommands within groups)
8
9
  export { createCheckCommand } from "./check.js";
9
10
  export { createIgnoreCommand, loadIgnoreList, filterIgnored, } from "./ignore.js";
@@ -1 +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,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
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,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFpC,wBAAgB,kBAAkB,IAAI,OAAO,CAkG5C"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8IpC,wBAAgB,kBAAkB,IAAI,OAAO,CAyG5C"}