@buoy-design/cli 0.2.6 → 0.2.7

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 (55) hide show
  1. package/dist/bin.js +4 -3
  2. package/dist/bin.js.map +1 -1
  3. package/dist/cloud/client.d.ts +93 -0
  4. package/dist/cloud/client.d.ts.map +1 -1
  5. package/dist/cloud/client.js +10 -0
  6. package/dist/cloud/client.js.map +1 -1
  7. package/dist/cloud/sync.d.ts +71 -1
  8. package/dist/cloud/sync.d.ts.map +1 -1
  9. package/dist/cloud/sync.js +177 -1
  10. package/dist/cloud/sync.js.map +1 -1
  11. package/dist/commands/baseline.d.ts +9 -1
  12. package/dist/commands/baseline.d.ts.map +1 -1
  13. package/dist/commands/baseline.js +33 -4
  14. package/dist/commands/baseline.js.map +1 -1
  15. package/dist/commands/check.d.ts.map +1 -1
  16. package/dist/commands/check.js +102 -0
  17. package/dist/commands/check.js.map +1 -1
  18. package/dist/commands/dock.d.ts +1 -1
  19. package/dist/commands/dock.d.ts.map +1 -1
  20. package/dist/commands/dock.js +31 -22
  21. package/dist/commands/dock.js.map +1 -1
  22. package/dist/commands/fix.d.ts.map +1 -1
  23. package/dist/commands/fix.js +1 -0
  24. package/dist/commands/fix.js.map +1 -1
  25. package/dist/commands/import.d.ts.map +1 -1
  26. package/dist/commands/import.js +4 -2
  27. package/dist/commands/import.js.map +1 -1
  28. package/dist/commands/link.d.ts.map +1 -1
  29. package/dist/commands/link.js +26 -12
  30. package/dist/commands/link.js.map +1 -1
  31. package/dist/commands/scan.d.ts.map +1 -1
  32. package/dist/commands/scan.js +1 -0
  33. package/dist/commands/scan.js.map +1 -1
  34. package/dist/commands/show.d.ts.map +1 -1
  35. package/dist/commands/show.js +2 -1
  36. package/dist/commands/show.js.map +1 -1
  37. package/dist/commands/unlink.d.ts.map +1 -1
  38. package/dist/commands/unlink.js +20 -7
  39. package/dist/commands/unlink.js.map +1 -1
  40. package/dist/config/auto-detect.d.ts +1 -1
  41. package/dist/config/auto-detect.d.ts.map +1 -1
  42. package/dist/config/auto-detect.js +3 -1
  43. package/dist/config/auto-detect.js.map +1 -1
  44. package/dist/config/loader.d.ts.map +1 -1
  45. package/dist/config/loader.js +18 -6
  46. package/dist/config/loader.js.map +1 -1
  47. package/dist/config/schema.d.ts +112 -6
  48. package/dist/config/schema.d.ts.map +1 -1
  49. package/dist/config/schema.js +13 -0
  50. package/dist/config/schema.js.map +1 -1
  51. package/dist/services/drift-analysis.d.ts +6 -0
  52. package/dist/services/drift-analysis.d.ts.map +1 -1
  53. package/dist/services/drift-analysis.js +55 -2
  54. package/dist/services/drift-analysis.js.map +1 -1
  55. package/package.json +3 -3
@@ -490,6 +490,22 @@ export declare const AggregationConfigSchema: z.ZodObject<{
490
490
  minGroupSize?: number | undefined;
491
491
  pathPatterns?: string[] | undefined;
492
492
  }>;
493
+ export declare const DriftTypeConfigSchema: z.ZodObject<{
494
+ enabled: z.ZodDefault<z.ZodBoolean>;
495
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
496
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
497
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
498
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
499
+ enabled: z.ZodDefault<z.ZodBoolean>;
500
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
501
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
502
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
503
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
504
+ enabled: z.ZodDefault<z.ZodBoolean>;
505
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
506
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
507
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
508
+ }, z.ZodTypeAny, "passthrough">>;
493
509
  export declare const DriftConfigSchema: z.ZodObject<{
494
510
  ignore: z.ZodDefault<z.ZodArray<z.ZodObject<{
495
511
  type: z.ZodString;
@@ -521,30 +537,58 @@ export declare const DriftConfigSchema: z.ZodObject<{
521
537
  minGroupSize?: number | undefined;
522
538
  pathPatterns?: string[] | undefined;
523
539
  }>>;
540
+ types: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
541
+ enabled: z.ZodDefault<z.ZodBoolean>;
542
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
543
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
544
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
545
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
546
+ enabled: z.ZodDefault<z.ZodBoolean>;
547
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
548
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
549
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
550
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
551
+ enabled: z.ZodDefault<z.ZodBoolean>;
552
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
553
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
554
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
555
+ }, z.ZodTypeAny, "passthrough">>>>;
524
556
  }, "strip", z.ZodTypeAny, {
557
+ severity: Record<string, "info" | "warning" | "critical">;
525
558
  ignore: {
526
559
  type: string;
527
560
  pattern?: string | undefined;
528
561
  reason?: string | undefined;
529
562
  }[];
530
- severity: Record<string, "info" | "warning" | "critical">;
531
563
  aggregation: {
532
564
  strategies: ("value" | "path" | "suggestion" | "entity")[];
533
565
  minGroupSize: number;
534
566
  pathPatterns: string[];
535
567
  };
568
+ types: Record<string, z.objectOutputType<{
569
+ enabled: z.ZodDefault<z.ZodBoolean>;
570
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
571
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
572
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
573
+ }, z.ZodTypeAny, "passthrough">>;
536
574
  }, {
575
+ severity?: Record<string, "info" | "warning" | "critical"> | undefined;
537
576
  ignore?: {
538
577
  type: string;
539
578
  pattern?: string | undefined;
540
579
  reason?: string | undefined;
541
580
  }[] | undefined;
542
- severity?: Record<string, "info" | "warning" | "critical"> | undefined;
543
581
  aggregation?: {
544
582
  strategies?: ("value" | "path" | "suggestion" | "entity")[] | undefined;
545
583
  minGroupSize?: number | undefined;
546
584
  pathPatterns?: string[] | undefined;
547
585
  } | undefined;
586
+ types?: Record<string, z.objectInputType<{
587
+ enabled: z.ZodDefault<z.ZodBoolean>;
588
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
589
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
590
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
591
+ }, z.ZodTypeAny, "passthrough">> | undefined;
548
592
  }>;
549
593
  export declare const ClaudeConfigSchema: z.ZodObject<{
550
594
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -594,6 +638,13 @@ export declare const OutputConfigSchema: z.ZodObject<{
594
638
  format?: "markdown" | "table" | "json" | undefined;
595
639
  colors?: boolean | undefined;
596
640
  }>;
641
+ export declare const ExperimentalConfigSchema: z.ZodDefault<z.ZodObject<{
642
+ repeatedPatternDetection: z.ZodDefault<z.ZodBoolean>;
643
+ }, "strip", z.ZodTypeAny, {
644
+ repeatedPatternDetection: boolean;
645
+ }, {
646
+ repeatedPatternDetection?: boolean | undefined;
647
+ }>>;
597
648
  export declare const BuoyConfigSchema: z.ZodObject<{
598
649
  project: z.ZodObject<{
599
650
  name: z.ZodString;
@@ -920,30 +971,58 @@ export declare const BuoyConfigSchema: z.ZodObject<{
920
971
  minGroupSize?: number | undefined;
921
972
  pathPatterns?: string[] | undefined;
922
973
  }>>;
974
+ types: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
975
+ enabled: z.ZodDefault<z.ZodBoolean>;
976
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
977
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
978
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
979
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
980
+ enabled: z.ZodDefault<z.ZodBoolean>;
981
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
982
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
983
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
984
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
985
+ enabled: z.ZodDefault<z.ZodBoolean>;
986
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
987
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
988
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
989
+ }, z.ZodTypeAny, "passthrough">>>>;
923
990
  }, "strip", z.ZodTypeAny, {
991
+ severity: Record<string, "info" | "warning" | "critical">;
924
992
  ignore: {
925
993
  type: string;
926
994
  pattern?: string | undefined;
927
995
  reason?: string | undefined;
928
996
  }[];
929
- severity: Record<string, "info" | "warning" | "critical">;
930
997
  aggregation: {
931
998
  strategies: ("value" | "path" | "suggestion" | "entity")[];
932
999
  minGroupSize: number;
933
1000
  pathPatterns: string[];
934
1001
  };
1002
+ types: Record<string, z.objectOutputType<{
1003
+ enabled: z.ZodDefault<z.ZodBoolean>;
1004
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
1005
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
1006
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
1007
+ }, z.ZodTypeAny, "passthrough">>;
935
1008
  }, {
1009
+ severity?: Record<string, "info" | "warning" | "critical"> | undefined;
936
1010
  ignore?: {
937
1011
  type: string;
938
1012
  pattern?: string | undefined;
939
1013
  reason?: string | undefined;
940
1014
  }[] | undefined;
941
- severity?: Record<string, "info" | "warning" | "critical"> | undefined;
942
1015
  aggregation?: {
943
1016
  strategies?: ("value" | "path" | "suggestion" | "entity")[] | undefined;
944
1017
  minGroupSize?: number | undefined;
945
1018
  pathPatterns?: string[] | undefined;
946
1019
  } | undefined;
1020
+ types?: Record<string, z.objectInputType<{
1021
+ enabled: z.ZodDefault<z.ZodBoolean>;
1022
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
1023
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
1024
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
1025
+ }, z.ZodTypeAny, "passthrough">> | undefined;
947
1026
  }>>;
948
1027
  claude: z.ZodDefault<z.ZodObject<{
949
1028
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -983,6 +1062,13 @@ export declare const BuoyConfigSchema: z.ZodObject<{
983
1062
  format?: "markdown" | "table" | "json" | undefined;
984
1063
  colors?: boolean | undefined;
985
1064
  }>>;
1065
+ experimental: z.ZodDefault<z.ZodDefault<z.ZodObject<{
1066
+ repeatedPatternDetection: z.ZodDefault<z.ZodBoolean>;
1067
+ }, "strip", z.ZodTypeAny, {
1068
+ repeatedPatternDetection: boolean;
1069
+ }, {
1070
+ repeatedPatternDetection?: boolean | undefined;
1071
+ }>>>;
986
1072
  }, "strip", z.ZodTypeAny, {
987
1073
  project: {
988
1074
  name: string;
@@ -1050,17 +1136,23 @@ export declare const BuoyConfigSchema: z.ZodObject<{
1050
1136
  } | undefined;
1051
1137
  };
1052
1138
  drift: {
1139
+ severity: Record<string, "info" | "warning" | "critical">;
1053
1140
  ignore: {
1054
1141
  type: string;
1055
1142
  pattern?: string | undefined;
1056
1143
  reason?: string | undefined;
1057
1144
  }[];
1058
- severity: Record<string, "info" | "warning" | "critical">;
1059
1145
  aggregation: {
1060
1146
  strategies: ("value" | "path" | "suggestion" | "entity")[];
1061
1147
  minGroupSize: number;
1062
1148
  pathPatterns: string[];
1063
1149
  };
1150
+ types: Record<string, z.objectOutputType<{
1151
+ enabled: z.ZodDefault<z.ZodBoolean>;
1152
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
1153
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
1154
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
1155
+ }, z.ZodTypeAny, "passthrough">>;
1064
1156
  };
1065
1157
  claude: {
1066
1158
  enabled: boolean;
@@ -1074,6 +1166,9 @@ export declare const BuoyConfigSchema: z.ZodObject<{
1074
1166
  format: "markdown" | "table" | "json";
1075
1167
  colors: boolean;
1076
1168
  };
1169
+ experimental: {
1170
+ repeatedPatternDetection: boolean;
1171
+ };
1077
1172
  }, {
1078
1173
  project: {
1079
1174
  name: string;
@@ -1141,17 +1236,23 @@ export declare const BuoyConfigSchema: z.ZodObject<{
1141
1236
  } | undefined;
1142
1237
  } | undefined;
1143
1238
  drift?: {
1239
+ severity?: Record<string, "info" | "warning" | "critical"> | undefined;
1144
1240
  ignore?: {
1145
1241
  type: string;
1146
1242
  pattern?: string | undefined;
1147
1243
  reason?: string | undefined;
1148
1244
  }[] | undefined;
1149
- severity?: Record<string, "info" | "warning" | "critical"> | undefined;
1150
1245
  aggregation?: {
1151
1246
  strategies?: ("value" | "path" | "suggestion" | "entity")[] | undefined;
1152
1247
  minGroupSize?: number | undefined;
1153
1248
  pathPatterns?: string[] | undefined;
1154
1249
  } | undefined;
1250
+ types?: Record<string, z.objectInputType<{
1251
+ enabled: z.ZodDefault<z.ZodBoolean>;
1252
+ severity: z.ZodOptional<z.ZodEnum<["info", "warning", "critical"]>>;
1253
+ minOccurrences: z.ZodOptional<z.ZodNumber>;
1254
+ matching: z.ZodOptional<z.ZodEnum<["exact", "tight", "loose"]>>;
1255
+ }, z.ZodTypeAny, "passthrough">> | undefined;
1155
1256
  } | undefined;
1156
1257
  claude?: {
1157
1258
  enabled?: boolean | undefined;
@@ -1165,6 +1266,9 @@ export declare const BuoyConfigSchema: z.ZodObject<{
1165
1266
  format?: "markdown" | "table" | "json" | undefined;
1166
1267
  colors?: boolean | undefined;
1167
1268
  } | undefined;
1269
+ experimental?: {
1270
+ repeatedPatternDetection?: boolean | undefined;
1271
+ } | undefined;
1168
1272
  }>;
1169
1273
  export type ComponentSourceConfig = z.infer<typeof ComponentSourceConfigSchema>;
1170
1274
  export type ReactConfig = z.infer<typeof ReactConfigSchema>;
@@ -1180,10 +1284,12 @@ export type TailwindConfig = z.infer<typeof TailwindConfigSchema>;
1180
1284
  export type SourcesConfig = z.infer<typeof SourcesConfigSchema>;
1181
1285
  export type DriftIgnore = z.infer<typeof DriftIgnoreSchema>;
1182
1286
  export type AggregationConfig = z.infer<typeof AggregationConfigSchema>;
1287
+ export type DriftTypeConfig = z.infer<typeof DriftTypeConfigSchema>;
1183
1288
  export type DriftConfig = z.infer<typeof DriftConfigSchema>;
1184
1289
  export type ClaudeConfig = z.infer<typeof ClaudeConfigSchema>;
1185
1290
  export type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
1186
1291
  export type OutputConfig = z.infer<typeof OutputConfigSchema>;
1292
+ export type ExperimentalConfig = z.infer<typeof ExperimentalConfigSchema>;
1187
1293
  export type BuoyConfig = z.infer<typeof BuoyConfigSchema>;
1188
1294
  export declare function defineConfig(config: BuoyConfig): BuoyConfig;
1189
1295
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -110,11 +110,19 @@ export const AggregationConfigSchema = z.object({
110
110
  /** Path patterns for path-based grouping (e.g., "src/legacy/**") */
111
111
  pathPatterns: z.array(z.string()).default([]),
112
112
  });
113
+ // Per-drift-type config
114
+ export const DriftTypeConfigSchema = z.object({
115
+ enabled: z.boolean().default(true),
116
+ severity: z.enum(['info', 'warning', 'critical']).optional(),
117
+ minOccurrences: z.number().min(2).optional(),
118
+ matching: z.enum(['exact', 'tight', 'loose']).optional(),
119
+ }).passthrough();
113
120
  // Drift config
114
121
  export const DriftConfigSchema = z.object({
115
122
  ignore: z.array(DriftIgnoreSchema).default([]),
116
123
  severity: z.record(z.enum(['info', 'warning', 'critical'])).default({}),
117
124
  aggregation: AggregationConfigSchema.default({}),
125
+ types: z.record(DriftTypeConfigSchema).default({}),
118
126
  });
119
127
  // Claude config
120
128
  export const ClaudeConfigSchema = z.object({
@@ -137,6 +145,10 @@ export const OutputConfigSchema = z.object({
137
145
  format: z.enum(['table', 'json', 'markdown']).default('table'),
138
146
  colors: z.boolean().default(true),
139
147
  });
148
+ // Experimental features config
149
+ export const ExperimentalConfigSchema = z.object({
150
+ repeatedPatternDetection: z.boolean().default(false),
151
+ }).default({});
140
152
  // Main config schema
141
153
  export const BuoyConfigSchema = z.object({
142
154
  project: ProjectConfigSchema,
@@ -144,6 +156,7 @@ export const BuoyConfigSchema = z.object({
144
156
  drift: DriftConfigSchema.default({}),
145
157
  claude: ClaudeConfigSchema.default({}),
146
158
  output: OutputConfigSchema.default({}),
159
+ experimental: ExperimentalConfigSchema.default({}),
147
160
  });
148
161
  // Helper to define config (for user-facing config files)
149
162
  export function defineConfig(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export interface DriftAnalysisOptions {
21
21
  filterType?: string;
22
22
  /** Scan cache for incremental scanning */
23
23
  cache?: ScanCache;
24
+ /** Enable experimental features (repeated pattern detection) */
25
+ experimental?: boolean;
24
26
  }
25
27
  export interface DriftAnalysisResult {
26
28
  /** All drifts after filtering */
@@ -80,5 +82,9 @@ export declare class DriftAnalysisService {
80
82
  * Run full drift analysis pipeline
81
83
  */
82
84
  analyze(options?: DriftAnalysisOptions): Promise<DriftAnalysisResult>;
85
+ /**
86
+ * Detect repeated class patterns across source files (experimental)
87
+ */
88
+ private detectRepeatedPatterns;
83
89
  }
84
90
  //# sourceMappingURL=drift-analysis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drift-analysis.d.ts","sourceRoot":"","sources":["../../src/services/drift-analysis.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAmB,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,mCAAmC;IACnC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAYD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAOA;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,QAAQ,GAAG,MAAM,GACxB,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAIzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAC1C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACpC,WAAW,EAAE,CAqBf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,QAAQ,GACpB,WAAW,EAAE,CAGf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EAAE,EACrB,IAAI,EAAE,MAAM,GACX,WAAW,EAAE,CAEf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EAAE,EACrB,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GACzC,WAAW,EAAE,CAMf;AAED;;GAEG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,OAAO,CACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC;CA0FhC"}
1
+ {"version":3,"file":"drift-analysis.d.ts","sourceRoot":"","sources":["../../src/services/drift-analysis.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAmB,SAAS,EAA6B,MAAM,uBAAuB,CAAC;AAK9F,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,mCAAmC;IACnC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAYD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAOA;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,QAAQ,GAAG,MAAM,GACxB,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAIzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAC1C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACpC,WAAW,EAAE,CAqBf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,QAAQ,GACpB,WAAW,EAAE,CAGf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EAAE,EACrB,IAAI,EAAE,MAAM,GACX,WAAW,EAAE,CAEf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EAAE,EACrB,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GACzC,WAAW,EAAE,CAMf;AAED;;GAEG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,OAAO,CACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC;IA+G/B;;OAEG;YACW,sBAAsB;CA0CrC"}
@@ -10,7 +10,10 @@
10
10
  */
11
11
  import { ScanOrchestrator } from "../scan/orchestrator.js";
12
12
  import { getSeverityWeight } from "@buoy-design/core";
13
- import { TailwindScanner } from "@buoy-design/scanners";
13
+ import { TailwindScanner, extractStaticClassStrings } from "@buoy-design/scanners";
14
+ import { detectRepeatedPatterns } from "@buoy-design/core";
15
+ import { glob } from "glob";
16
+ import { readFile } from "fs/promises";
14
17
  /**
15
18
  * Severity order for filtering and sorting (0 = lowest, 2 = highest)
16
19
  * Use getSeverityWeight from @buoy-design/core for consistent ordering
@@ -105,7 +108,7 @@ export class DriftAnalysisService {
105
108
  * Run full drift analysis pipeline
106
109
  */
107
110
  async analyze(options = {}) {
108
- const { onProgress, includeBaseline, minSeverity, filterType, cache } = options;
111
+ const { onProgress, includeBaseline, minSeverity, filterType, cache, experimental } = options;
109
112
  // Step 1: Scan components
110
113
  onProgress?.("Scanning components...");
111
114
  const orchestrator = new ScanOrchestrator(this.config, process.cwd(), {
@@ -142,6 +145,19 @@ export class DriftAnalysisService {
142
145
  onProgress?.(`Found ${tailwindResult.drifts.length} Tailwind arbitrary value issues`);
143
146
  }
144
147
  }
148
+ // Step 2.6: Experimental repeated pattern detection
149
+ const experimentalEnabled = this.config.experimental?.repeatedPatternDetection || experimental;
150
+ if (experimentalEnabled) {
151
+ const patternConfig = (this.config.drift?.types?.["repeated-pattern"] ?? {});
152
+ if (patternConfig.enabled !== false) {
153
+ onProgress?.("Detecting repeated patterns (experimental)...");
154
+ const patternDrifts = await this.detectRepeatedPatterns(patternConfig);
155
+ drifts.push(...patternDrifts);
156
+ if (patternDrifts.length > 0) {
157
+ onProgress?.(`Found ${patternDrifts.length} repeated pattern issues`);
158
+ }
159
+ }
160
+ }
145
161
  // Step 3: Apply severity filter (before other filters for efficiency)
146
162
  if (minSeverity) {
147
163
  drifts = filterBySeverity(drifts, minSeverity);
@@ -173,5 +189,42 @@ export class DriftAnalysisService {
173
189
  summary: calculateDriftSummary(drifts),
174
190
  };
175
191
  }
192
+ /**
193
+ * Detect repeated class patterns across source files (experimental)
194
+ */
195
+ async detectRepeatedPatterns(config) {
196
+ const occurrences = [];
197
+ const cwd = process.cwd();
198
+ // Find all source files
199
+ const patterns = ["**/*.tsx", "**/*.jsx", "**/*.vue", "**/*.svelte"];
200
+ const ignore = ["**/node_modules/**", "**/dist/**", "**/.next/**", "**/build/**"];
201
+ const files = await glob(patterns, { cwd, ignore, absolute: true });
202
+ for (const file of files) {
203
+ try {
204
+ const content = await readFile(file, "utf-8");
205
+ const relativePath = file.replace(cwd + "/", "");
206
+ // Extract static class strings using existing extractor
207
+ const classStrings = extractStaticClassStrings(content);
208
+ for (const cs of classStrings) {
209
+ // Combine all classes into a single string
210
+ const allClasses = cs.classes.join(" ");
211
+ if (allClasses.trim()) {
212
+ occurrences.push({
213
+ classes: allClasses,
214
+ file: relativePath,
215
+ line: cs.line,
216
+ });
217
+ }
218
+ }
219
+ }
220
+ catch {
221
+ // Skip files that can't be read
222
+ }
223
+ }
224
+ return detectRepeatedPatterns(occurrences, {
225
+ minOccurrences: config.minOccurrences ?? 3,
226
+ matching: config.matching ?? "exact",
227
+ });
228
+ }
176
229
  }
177
230
  //# sourceMappingURL=drift-analysis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drift-analysis.js","sourceRoot":"","sources":["../../src/services/drift-analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drift-analysis.js","sourceRoot":"","sources":["../../src/services/drift-analysis.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-design/cli",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "Buoy CLI - Design drift detection for the AI era",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -42,10 +42,10 @@
42
42
  "glob": "^11.0.0",
43
43
  "open": "^11.0.0",
44
44
  "ora": "^8.1.1",
45
- "yaml": "^2.7.0",
45
+ "yaml": "^2.8.2",
46
46
  "zod": "^3.24.1",
47
47
  "zod-validation-error": "^5.0.0",
48
- "@buoy-design/core": "0.1.10",
48
+ "@buoy-design/core": "0.1.11",
49
49
  "@buoy-design/db": "0.1.4",
50
50
  "@buoy-design/scanners": "0.1.8"
51
51
  },