@vibe-validate/config 0.11.0 → 0.12.1

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.
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@
21
21
  * command: tsc --noEmit
22
22
  * ```
23
23
  */
24
- export { type ValidationStep, type ValidationPhase, type ValidationConfig, type GitConfig, type CIConfig, type HooksConfig, type VibeValidateConfig, ValidationStepSchema, ValidationPhaseSchema, ValidationConfigSchema, GitConfigSchema, CIConfigSchema, HooksConfigSchema, VibeValidateConfigSchema, validateConfig, safeValidateConfig, } from './schema.js';
24
+ export { type ValidationStep, type ValidationPhase, type ValidationConfig, type GitConfig, type CIConfig, type HooksConfig, type SecretScanningConfig, type VibeValidateConfig, ValidationStepSchema, ValidationPhaseSchema, ValidationConfigSchema, GitConfigSchema, CIConfigSchema, HooksConfigSchema, SecretScanningSchema, VibeValidateConfigSchema, validateConfig, safeValidateConfig, } from './schema.js';
25
25
  export { CONFIG_FILE_NAME, loadConfigFromFile, findAndLoadConfig, } from './loader.js';
26
26
  export { GIT_DEFAULTS } from './constants.js';
27
27
  export { getRemoteBranch, getMainBranch, getRemoteOrigin } from './git-helpers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -22,7 +22,7 @@
22
22
  * ```
23
23
  */
24
24
  // Core schema types and validation
25
- export { ValidationStepSchema, ValidationPhaseSchema, ValidationConfigSchema, GitConfigSchema, CIConfigSchema, HooksConfigSchema, VibeValidateConfigSchema, validateConfig, safeValidateConfig, } from './schema.js';
25
+ export { ValidationStepSchema, ValidationPhaseSchema, ValidationConfigSchema, GitConfigSchema, CIConfigSchema, HooksConfigSchema, SecretScanningSchema, VibeValidateConfigSchema, validateConfig, safeValidateConfig, } from './schema.js';
26
26
  // Config loading
27
27
  export { CONFIG_FILE_NAME, loadConfigFromFile, findAndLoadConfig, } from './loader.js';
28
28
  // Git configuration constants and helpers
package/dist/schema.d.ts CHANGED
@@ -283,6 +283,28 @@ export declare const CIConfigSchema: z.ZodObject<{
283
283
  coverage?: boolean | undefined;
284
284
  }>;
285
285
  export type CIConfig = z.infer<typeof CIConfigSchema>;
286
+ /**
287
+ * Secret Scanning Configuration Schema
288
+ */
289
+ export declare const SecretScanningSchema: z.ZodEffects<z.ZodObject<{
290
+ /** Enable secret scanning in pre-commit (default: true) */
291
+ enabled: z.ZodDefault<z.ZodBoolean>;
292
+ /** Command to run for secret scanning (required when enabled) */
293
+ scanCommand: z.ZodOptional<z.ZodString>;
294
+ }, "strict", z.ZodTypeAny, {
295
+ enabled: boolean;
296
+ scanCommand?: string | undefined;
297
+ }, {
298
+ enabled?: boolean | undefined;
299
+ scanCommand?: string | undefined;
300
+ }>, {
301
+ enabled: boolean;
302
+ scanCommand?: string | undefined;
303
+ }, {
304
+ enabled?: boolean | undefined;
305
+ scanCommand?: string | undefined;
306
+ }>;
307
+ export type SecretScanningConfig = z.infer<typeof SecretScanningSchema>;
286
308
  /**
287
309
  * Hooks Configuration Schema
288
310
  */
@@ -293,22 +315,57 @@ export declare const HooksConfigSchema: z.ZodObject<{
293
315
  enabled: z.ZodDefault<z.ZodBoolean>;
294
316
  /** Custom pre-commit command (default: 'npx vibe-validate pre-commit') */
295
317
  command: z.ZodDefault<z.ZodString>;
318
+ /** Secret scanning configuration (optional) */
319
+ secretScanning: z.ZodOptional<z.ZodEffects<z.ZodObject<{
320
+ /** Enable secret scanning in pre-commit (default: true) */
321
+ enabled: z.ZodDefault<z.ZodBoolean>;
322
+ /** Command to run for secret scanning (required when enabled) */
323
+ scanCommand: z.ZodOptional<z.ZodString>;
324
+ }, "strict", z.ZodTypeAny, {
325
+ enabled: boolean;
326
+ scanCommand?: string | undefined;
327
+ }, {
328
+ enabled?: boolean | undefined;
329
+ scanCommand?: string | undefined;
330
+ }>, {
331
+ enabled: boolean;
332
+ scanCommand?: string | undefined;
333
+ }, {
334
+ enabled?: boolean | undefined;
335
+ scanCommand?: string | undefined;
336
+ }>>;
296
337
  }, "strict", z.ZodTypeAny, {
297
338
  command: string;
298
339
  enabled: boolean;
340
+ secretScanning?: {
341
+ enabled: boolean;
342
+ scanCommand?: string | undefined;
343
+ } | undefined;
299
344
  }, {
300
345
  command?: string | undefined;
301
346
  enabled?: boolean | undefined;
347
+ secretScanning?: {
348
+ enabled?: boolean | undefined;
349
+ scanCommand?: string | undefined;
350
+ } | undefined;
302
351
  }>>>;
303
352
  }, "strict", z.ZodTypeAny, {
304
353
  preCommit: {
305
354
  command: string;
306
355
  enabled: boolean;
356
+ secretScanning?: {
357
+ enabled: boolean;
358
+ scanCommand?: string | undefined;
359
+ } | undefined;
307
360
  };
308
361
  }, {
309
362
  preCommit?: {
310
363
  command?: string | undefined;
311
364
  enabled?: boolean | undefined;
365
+ secretScanning?: {
366
+ enabled?: boolean | undefined;
367
+ scanCommand?: string | undefined;
368
+ } | undefined;
312
369
  } | undefined;
313
370
  }>;
314
371
  export type HooksConfig = z.infer<typeof HooksConfigSchema>;
@@ -479,24 +536,69 @@ export declare const VibeValidateConfigSchema: z.ZodObject<{
479
536
  enabled: z.ZodDefault<z.ZodBoolean>;
480
537
  /** Custom pre-commit command (default: 'npx vibe-validate pre-commit') */
481
538
  command: z.ZodDefault<z.ZodString>;
539
+ /** Secret scanning configuration (optional) */
540
+ secretScanning: z.ZodOptional<z.ZodEffects<z.ZodObject<{
541
+ /** Enable secret scanning in pre-commit (default: true) */
542
+ enabled: z.ZodDefault<z.ZodBoolean>;
543
+ /** Command to run for secret scanning (required when enabled) */
544
+ scanCommand: z.ZodOptional<z.ZodString>;
545
+ }, "strict", z.ZodTypeAny, {
546
+ enabled: boolean;
547
+ scanCommand?: string | undefined;
548
+ }, {
549
+ enabled?: boolean | undefined;
550
+ scanCommand?: string | undefined;
551
+ }>, {
552
+ enabled: boolean;
553
+ scanCommand?: string | undefined;
554
+ }, {
555
+ enabled?: boolean | undefined;
556
+ scanCommand?: string | undefined;
557
+ }>>;
482
558
  }, "strict", z.ZodTypeAny, {
483
559
  command: string;
484
560
  enabled: boolean;
561
+ secretScanning?: {
562
+ enabled: boolean;
563
+ scanCommand?: string | undefined;
564
+ } | undefined;
485
565
  }, {
486
566
  command?: string | undefined;
487
567
  enabled?: boolean | undefined;
568
+ secretScanning?: {
569
+ enabled?: boolean | undefined;
570
+ scanCommand?: string | undefined;
571
+ } | undefined;
488
572
  }>>>;
489
573
  }, "strict", z.ZodTypeAny, {
490
574
  preCommit: {
491
575
  command: string;
492
576
  enabled: boolean;
577
+ secretScanning?: {
578
+ enabled: boolean;
579
+ scanCommand?: string | undefined;
580
+ } | undefined;
493
581
  };
494
582
  }, {
495
583
  preCommit?: {
496
584
  command?: string | undefined;
497
585
  enabled?: boolean | undefined;
586
+ secretScanning?: {
587
+ enabled?: boolean | undefined;
588
+ scanCommand?: string | undefined;
589
+ } | undefined;
498
590
  } | undefined;
499
591
  }>>>;
592
+ /**
593
+ * Developer feedback for continuous quality improvement (optional, default: false)
594
+ *
595
+ * When enabled, provides additional alerts about extraction quality failures
596
+ * to help improve extractors through dogfooding. Useful for:
597
+ * - vibe-validate contributors
598
+ * - Projects building custom extractors
599
+ * - Teams wanting to improve validation feedback
600
+ */
601
+ developerFeedback: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
500
602
  }, "strict", z.ZodTypeAny, {
501
603
  validation: {
502
604
  failFast: boolean;
@@ -526,8 +628,13 @@ export declare const VibeValidateConfigSchema: z.ZodObject<{
526
628
  preCommit: {
527
629
  command: string;
528
630
  enabled: boolean;
631
+ secretScanning?: {
632
+ enabled: boolean;
633
+ scanCommand?: string | undefined;
634
+ } | undefined;
529
635
  };
530
636
  };
637
+ developerFeedback: boolean;
531
638
  ci?: {
532
639
  failFast?: boolean | undefined;
533
640
  nodeVersions?: string[] | undefined;
@@ -569,8 +676,13 @@ export declare const VibeValidateConfigSchema: z.ZodObject<{
569
676
  preCommit?: {
570
677
  command?: string | undefined;
571
678
  enabled?: boolean | undefined;
679
+ secretScanning?: {
680
+ enabled?: boolean | undefined;
681
+ scanCommand?: string | undefined;
682
+ } | undefined;
572
683
  } | undefined;
573
684
  } | undefined;
685
+ developerFeedback?: boolean | undefined;
574
686
  }>;
575
687
  export type VibeValidateConfig = z.infer<typeof VibeValidateConfigSchema>;
576
688
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;IAC/B,kEAAkE;;IAGlE,qDAAqD;;IAGrD,uEAAuE;;IAGvE,+EAA+E;;IAG/E,qDAAqD;;IAGrD,oDAAoD;;IAGpD,wEAAwE;;;;;;;;;;;;;;;;;;EAE/D,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;IAChC,wDAAwD;;IAGxD,iDAAiD;;IAGjD,qCAAqC;;QArCrC,kEAAkE;;QAGlE,qDAAqD;;QAGrD,uEAAuE;;QAGvE,+EAA+E;;QAG/E,qDAAqD;;QAGrD,oDAAoD;;QAGpD,wEAAwE;;;;;;;;;;;;;;;;;;;IAsBxE,qFAAqF;;IAGrF,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvD,CAAC;AAGZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,sBAAsB;IACjC,mCAAmC;;QAvBnC,wDAAwD;;QAGxD,iDAAiD;;QAGjD,qCAAqC;;YArCrC,kEAAkE;;YAGlE,qDAAqD;;YAGrD,uEAAuE;;YAGvE,+EAA+E;;YAG/E,qDAAqD;;YAGrD,oDAAoD;;YAGpD,wEAAwE;;;;;;;;;;;;;;;;;;;QAsBxE,qFAAqF;;QAGrF,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAchE,uFAAuF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9E,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B,uCAAuC;;IAGvC,oCAAoC;;IAGpC,6CAA6C;;IAG7C,sDAAsD;;;;;;;;;;;;EAE7C,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,6DAA6D;;IAG7D,mEAAmE;;IAGnE,oDAAoD;;IAGpD,iDAAiD;;;;;;;;;;;;EAExC,CAAC;AAEZ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B,2DAA2D;;IAG3D,iEAAiE;;;;;;;;;;;;;;EAclE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,oCAAoC;;QAElC,sDAAsD;;QAGtD,0EAA0E;;QAG1E,+CAA+C;;YAjCjD,2DAA2D;;YAG3D,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCxD,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;IACnC,+BAA+B;;QApG/B,mCAAmC;;YAvBnC,wDAAwD;;YAGxD,iDAAiD;;YAGjD,qCAAqC;;gBArCrC,kEAAkE;;gBAGlE,qDAAqD;;gBAGrD,uEAAuE;;gBAGvE,+EAA+E;;gBAG/E,qDAAqD;;gBAGrD,oDAAoD;;gBAGpD,wEAAwE;;;;;;;;;;;;;;;;;;;YAsBxE,qFAAqF;;YAGrF,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAchE,uFAAuF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoGvF,oCAAoC;;QA1FpC,uCAAuC;;QAGvC,oCAAoC;;QAGpC,6CAA6C;;QAG7C,sDAAsD;;;;;;;;;;;;;IAyFtD,mEAAmE;;QA/EnE,6DAA6D;;QAG7D,mEAAmE;;QAGnE,oDAAoD;;QAGpD,iDAAiD;;;;;;;;;;;;;IAyEjD,6CAA6C;;QAtC7C,oCAAoC;;YAElC,sDAAsD;;YAGtD,0EAA0E;;YAG1E,+CAA+C;;gBAjCjD,2DAA2D;;gBAG3D,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoEjE;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEM,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAcA"}
package/dist/schema.js CHANGED
@@ -80,6 +80,24 @@ export const CIConfigSchema = z.object({
80
80
  /** Enable coverage reporting (default: false) */
81
81
  coverage: z.boolean().optional(),
82
82
  }).strict();
83
+ /**
84
+ * Secret Scanning Configuration Schema
85
+ */
86
+ export const SecretScanningSchema = z.object({
87
+ /** Enable secret scanning in pre-commit (default: true) */
88
+ enabled: z.boolean().default(true),
89
+ /** Command to run for secret scanning (required when enabled) */
90
+ scanCommand: z.string().min(1, 'scanCommand cannot be empty').optional(),
91
+ }).strict().refine((data) => {
92
+ // If enabled is true, scanCommand must be provided
93
+ if (data.enabled && !data.scanCommand) {
94
+ return false;
95
+ }
96
+ return true;
97
+ }, {
98
+ message: 'scanCommand is required when secret scanning is enabled',
99
+ path: ['scanCommand'],
100
+ });
83
101
  /**
84
102
  * Hooks Configuration Schema
85
103
  */
@@ -90,6 +108,8 @@ export const HooksConfigSchema = z.object({
90
108
  enabled: z.boolean().default(true),
91
109
  /** Custom pre-commit command (default: 'npx vibe-validate pre-commit') */
92
110
  command: z.string().default('npx vibe-validate pre-commit'),
111
+ /** Secret scanning configuration (optional) */
112
+ secretScanning: SecretScanningSchema.optional(),
93
113
  }).strict().optional().default({
94
114
  enabled: true,
95
115
  command: 'npx vibe-validate pre-commit',
@@ -119,6 +139,16 @@ export const VibeValidateConfigSchema = z.object({
119
139
  command: 'npx vibe-validate pre-commit',
120
140
  },
121
141
  }),
142
+ /**
143
+ * Developer feedback for continuous quality improvement (optional, default: false)
144
+ *
145
+ * When enabled, provides additional alerts about extraction quality failures
146
+ * to help improve extractors through dogfooding. Useful for:
147
+ * - vibe-validate contributors
148
+ * - Projects building custom extractors
149
+ * - Teams wanting to improve validation feedback
150
+ */
151
+ developerFeedback: z.boolean().optional().default(false),
122
152
  }).strict();
123
153
  /**
124
154
  * Validate configuration object
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-validate/config",
3
- "version": "0.11.0",
3
+ "version": "0.12.1",
4
4
  "description": "Configuration system for vibe-validate with TypeScript-first design and config templates",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -154,6 +154,20 @@
154
154
  "command": {
155
155
  "type": "string",
156
156
  "default": "npx vibe-validate pre-commit"
157
+ },
158
+ "secretScanning": {
159
+ "type": "object",
160
+ "properties": {
161
+ "enabled": {
162
+ "type": "boolean",
163
+ "default": true
164
+ },
165
+ "scanCommand": {
166
+ "type": "string",
167
+ "minLength": 1
168
+ }
169
+ },
170
+ "additionalProperties": false
157
171
  }
158
172
  },
159
173
  "additionalProperties": false,
@@ -170,6 +184,10 @@
170
184
  "command": "npx vibe-validate pre-commit"
171
185
  }
172
186
  }
187
+ },
188
+ "developerFeedback": {
189
+ "type": "boolean",
190
+ "default": false
173
191
  }
174
192
  },
175
193
  "required": [
@@ -1,38 +0,0 @@
1
- /**
2
- * TypeScript-First Config Helper
3
- *
4
- * Provides a type-safe way to define vibe-validate configuration
5
- * with full IDE autocomplete and validation.
6
- */
7
- import type { VibeValidateConfig } from './schema.js';
8
- /**
9
- * Define a vibe-validate configuration
10
- *
11
- * This is a type-safe helper that provides IDE autocomplete and validation.
12
- * It performs no runtime operations - just returns the config object.
13
- *
14
- * @param config - Configuration object
15
- * @returns The same configuration object (type-checked)
16
- *
17
- * @example
18
- * ```typescript
19
- * // vibe-validate.config.yaml
20
- * import { defineConfig } from '@vibe-validate/config';
21
- *
22
- * export default defineConfig({
23
- * validation: {
24
- * phases: [
25
- * {
26
- * name: 'Type Checking',
27
- * parallel: false,
28
- * steps: [
29
- * { name: 'TypeScript', command: 'tsc --noEmit' }
30
- * ]
31
- * }
32
- * ]
33
- * }
34
- * });
35
- * ```
36
- */
37
- export declare function defineConfig(config: VibeValidateConfig): VibeValidateConfig;
38
- //# sourceMappingURL=define-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../src/define-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAE3E"}
@@ -1,38 +0,0 @@
1
- /**
2
- * TypeScript-First Config Helper
3
- *
4
- * Provides a type-safe way to define vibe-validate configuration
5
- * with full IDE autocomplete and validation.
6
- */
7
- /**
8
- * Define a vibe-validate configuration
9
- *
10
- * This is a type-safe helper that provides IDE autocomplete and validation.
11
- * It performs no runtime operations - just returns the config object.
12
- *
13
- * @param config - Configuration object
14
- * @returns The same configuration object (type-checked)
15
- *
16
- * @example
17
- * ```typescript
18
- * // vibe-validate.config.yaml
19
- * import { defineConfig } from '@vibe-validate/config';
20
- *
21
- * export default defineConfig({
22
- * validation: {
23
- * phases: [
24
- * {
25
- * name: 'Type Checking',
26
- * parallel: false,
27
- * steps: [
28
- * { name: 'TypeScript', command: 'tsc --noEmit' }
29
- * ]
30
- * }
31
- * ]
32
- * }
33
- * });
34
- * ```
35
- */
36
- export function defineConfig(config) {
37
- return config;
38
- }