@vibe-validate/cli 0.10.3 → 0.12.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 (108) hide show
  1. package/README.md +84 -92
  2. package/dist/bin.js +137 -20
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/cleanup.d.ts +4 -0
  5. package/dist/commands/cleanup.d.ts.map +1 -1
  6. package/dist/commands/cleanup.js +96 -15
  7. package/dist/commands/cleanup.js.map +1 -1
  8. package/dist/commands/config.d.ts +4 -0
  9. package/dist/commands/config.d.ts.map +1 -1
  10. package/dist/commands/config.js +83 -15
  11. package/dist/commands/config.js.map +1 -1
  12. package/dist/commands/doctor.d.ts +4 -0
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +385 -82
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/generate-workflow.d.ts +6 -2
  17. package/dist/commands/generate-workflow.d.ts.map +1 -1
  18. package/dist/commands/generate-workflow.js +188 -33
  19. package/dist/commands/generate-workflow.js.map +1 -1
  20. package/dist/commands/history.d.ts +13 -0
  21. package/dist/commands/history.d.ts.map +1 -0
  22. package/dist/commands/history.js +415 -0
  23. package/dist/commands/history.js.map +1 -0
  24. package/dist/commands/init.d.ts +4 -0
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +252 -109
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/pre-commit.d.ts +4 -0
  29. package/dist/commands/pre-commit.d.ts.map +1 -1
  30. package/dist/commands/pre-commit.js +158 -7
  31. package/dist/commands/pre-commit.js.map +1 -1
  32. package/dist/commands/state.d.ts +5 -1
  33. package/dist/commands/state.d.ts.map +1 -1
  34. package/dist/commands/state.js +192 -23
  35. package/dist/commands/state.js.map +1 -1
  36. package/dist/commands/sync-check.d.ts +4 -0
  37. package/dist/commands/sync-check.d.ts.map +1 -1
  38. package/dist/commands/sync-check.js +101 -14
  39. package/dist/commands/sync-check.js.map +1 -1
  40. package/dist/commands/validate.d.ts +5 -1
  41. package/dist/commands/validate.d.ts.map +1 -1
  42. package/dist/commands/validate.js +184 -28
  43. package/dist/commands/validate.js.map +1 -1
  44. package/dist/commands/watch-pr.d.ts +10 -0
  45. package/dist/commands/watch-pr.d.ts.map +1 -0
  46. package/dist/commands/watch-pr.js +443 -0
  47. package/dist/commands/watch-pr.js.map +1 -0
  48. package/dist/schemas/watch-pr-schema.d.ts +261 -0
  49. package/dist/schemas/watch-pr-schema.d.ts.map +1 -0
  50. package/dist/schemas/watch-pr-schema.js +58 -0
  51. package/dist/schemas/watch-pr-schema.js.map +1 -0
  52. package/dist/scripts/generate-watch-pr-schema.d.ts +12 -0
  53. package/dist/scripts/generate-watch-pr-schema.d.ts.map +1 -0
  54. package/dist/scripts/generate-watch-pr-schema.js +35 -0
  55. package/dist/scripts/generate-watch-pr-schema.js.map +1 -0
  56. package/dist/services/ci-provider-registry.d.ts +38 -0
  57. package/dist/services/ci-provider-registry.d.ts.map +1 -0
  58. package/dist/services/ci-provider-registry.js +53 -0
  59. package/dist/services/ci-provider-registry.js.map +1 -0
  60. package/dist/services/ci-provider.d.ts +165 -0
  61. package/dist/services/ci-provider.d.ts.map +1 -0
  62. package/dist/services/ci-provider.js +11 -0
  63. package/dist/services/ci-provider.js.map +1 -0
  64. package/dist/services/ci-providers/github-actions.d.ts +41 -0
  65. package/dist/services/ci-providers/github-actions.d.ts.map +1 -0
  66. package/dist/services/ci-providers/github-actions.js +314 -0
  67. package/dist/services/ci-providers/github-actions.js.map +1 -0
  68. package/dist/utils/check-validation.d.ts +7 -4
  69. package/dist/utils/check-validation.d.ts.map +1 -1
  70. package/dist/utils/check-validation.js +129 -48
  71. package/dist/utils/check-validation.js.map +1 -1
  72. package/dist/utils/config-loader.d.ts +15 -3
  73. package/dist/utils/config-loader.d.ts.map +1 -1
  74. package/dist/utils/config-loader.js +61 -17
  75. package/dist/utils/config-loader.js.map +1 -1
  76. package/dist/utils/context-detector.d.ts +1 -1
  77. package/dist/utils/context-detector.js +1 -1
  78. package/dist/utils/normalize-line-endings.d.ts +53 -0
  79. package/dist/utils/normalize-line-endings.d.ts.map +1 -0
  80. package/dist/utils/normalize-line-endings.js +57 -0
  81. package/dist/utils/normalize-line-endings.js.map +1 -0
  82. package/dist/utils/run-validation-with-cache.d.ts +48 -0
  83. package/dist/utils/run-validation-with-cache.d.ts.map +1 -0
  84. package/dist/utils/run-validation-with-cache.js +123 -0
  85. package/dist/utils/run-validation-with-cache.js.map +1 -0
  86. package/dist/utils/runner-adapter.d.ts +1 -0
  87. package/dist/utils/runner-adapter.d.ts.map +1 -1
  88. package/dist/utils/runner-adapter.js +25 -17
  89. package/dist/utils/runner-adapter.js.map +1 -1
  90. package/dist/utils/setup-checks/gitignore-check.d.ts +10 -15
  91. package/dist/utils/setup-checks/gitignore-check.d.ts.map +1 -1
  92. package/dist/utils/setup-checks/gitignore-check.js +20 -138
  93. package/dist/utils/setup-checks/gitignore-check.js.map +1 -1
  94. package/dist/utils/template-discovery.d.ts +40 -0
  95. package/dist/utils/template-discovery.d.ts.map +1 -0
  96. package/dist/utils/template-discovery.js +136 -0
  97. package/dist/utils/template-discovery.js.map +1 -0
  98. package/dist/utils/validate-workflow.d.ts +28 -0
  99. package/dist/utils/validate-workflow.d.ts.map +1 -0
  100. package/dist/utils/validate-workflow.js +247 -0
  101. package/dist/utils/validate-workflow.js.map +1 -0
  102. package/dist/utils/validation-cache.d.ts +30 -0
  103. package/dist/utils/validation-cache.d.ts.map +1 -0
  104. package/dist/utils/validation-cache.js +57 -0
  105. package/dist/utils/validation-cache.js.map +1 -0
  106. package/package.json +19 -16
  107. package/watch-pr-result.schema.json +204 -0
  108. package/LICENSE +0 -21
@@ -3,36 +3,31 @@
3
3
  *
4
4
  * Interactive setup wizard for vibe-validate configuration.
5
5
  */
6
- import { writeFileSync, existsSync } from 'fs';
7
- import { join } from 'path';
8
- import { pathToFileURL } from 'url';
9
- import { dump as stringifyYaml } from 'js-yaml';
6
+ import { writeFileSync, existsSync, readFileSync } from 'fs';
7
+ import { join, dirname } from 'path';
8
+ import { fileURLToPath } from 'url';
9
+ import { stringify as stringifyYaml, parse as parseYaml } from 'yaml';
10
10
  import chalk from 'chalk';
11
11
  import { configExists } from '../utils/config-loader.js';
12
12
  import { detectGitConfig } from '../utils/git-detection.js';
13
13
  import { GitignoreSetupCheck } from '../utils/setup-checks/gitignore-check.js';
14
14
  import { HooksSetupCheck } from '../utils/setup-checks/hooks-check.js';
15
15
  import { WorkflowSetupCheck } from '../utils/setup-checks/workflow-check.js';
16
+ import { discoverTemplates } from '../utils/template-discovery.js';
16
17
  export function initCommand(program) {
17
18
  program
18
19
  .command('init')
19
20
  .description('Initialize vibe-validate configuration')
20
- .option('-p, --preset <preset>', 'Use preset (typescript-library|typescript-nodejs|typescript-react)')
21
+ .option('-t, --template <name>', 'Template to use (minimal|typescript-library|typescript-nodejs|typescript-react)', 'minimal')
21
22
  .option('-f, --force', 'Overwrite existing configuration')
22
23
  .option('--dry-run', 'Preview changes without writing files')
23
24
  .option('--setup-hooks', 'Install pre-commit hook')
24
25
  .option('--setup-workflow', 'Create GitHub Actions workflow')
25
26
  .option('--fix-gitignore', 'Add state file to .gitignore')
26
- .option('--migrate', 'Migrate .mjs config to .yaml format')
27
27
  .action(async (options) => {
28
28
  try {
29
29
  const cwd = process.cwd();
30
30
  const isDryRun = options.dryRun || false;
31
- // Handle migration
32
- if (options.migrate) {
33
- await handleMigration(cwd, options, isDryRun);
34
- return;
35
- }
36
31
  // Check if this is a focused operation
37
32
  const isFocusedOperation = options.setupHooks || options.setupWorkflow || options.fixGitignore;
38
33
  // Handle focused operations
@@ -130,8 +125,8 @@ async function handleFocusedOperations(cwd, options, isDryRun) {
130
125
  /**
131
126
  * Handle config file initialization
132
127
  *
133
- * Creates a new vibe-validate configuration file using the specified preset.
134
- * Auto-detects git configuration and generates appropriate defaults.
128
+ * Creates a vibe-validate configuration file by copying the specified template
129
+ * from the config-templates directory and customizing it with auto-detected settings.
135
130
  *
136
131
  * @param cwd - Current working directory
137
132
  * @param options - Init command options
@@ -145,14 +140,8 @@ async function handleConfigInitialization(cwd, options, isDryRun) {
145
140
  console.error(chalk.gray(' Use --force to overwrite'));
146
141
  process.exit(1);
147
142
  }
148
- const preset = options.preset || 'typescript-library';
149
- // Validate preset
150
- const validPresets = ['typescript-library', 'typescript-nodejs', 'typescript-react'];
151
- if (!validPresets.includes(preset)) {
152
- console.error(chalk.red(`❌ Invalid preset: ${preset}`));
153
- console.error(chalk.gray(` Valid presets: ${validPresets.join(', ')}`));
154
- process.exit(1);
155
- }
143
+ // Get template name (defaults to 'minimal')
144
+ const templateName = options.template || 'minimal';
156
145
  // Detect git configuration
157
146
  const gitConfig = detectGitConfig();
158
147
  if (!isDryRun) {
@@ -165,15 +154,15 @@ async function handleConfigInitialization(cwd, options, isDryRun) {
165
154
  console.log(chalk.gray('ℹ️ Using default git configuration (main, origin)'));
166
155
  }
167
156
  }
168
- // Generate YAML config file content
169
- const configContent = generateYamlConfig(preset, gitConfig);
157
+ // Generate YAML config file content from template
158
+ const configContent = generateYamlConfig(templateName, gitConfig);
170
159
  const configPath = join(cwd, 'vibe-validate.config.yaml');
171
160
  if (isDryRun) {
172
161
  // Preview mode - show what would be created
173
162
  console.log(chalk.blue('🔍 Configuration preview (dry-run):'));
174
163
  console.log(chalk.yellow(' Would create:'));
175
164
  console.log(chalk.gray(` - ${configPath}`));
176
- console.log(chalk.gray(` - Preset: ${preset}`));
165
+ console.log(chalk.gray(` - Template: ${templateName}`));
177
166
  console.log();
178
167
  console.log(chalk.yellow('💡 Run without --dry-run to create configuration'));
179
168
  process.exit(0);
@@ -182,7 +171,7 @@ async function handleConfigInitialization(cwd, options, isDryRun) {
182
171
  writeFileSync(configPath, configContent, 'utf-8');
183
172
  console.log(chalk.green('✅ Configuration file created successfully'));
184
173
  console.log(chalk.blue(`📋 Created: ${configPath}`));
185
- console.log(chalk.gray(` Preset: ${preset}`));
174
+ console.log(chalk.gray(` Template: ${templateName}`));
186
175
  console.log();
187
176
  console.log(chalk.yellow('Next steps:'));
188
177
  console.log(chalk.gray(' 1. Review and customize vibe-validate.config.yaml'));
@@ -193,103 +182,257 @@ async function handleConfigInitialization(cwd, options, isDryRun) {
193
182
  process.exit(0);
194
183
  }
195
184
  /**
196
- * Generate YAML configuration content based on preset
185
+ * Get the path to the config-templates directory
197
186
  *
198
- * Creates YAML configuration file content with the specified preset
199
- * and git configuration values.
187
+ * Works both in development (from source) and when installed as npm package.
200
188
  *
201
- * @param preset - Preset name (typescript-library, typescript-nodejs, typescript-react)
202
- * @param gitConfig - Detected git configuration
203
- * @returns YAML configuration file content
189
+ * @returns Absolute path to config-templates directory
204
190
  */
205
- function generateYamlConfig(preset, gitConfig) {
206
- const baseConfig = {
207
- // JSON Schema for IDE validation
208
- $schema: 'https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json',
209
- // Use preset as base configuration
210
- extends: preset,
211
- // Git integration settings
212
- git: {
213
- mainBranch: gitConfig.mainBranch,
214
- remoteOrigin: gitConfig.remoteOrigin,
215
- autoSync: false, // Never auto-merge - safety first
216
- },
217
- // Validation configuration (from preset)
218
- validation: {
219
- caching: {
220
- strategy: 'git-tree-hash',
221
- enabled: true,
222
- },
223
- failFast: true,
224
- },
225
- };
226
- return stringifyYaml(baseConfig, {
227
- indent: 2,
228
- lineWidth: 100,
229
- noRefs: true,
230
- });
191
+ function getTemplatesDir() {
192
+ const __filename = fileURLToPath(import.meta.url);
193
+ const __dirname = dirname(__filename);
194
+ // Try paths in order:
195
+ // 1. Development: packages/cli/src/commands/../../config-templates
196
+ const devPath = join(__dirname, '../../../../config-templates');
197
+ if (existsSync(devPath)) {
198
+ return devPath;
199
+ }
200
+ // 2. Production: packages/cli/dist/commands/../config-templates
201
+ const prodPath = join(__dirname, '../../../config-templates');
202
+ if (existsSync(prodPath)) {
203
+ return prodPath;
204
+ }
205
+ // 3. Fallback: assume monorepo root
206
+ const fallbackPath = join(process.cwd(), 'config-templates');
207
+ return fallbackPath;
231
208
  }
232
209
  /**
233
- * Handle migration from .mjs to .yaml config format
210
+ * Generate YAML configuration content by copying specified template
234
211
  *
235
- * Loads the existing .mjs configuration, converts it to YAML format,
236
- * and writes it to vibe-validate.config.yaml.
212
+ * Reads the specified template from config-templates/ and customizes
213
+ * it with the detected git configuration values.
237
214
  *
238
- * @param cwd - Current working directory
239
- * @param options - Init command options
240
- * @param isDryRun - Preview mode (no file modifications)
241
- * @throws Error if .mjs config doesn't exist or .yaml already exists (without --force)
215
+ * @param templateName - Name of the template (without .yaml extension)
216
+ * @param gitConfig - Detected git configuration
217
+ * @returns YAML configuration file content
218
+ * @throws Error if template doesn't exist or is invalid
242
219
  */
243
- async function handleMigration(cwd, options, isDryRun) {
244
- const mjsPath = join(cwd, 'vibe-validate.config.mjs');
245
- const yamlPath = join(cwd, 'vibe-validate.config.yaml');
246
- // Check if .mjs config exists
247
- if (!existsSync(mjsPath)) {
248
- console.error(chalk.red('❌ No .mjs config found to migrate'));
249
- console.error(chalk.gray(' Expected: vibe-validate.config.mjs'));
220
+ function generateYamlConfig(templateName, gitConfig) {
221
+ const templatesDir = getTemplatesDir();
222
+ // Add .yaml extension if not present
223
+ const templateFile = templateName.endsWith('.yaml') ? templateName : `${templateName}.yaml`;
224
+ const templatePath = join(templatesDir, templateFile);
225
+ // Check if template exists
226
+ if (!existsSync(templatePath)) {
227
+ // List available templates using discovery utility
228
+ const availableTemplates = discoverTemplates();
229
+ console.error(chalk.red(`❌ Template '${templateName}' not found`));
230
+ console.error(chalk.gray(' Available templates:'));
231
+ for (const template of availableTemplates) {
232
+ const displayName = template.filename.replace('.yaml', '');
233
+ if (template.description) {
234
+ console.error(chalk.gray(` - ${displayName} (${template.description})`));
235
+ }
236
+ else {
237
+ console.error(chalk.gray(` - ${displayName}`));
238
+ }
239
+ }
250
240
  process.exit(1);
251
241
  }
252
- // Check if .yaml config already exists (unless --force)
253
- if (existsSync(yamlPath) && !options.force && !isDryRun) {
254
- console.error(chalk.red('❌ YAML config already exists'));
255
- console.error(chalk.gray(' Use --force to overwrite'));
256
- process.exit(1);
242
+ // Read and parse the template
243
+ const templateContent = readFileSync(templatePath, 'utf-8');
244
+ const templateConfig = parseYaml(templateContent);
245
+ // Customize git settings with auto-detected values
246
+ if (typeof templateConfig.git === 'object' && templateConfig.git !== null) {
247
+ const gitSection = templateConfig.git;
248
+ gitSection.mainBranch = gitConfig.mainBranch;
249
+ gitSection.remoteOrigin = gitConfig.remoteOrigin;
257
250
  }
258
- // Load the .mjs config
259
- const fileUrl = pathToFileURL(mjsPath).href;
260
- const module = await import(fileUrl);
261
- const config = module.default || module;
262
- // Convert to YAML
263
- const yamlContent = stringifyYaml(config, {
251
+ // Return the customized config
252
+ return stringifyYaml(templateConfig, {
264
253
  indent: 2,
265
254
  lineWidth: 100,
266
- noRefs: true,
267
255
  });
268
- if (isDryRun) {
269
- // Preview mode
270
- console.log(chalk.blue('🔍 Migration preview (dry-run):'));
271
- console.log(chalk.yellow(' Would create:'));
272
- console.log(chalk.gray(` - ${yamlPath}`));
273
- console.log();
274
- console.log(chalk.gray('Preview of YAML content:'));
275
- console.log(chalk.gray('─'.repeat(60)));
276
- console.log(yamlContent);
277
- console.log(chalk.gray('─'.repeat(60)));
278
- console.log();
279
- console.log(chalk.yellow('💡 Run without --dry-run to apply migration'));
280
- console.log(chalk.gray(' Original .mjs file will be preserved (you can delete it manually)'));
281
- process.exit(0);
282
- }
283
- // Write YAML config
284
- writeFileSync(yamlPath, yamlContent, 'utf-8');
285
- console.log(chalk.green('✅ Migration completed successfully'));
286
- console.log(chalk.blue(`📋 Created: ${yamlPath}`));
287
- console.log();
288
- console.log(chalk.yellow('Next steps:'));
289
- console.log(chalk.gray(' 1. Review vibe-validate.config.yaml'));
290
- console.log(chalk.gray(' 2. Test with: vibe-validate validate'));
291
- console.log(chalk.gray(` 3. Delete old config: rm ${mjsPath}`));
292
- console.log(chalk.gray(' 4. Commit the new YAML config'));
293
- process.exit(0);
256
+ }
257
+ /**
258
+ * Show verbose help with detailed documentation
259
+ */
260
+ export function showInitVerboseHelp() {
261
+ console.log(`# init Command Reference
262
+
263
+ > Initialize vibe-validate configuration
264
+
265
+ ## Overview
266
+
267
+ The \`init\` command sets up vibe-validate in your project by creating configuration files, optionally setting up pre-commit hooks, and generating GitHub Actions workflows.
268
+
269
+ ## How It Works
270
+
271
+ 1. **Creates vibe-validate.config.yaml** in project root (required)
272
+ 2. **Optionally sets up pre-commit hooks** via Husky (with \`--setup-hooks\`)
273
+ 3. **Optionally creates GitHub Actions workflow** (with \`--setup-workflow\`)
274
+ 4. **Optionally updates .gitignore** to exclude validation state (with \`--fix-gitignore\`)
275
+
276
+ ## Options
277
+
278
+ - \`-t, --template <name>\` - Template to use (default: "minimal")
279
+ - Available: \`minimal\`, \`typescript-library\`, \`typescript-nodejs\`, \`typescript-react\`
280
+ - \`--setup-hooks\` - Install Husky pre-commit hook
281
+ - \`--setup-workflow\` - Generate GitHub Actions workflow
282
+ - \`--fix-gitignore\` - Add validation state to .gitignore
283
+ - \`-f, --force\` - Overwrite existing config file
284
+
285
+ ## Exit Codes
286
+
287
+ - \`0\` - Configuration created successfully
288
+ - \`1\` - Failed (config exists without --force, or invalid template)
289
+
290
+ ## Files Created/Modified
291
+
292
+ - \`vibe-validate.config.yaml\` (always created)
293
+ - \`.husky/pre-commit\` (with \`--setup-hooks\`)
294
+ - \`.github/workflows/validate.yml\` (with \`--setup-workflow\`)
295
+ - \`.gitignore\` (with \`--fix-gitignore\`)
296
+
297
+ ## Examples
298
+
299
+ \`\`\`bash
300
+ # Minimal setup (just config file)
301
+ vibe-validate init
302
+
303
+ # Full setup for TypeScript project
304
+ vibe-validate init --template typescript-nodejs --setup-workflow --setup-hooks
305
+
306
+ # React project with all features
307
+ vibe-validate init --template typescript-react --setup-workflow --setup-hooks --fix-gitignore
308
+
309
+ # Overwrite existing config
310
+ vibe-validate init --force --template typescript-library
311
+ \`\`\`
312
+
313
+ ## Templates
314
+
315
+ ### \`minimal\`
316
+ - Basic validation phases (build, test, lint)
317
+ - No TypeScript-specific checks
318
+ - Good starting point for customization
319
+
320
+ ### \`typescript-library\`
321
+ - TypeScript type checking
322
+ - ESLint with TypeScript rules
323
+ - Jest/Vitest testing
324
+ - NPM package publishing checks
325
+
326
+ ### \`typescript-nodejs\`
327
+ - TypeScript for Node.js applications
328
+ - API testing
329
+ - Security checks
330
+ - Docker build validation
331
+
332
+ ### \`typescript-react\`
333
+ - React-specific linting
334
+ - Component testing
335
+ - Build size checks
336
+ - Accessibility validation
337
+
338
+ ## Common Workflows
339
+
340
+ ### First-time setup
341
+ \`\`\`bash
342
+ # 1. Initialize with template
343
+ vibe-validate init --template typescript-nodejs --setup-workflow
344
+
345
+ # 2. Review generated config
346
+ cat vibe-validate.config.yaml
347
+
348
+ # 3. Customize as needed
349
+ # Edit vibe-validate.config.yaml
350
+
351
+ # 4. Commit
352
+ git add vibe-validate.config.yaml .github/workflows/validate.yml
353
+ git commit -m "feat: add vibe-validate"
354
+ \`\`\`
355
+
356
+ ### Migrating from another tool
357
+ \`\`\`bash
358
+ # 1. Initialize with minimal template
359
+ vibe-validate init
360
+
361
+ # 2. Manually configure validation phases
362
+ # Edit vibe-validate.config.yaml to match your existing workflow
363
+
364
+ # 3. Test locally
365
+ vibe-validate validate
366
+
367
+ # 4. If successful, commit
368
+ git add vibe-validate.config.yaml
369
+ git commit -m "feat: migrate to vibe-validate"
370
+ \`\`\`
371
+
372
+ ### Updating existing config
373
+ \`\`\`bash
374
+ # Regenerate config (backs up old one)
375
+ vibe-validate init --force --template typescript-nodejs
376
+
377
+ # Compare old vs new
378
+ git diff vibe-validate.config.yaml
379
+
380
+ # Keep customizations, restore if needed
381
+ \`\`\`
382
+
383
+ ## Pre-commit Hook Setup
384
+
385
+ When using \`--setup-hooks\`, init:
386
+ 1. Installs Husky (if not already installed)
387
+ 2. Creates \`.husky/pre-commit\` with:
388
+ \`\`\`bash
389
+ #!/bin/sh
390
+ npx vibe-validate pre-commit
391
+ \`\`\`
392
+ 3. Ensures hook is executable
393
+
394
+ The hook runs \`vibe-validate pre-commit\` before every commit, which:
395
+ - Checks sync with origin/main
396
+ - Runs validation (with caching)
397
+ - Blocks commit if validation fails
398
+
399
+ ## GitHub Actions Workflow
400
+
401
+ When using \`--setup-workflow\`, init creates \`.github/workflows/validate.yml\`:
402
+ - Runs on push and PR
403
+ - Matrix testing (multiple Node versions, OS)
404
+ - Caches validation results using git tree hashes
405
+ - Posts results as PR comments
406
+
407
+ ## Error Recovery
408
+
409
+ **If config already exists:**
410
+ \`\`\`bash
411
+ # Option 1: Use --force to overwrite
412
+ vibe-validate init --force
413
+
414
+ # Option 2: Manually delete and re-init
415
+ rm vibe-validate.config.yaml
416
+ vibe-validate init
417
+ \`\`\`
418
+
419
+ **If template not found:**
420
+ \`\`\`bash
421
+ # List available templates (check error message)
422
+ # Use one of: minimal, typescript-library, typescript-nodejs, typescript-react
423
+
424
+ vibe-validate init --template typescript-nodejs
425
+ \`\`\`
426
+
427
+ **If Husky install fails:**
428
+ \`\`\`bash
429
+ # Manually install Husky
430
+ npm install --save-dev husky
431
+ npx husky install
432
+
433
+ # Then retry
434
+ vibe-validate init --setup-hooks
435
+ \`\`\`
436
+ `);
294
437
  }
295
438
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,8 @@
6
6
  */
7
7
  import type { Command } from 'commander';
8
8
  export declare function preCommitCommand(program: Command): void;
9
+ /**
10
+ * Show verbose help with detailed documentation
11
+ */
12
+ export declare function showPreCommitVerboseHelp(): void;
9
13
  //# sourceMappingURL=pre-commit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-commit.d.ts","sourceRoot":"","sources":["../../src/commands/pre-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoFvD"}
1
+ {"version":3,"file":"pre-commit.d.ts","sourceRoot":"","sources":["../../src/commands/pre-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8IvD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA4F/C"}