@vibe-validate/cli 0.13.0 → 0.14.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.
@@ -0,0 +1,348 @@
1
+ # vibe-validate Configuration Templates
2
+
3
+ Ready-to-use YAML configuration templates optimized for specific frameworks and project types.
4
+
5
+ ## What are Config Templates?
6
+
7
+ Configuration templates are battle-tested configs that provide:
8
+
9
+ - **Sensible defaults** - Pre-configured validation phases and steps
10
+ - **Performance optimization** - Parallel execution where possible
11
+ - **Fail-fast ordering** - Fast checks run first
12
+ - **Framework-specific tools** - TypeScript, ESLint, test runners, etc.
13
+ - **Easy customization** - Edit YAML directly to fit your needs
14
+
15
+ **Benefits:**
16
+ - ⚡ **Fast setup** - Copy and customize in seconds
17
+ - 🎯 **Best practices** - Based on real-world usage patterns
18
+ - 📝 **Transparent** - Everything visible in YAML (no hidden defaults)
19
+ - 🔍 **Discoverable** - Browse templates on GitHub
20
+ - 🤝 **Contributable** - Anyone can submit template PRs (no TypeScript knowledge needed)
21
+
22
+ ## Available Templates
23
+
24
+ ### [minimal.yaml](./minimal.yaml)
25
+ **For:** Custom projects, starting from scratch
26
+
27
+ **Validation phases:**
28
+ 1. Quick Check: Lint + tests
29
+
30
+ **Use when:**
31
+ - Building non-TypeScript projects (Python, Rust, Go, etc.)
32
+ - Need complete control over validation phases
33
+ - Learning the configuration format
34
+ - Experimenting with custom workflows
35
+
36
+ ---
37
+
38
+ ### [typescript-library.yaml](./typescript-library.yaml)
39
+ **For:** TypeScript libraries, npm packages, shared components
40
+
41
+ **Validation phases:**
42
+ 1. Pre-Qualification (parallel): TypeScript compilation, ESLint
43
+ 2. Build & Test: Unit tests, then build
44
+
45
+ **Use when:**
46
+ - Publishing to npm
47
+ - Building reusable libraries
48
+ - Creating shared components
49
+
50
+ ---
51
+
52
+ ### [typescript-nodejs.yaml](./typescript-nodejs.yaml)
53
+ **For:** Node.js applications, backend services, APIs, CLI tools
54
+
55
+ **Validation phases:**
56
+ 1. Pre-Qualification (parallel): TypeScript compilation, ESLint
57
+ 2. Testing (parallel): Unit tests, integration tests
58
+ 3. Build: Application build
59
+
60
+ **Use when:**
61
+ - Building REST APIs
62
+ - Creating Express/Fastify applications
63
+ - Developing backend microservices
64
+ - Building CLI tools
65
+ - Creating serverless functions
66
+
67
+ ---
68
+
69
+ ### [typescript-react.yaml](./typescript-react.yaml)
70
+ **For:** React applications, SPAs, Next.js apps
71
+
72
+ **Validation phases:**
73
+ 1. Pre-Qualification (parallel): TypeScript compilation, ESLint
74
+ 2. Testing: Unit tests with coverage
75
+ 3. Build: Application build
76
+
77
+ **Use when:**
78
+ - Building React SPAs
79
+ - Creating Next.js applications
80
+ - Developing React Native apps
81
+ - Building frontend applications
82
+
83
+ ---
84
+
85
+ ## Using These Templates
86
+
87
+ You can use these templates by copying them directly from this directory. In the future, `vibe-validate init` will support interactive template selection.
88
+
89
+ ### Option 1: Download with curl
90
+
91
+ ```bash
92
+ # Choose a template and download
93
+ curl -o vibe-validate.config.yaml \
94
+ https://raw.githubusercontent.com/jdutton/vibe-validate/main/config-templates/typescript-nodejs.yaml
95
+ ```
96
+
97
+ ### Option 2: Manual Copy
98
+
99
+ 1. Browse templates: [`config-templates/`](https://github.com/jdutton/vibe-validate/tree/main/config-templates)
100
+ 2. Open the template that fits your project
101
+ 3. Click "Raw" button
102
+ 4. Copy the content
103
+ 5. Create `vibe-validate.config.yaml` in your project root
104
+ 6. Paste the content
105
+
106
+ ### Option 3: Clone and Copy
107
+
108
+ ```bash
109
+ # Clone vibe-validate repo
110
+ git clone https://github.com/jdutton/vibe-validate.git
111
+
112
+ # Copy template to your project
113
+ cp vibe-validate/config-templates/typescript-nodejs.yaml \
114
+ /path/to/your/project/vibe-validate.config.yaml
115
+
116
+ # Clean up
117
+ rm -rf vibe-validate
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Customizing Templates
123
+
124
+ All templates can be customized to match your project needs:
125
+
126
+ ### Change Commands
127
+
128
+ Update step commands to match your package.json scripts:
129
+
130
+ ```yaml
131
+ steps:
132
+ - name: Tests
133
+ command: pnpm test # Change from: npm test
134
+ ```
135
+
136
+ ### Add New Steps
137
+
138
+ Add additional validation steps to any phase:
139
+
140
+ ```yaml
141
+ steps:
142
+ - name: TypeScript
143
+ command: tsc --noEmit
144
+ - name: ESLint
145
+ command: eslint src/
146
+ - name: Prettier # ← Add this
147
+ command: prettier --check .
148
+ ```
149
+
150
+ ### Add New Phases
151
+
152
+ Add entirely new validation phases:
153
+
154
+ ```yaml
155
+ phases:
156
+ - name: Pre-Qualification
157
+ # ... existing steps
158
+
159
+ - name: Security # ← Add this phase
160
+ parallel: false
161
+ steps:
162
+ - name: Audit
163
+ command: npm audit --production
164
+ ```
165
+
166
+ ### Adjust Parallelization
167
+
168
+ ```yaml
169
+ validation:
170
+ phases:
171
+ - name: Testing
172
+ parallel: false # Changed from 'true' - run sequentially
173
+ steps:
174
+ - name: Unit Tests
175
+ command: npm run test:unit
176
+ - name: Integration Tests
177
+ command: npm run test:integration
178
+ ```
179
+
180
+ ### Override Git Settings
181
+
182
+ ```yaml
183
+ git:
184
+ mainBranch: develop # Changed from 'main'
185
+ autoSync: true # Changed from 'false'
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Template Best Practices
191
+
192
+ ### 1. Start with a Template
193
+
194
+ **Don't start from scratch** - Choose the template closest to your project type and customize it.
195
+
196
+ ### 2. Keep Commands Simple
197
+
198
+ **Good:**
199
+ ```yaml
200
+ - name: Tests
201
+ command: npm test
202
+ ```
203
+
204
+ **Avoid:**
205
+ ```yaml
206
+ - name: Tests
207
+ command: npm test && npm run coverage && npm run report
208
+ ```
209
+
210
+ **Why:** Separate concerns into individual steps for:
211
+ - Better failure isolation
212
+ - Clearer error messages
213
+ - Easier debugging
214
+ - More granular caching
215
+
216
+ ### 3. Order Steps by Speed
217
+
218
+ **Fast checks first:**
219
+ ```yaml
220
+ steps:
221
+ - name: Lint (2s)
222
+ command: npm run lint
223
+ - name: Type Check (5s)
224
+ command: tsc --noEmit
225
+ - name: Tests (30s)
226
+ command: npm test
227
+ - name: Build (45s)
228
+ command: npm run build
229
+ ```
230
+
231
+ **Why:** Fail-fast principle - catch errors early, save time.
232
+
233
+ ### 4. Use Parallel Execution Wisely
234
+
235
+ **Parallelize when steps are independent:**
236
+ ```yaml
237
+ - name: Pre-Qualification
238
+ parallel: true # ✅ These can run at the same time
239
+ steps:
240
+ - name: TypeScript
241
+ command: tsc --noEmit
242
+ - name: ESLint
243
+ command: eslint .
244
+ ```
245
+
246
+ **Sequential when steps depend on each other:**
247
+ ```yaml
248
+ - name: Build & Deploy
249
+ parallel: false # ✅ Build must finish before deploy
250
+ steps:
251
+ - name: Build
252
+ command: npm run build
253
+ - name: Deploy
254
+ command: npm run deploy
255
+ ```
256
+
257
+ ### 5. Keep Phases Focused
258
+
259
+ **Good:**
260
+ ```yaml
261
+ validation:
262
+ phases:
263
+ - name: Code Quality
264
+ steps: [lint, typecheck]
265
+ - name: Testing
266
+ steps: [unit tests, integration tests]
267
+ - name: Build
268
+ steps: [build]
269
+ ```
270
+
271
+ **Avoid:**
272
+ ```yaml
273
+ validation:
274
+ phases:
275
+ - name: Everything
276
+ steps: [lint, typecheck, test, build, deploy, cleanup]
277
+ ```
278
+
279
+ **Why:** Focused phases make:
280
+ - Failures easier to diagnose
281
+ - Logs easier to read
282
+ - Caching more granular
283
+
284
+ ### 6. Document Custom Commands
285
+
286
+ If your project uses non-standard commands, add comments:
287
+
288
+ ```yaml
289
+ steps:
290
+ - name: Custom Validation
291
+ command: ./scripts/validate-schemas.sh # Validates JSON schemas in /config
292
+ ```
293
+
294
+ ### 7. Test Your Config
295
+
296
+ After customizing a template:
297
+
298
+ ```bash
299
+ # Validate config syntax
300
+ vibe-validate config --validate
301
+
302
+ # Run validation once
303
+ vibe-validate validate
304
+
305
+ # Check results
306
+ vibe-validate state
307
+ ```
308
+
309
+ ---
310
+
311
+ ## Validation
312
+
313
+ All templates in this directory are:
314
+
315
+ ✅ **Valid YAML** - Syntax checked
316
+ ✅ **Schema compliant** - Validated against JSON Schema
317
+ ✅ **Tested** - Used in CI/CD tests
318
+ ✅ **Documented** - Include helpful comments
319
+
320
+ ---
321
+
322
+ ## Related Documentation
323
+
324
+ - [Getting Started Guide](../docs/getting-started.md)
325
+ - [Configuration Reference](../docs/configuration-reference.md)
326
+ - [CLI Reference](../docs/cli-reference.md)
327
+
328
+ ---
329
+
330
+ ## Contributing
331
+
332
+ When adding new templates:
333
+
334
+ 1. Follow existing naming convention: `{framework}-{type}.yaml`
335
+ 2. Include header comment explaining the template's purpose
336
+ 3. Add comprehensive inline comments
337
+ 4. Update this README with template description
338
+ 5. Add tests to verify template validity
339
+ 6. Ensure JSON Schema URL is correct
340
+
341
+ **Template checklist:**
342
+ - [ ] Valid YAML syntax
343
+ - [ ] Includes `$schema` URL
344
+ - [ ] Has descriptive header comment
345
+ - [ ] Includes inline comments explaining phases
346
+ - [ ] Lists required npm scripts (if applicable)
347
+ - [ ] Added to this README
348
+ - [ ] Tested with `vibe-validate config --validate`
@@ -0,0 +1,47 @@
1
+ # ============================================================================
2
+ # CONFIGURATION TEMPLATE - Minimal vibe-validate Configuration
3
+ # ============================================================================
4
+ #
5
+ # USAGE:
6
+ # 1. Copy this file to your project root as 'vibe-validate.config.yaml'
7
+ # 2. Customize the validation phases and commands for your project
8
+ # 3. Run: vibe-validate validate
9
+ #
10
+ # This is a minimal configuration template with just the essentials.
11
+ # Use this as a starting point for custom projects or non-TypeScript projects
12
+ # (Python, Rust, Go, etc.).
13
+ #
14
+ # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
15
+ # ============================================================================
16
+
17
+ $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
18
+
19
+ # Git settings
20
+ git:
21
+ mainBranch: main
22
+
23
+ # Pre-commit hooks configuration
24
+ hooks:
25
+ preCommit:
26
+ enabled: true
27
+ # Secret scanning prevents accidental credential commits
28
+ # Runs before validation to catch secrets in staged files
29
+ secretScanning:
30
+ enabled: true
31
+ # Gitleaks is recommended for speed and comprehensive detection (160+ secret types)
32
+ # Install: brew install gitleaks (macOS) | https://github.com/gitleaks/gitleaks#installation
33
+ scanCommand: "gitleaks protect --staged --verbose"
34
+ # Alternative tools:
35
+ # - detect-secrets: scanCommand: "detect-secrets scan --staged"
36
+ # - semgrep: scanCommand: "semgrep scan --config auto"
37
+ #
38
+ # False positives: Create .gitleaksignore file with fingerprints
39
+ # To disable: set enabled: false
40
+
41
+ # Validation configuration
42
+ validation:
43
+ phases:
44
+ - name: Validation
45
+ steps:
46
+ - name: Tests
47
+ command: npm test
@@ -0,0 +1,57 @@
1
+ # ============================================================================
2
+ # CONFIGURATION TEMPLATE - vibe-validate for TypeScript Libraries
3
+ # ============================================================================
4
+ #
5
+ # USAGE:
6
+ # 1. Copy this file to your project root as 'vibe-validate.config.yaml'
7
+ # 2. Customize the validation phases and commands for your project
8
+ # 3. Run: vibe-validate validate
9
+ #
10
+ # This template is optimized for TypeScript libraries and npm packages.
11
+ # It includes pre-configured validation phases for type checking, linting,
12
+ # testing, and building.
13
+ #
14
+ # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
15
+ # ============================================================================
16
+
17
+ $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
18
+
19
+ # Git settings
20
+ git:
21
+ mainBranch: main
22
+
23
+ # Pre-commit hooks configuration
24
+ hooks:
25
+ preCommit:
26
+ enabled: true
27
+ # Secret scanning prevents accidental credential commits
28
+ # Runs before validation to catch secrets in staged files
29
+ secretScanning:
30
+ enabled: true
31
+ # Gitleaks is recommended for speed and comprehensive detection (160+ secret types)
32
+ # Install: brew install gitleaks (macOS) | https://github.com/gitleaks/gitleaks#installation
33
+ scanCommand: "gitleaks protect --staged --verbose"
34
+ # Alternative tools:
35
+ # - detect-secrets: scanCommand: "detect-secrets scan --staged"
36
+ # - semgrep: scanCommand: "semgrep scan --config auto"
37
+ #
38
+ # False positives: Create .gitleaksignore file with fingerprints
39
+ # To disable: set enabled: false
40
+
41
+ # Validation configuration
42
+ validation:
43
+ phases:
44
+ - name: Pre-Qualification
45
+ parallel: true
46
+ steps:
47
+ - name: TypeScript
48
+ command: tsc --noEmit
49
+ - name: ESLint
50
+ command: eslint .
51
+
52
+ - name: Build & Test
53
+ steps:
54
+ - name: Unit Tests
55
+ command: npm test
56
+ - name: Build
57
+ command: npm run build
@@ -0,0 +1,64 @@
1
+ # ============================================================================
2
+ # CONFIGURATION TEMPLATE - vibe-validate for Node.js Applications
3
+ # ============================================================================
4
+ #
5
+ # USAGE:
6
+ # 1. Copy this file to your project root as 'vibe-validate.config.yaml'
7
+ # 2. Customize the validation phases and commands for your project
8
+ # 3. Run: vibe-validate validate
9
+ #
10
+ # This template is optimized for Node.js applications including backend services,
11
+ # REST APIs, Express/Fastify apps, CLI tools, and serverless functions.
12
+ # It includes pre-configured validation phases for type checking, linting,
13
+ # unit tests, integration tests, and building.
14
+ #
15
+ # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
16
+ # ============================================================================
17
+
18
+ $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
19
+
20
+ # Git settings
21
+ git:
22
+ mainBranch: main
23
+
24
+ # Pre-commit hooks configuration
25
+ hooks:
26
+ preCommit:
27
+ enabled: true
28
+ # Secret scanning prevents accidental credential commits
29
+ # Runs before validation to catch secrets in staged files
30
+ secretScanning:
31
+ enabled: true
32
+ # Gitleaks is recommended for speed and comprehensive detection (160+ secret types)
33
+ # Install: brew install gitleaks (macOS) | https://github.com/gitleaks/gitleaks#installation
34
+ scanCommand: "gitleaks protect --staged --verbose"
35
+ # Alternative tools:
36
+ # - detect-secrets: scanCommand: "detect-secrets scan --staged"
37
+ # - semgrep: scanCommand: "semgrep scan --config auto"
38
+ #
39
+ # False positives: Create .gitleaksignore file with fingerprints
40
+ # To disable: set enabled: false
41
+
42
+ # Validation configuration
43
+ validation:
44
+ phases:
45
+ - name: Pre-Qualification
46
+ parallel: true
47
+ steps:
48
+ - name: TypeScript
49
+ command: tsc --noEmit
50
+ - name: ESLint
51
+ command: eslint src/
52
+
53
+ - name: Testing
54
+ parallel: true
55
+ steps:
56
+ - name: Unit Tests
57
+ command: npm run test:unit
58
+ - name: Integration Tests
59
+ command: npm run test:integration
60
+
61
+ - name: Build
62
+ steps:
63
+ - name: Build
64
+ command: npm run build
@@ -0,0 +1,64 @@
1
+ # ============================================================================
2
+ # CONFIGURATION TEMPLATE - vibe-validate for React Applications
3
+ # ============================================================================
4
+ #
5
+ # USAGE:
6
+ # 1. Copy this file to your project root as 'vibe-validate.config.yaml'
7
+ # 2. Customize the validation phases and commands for your project
8
+ # 3. Run: vibe-validate validate
9
+ #
10
+ # This template is optimized for React applications including SPAs, Next.js apps,
11
+ # React Native apps, and other frontend applications.
12
+ # It includes pre-configured validation phases for type checking, linting,
13
+ # unit tests, component tests, and building.
14
+ #
15
+ # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
16
+ # ============================================================================
17
+
18
+ $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
19
+
20
+ # Git settings
21
+ git:
22
+ mainBranch: main
23
+
24
+ # Pre-commit hooks configuration
25
+ hooks:
26
+ preCommit:
27
+ enabled: true
28
+ # Secret scanning prevents accidental credential commits
29
+ # Runs before validation to catch secrets in staged files
30
+ secretScanning:
31
+ enabled: true
32
+ # Gitleaks is recommended for speed and comprehensive detection (160+ secret types)
33
+ # Install: brew install gitleaks (macOS) | https://github.com/gitleaks/gitleaks#installation
34
+ scanCommand: "gitleaks protect --staged --verbose"
35
+ # Alternative tools:
36
+ # - detect-secrets: scanCommand: "detect-secrets scan --staged"
37
+ # - semgrep: scanCommand: "semgrep scan --config auto"
38
+ #
39
+ # False positives: Create .gitleaksignore file with fingerprints
40
+ # To disable: set enabled: false
41
+
42
+ # Validation configuration
43
+ validation:
44
+ phases:
45
+ - name: Pre-Qualification
46
+ parallel: true
47
+ steps:
48
+ - name: TypeScript
49
+ command: tsc --noEmit
50
+ - name: ESLint
51
+ command: eslint src/
52
+
53
+ - name: Testing
54
+ parallel: true
55
+ steps:
56
+ - name: Unit Tests
57
+ command: npm run test:unit
58
+ - name: Component Tests
59
+ command: npm run test:component
60
+
61
+ - name: Build
62
+ steps:
63
+ - name: Build
64
+ command: npm run build
package/dist/bin.js CHANGED
@@ -19,6 +19,7 @@ import { generateWorkflowCommand } from './commands/generate-workflow.js';
19
19
  import { doctorCommand } from './commands/doctor.js';
20
20
  import { registerWatchPRCommand } from './commands/watch-pr.js';
21
21
  import { historyCommand } from './commands/history.js';
22
+ import { runCommand } from './commands/run.js';
22
23
  // Read version from package.json at runtime
23
24
  // This approach works with ESM and survives TypeScript compilation
24
25
  const __filename = fileURLToPath(import.meta.url);
@@ -51,6 +52,7 @@ generateWorkflowCommand(program); // vibe-validate generate-workflow
51
52
  doctorCommand(program); // vibe-validate doctor
52
53
  registerWatchPRCommand(program); // vibe-validate watch-pr
53
54
  historyCommand(program); // vibe-validate history
55
+ runCommand(program); // vibe-validate run
54
56
  const verboseHelpRegistry = {
55
57
  'history': async () => {
56
58
  const { showHistoryVerboseHelp } = await import('./commands/history.js');
@@ -96,6 +98,10 @@ const verboseHelpRegistry = {
96
98
  const { showWatchPRVerboseHelp } = await import('./commands/watch-pr.js');
97
99
  return showWatchPRVerboseHelp;
98
100
  },
101
+ 'run': async () => {
102
+ const { showRunVerboseHelp } = await import('./commands/run.js');
103
+ return showRunVerboseHelp;
104
+ },
99
105
  };
100
106
  /**
101
107
  * Handle --help --verbose flag combination
@@ -352,6 +358,28 @@ function showComprehensiveHelp(program) {
352
358
  'vibe-validate watch-pr 42'
353
359
  ]
354
360
  }
361
+ },
362
+ run: {
363
+ whatItDoes: [
364
+ '1. Executes command in shell subprocess',
365
+ '2. Captures stdout and stderr output',
366
+ '3. Auto-detects format (vitest, jest, tsc, eslint, etc.)',
367
+ '4. Extracts errors using appropriate extractor',
368
+ '5. Outputs structured YAML with error details',
369
+ '6. Passes through exit code from command'
370
+ ],
371
+ exitCodes: {
372
+ 0: 'Command succeeded',
373
+ 1: 'Command failed (same code as original command)'
374
+ },
375
+ whenToUse: 'Run individual tests or validation steps with LLM-friendly error extraction',
376
+ examples: [
377
+ 'vibe-validate run "npx vitest test.ts" # Single test file',
378
+ 'vibe-validate run "npx vitest -t \'test name\'" # Specific test',
379
+ 'vibe-validate run "pnpm --filter @pkg test" # Package tests',
380
+ 'vibe-validate run "npx tsc --noEmit" # Type check',
381
+ 'vibe-validate run "pnpm lint" # Lint'
382
+ ]
355
383
  }
356
384
  };
357
385
  program.commands.forEach((cmd) => {
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}