#!/usr/bin/env node /** * Doctor Command * * Diagnoses common issues with vibe-validate setup: * - Environment checks (Node.js version, package manager, git) * - Configuration validation * - Git integration health * - CI/CD workflow sync * * @packageDocumentation */ import { type Command } from 'commander'; /** * Result of a single doctor check */ export interface DoctorCheckResult { /** Name of the check */ name: string; /** Whether the check passed */ passed: boolean; /** Message describing the result */ message: string; /** Optional suggestion for fixing the issue */ suggestion?: string; } /** * Project context information */ export interface ProjectContext { /** Current working directory */ currentDir: string; /** Detected git repository root (null if not in git repo) */ gitRoot: string | null; /** Detected config file path (null if not found) */ configPath: string | null; } /** * Overall doctor diagnostic result */ export interface DoctorResult { /** Whether all checks passed */ allPassed: boolean; /** Individual check results */ checks: DoctorCheckResult[]; /** Suggestions for fixing failures */ suggestions: string[]; /** Whether verbose mode was enabled */ verboseMode?: boolean; /** Total number of checks run */ totalChecks: number; /** Number of checks that passed */ passedChecks: number; /** Project context information */ projectContext: ProjectContext; } /** * Version checker interface for dependency injection (enables fast tests) */ export interface VersionChecker { /** Fetch latest version from npm registry */ fetchLatestVersion(): Promise; } /** * Options for running doctor checks */ export interface DoctorOptions { /** Show all checks including passing ones */ verbose?: boolean; /** Version checker (for testing - defaults to npm registry) */ versionChecker?: VersionChecker; } /** * Run all doctor checks */ export declare function runDoctor(options?: DoctorOptions): Promise; /** * Main command handler for Commander.js */ export declare function doctorCommand(program: Command): void; /** * Show verbose help with detailed documentation */ export declare function showDoctorVerboseHelp(): void; //# sourceMappingURL=doctor.d.ts.map