UNPKG

gitset

Version:

Enhanced git init with user configuration management

75 lines 2.55 kB
import { GitDetector } from './git-detector.js'; import { ConfigManager } from './config-manager.js'; import { GitInstaller } from './git-installer.js'; import { WelcomeScreen } from '../ui/welcome.js'; import { UserPrompts } from '../ui/prompts.js'; import { CliOptions, GitUserInfo, GitInitResult } from '../types/cli.js'; /** * Orchestrates the main workflow of git repository initialization * Separates business logic from CLI concerns for better testability */ export declare class WorkflowOrchestrator { private gitDetector; private configManager; private gitInstaller; private welcomeScreen; private userPrompts; constructor(gitDetector: GitDetector, configManager: ConfigManager, gitInstaller: GitInstaller, welcomeScreen: WelcomeScreen, userPrompts: UserPrompts); /** * Execute the complete gitset workflow */ execute(directory: string, options: CliOptions): Promise<GitInitResult>; /** * Ensure Git is installed on the system */ private ensureGitInstallation; /** * Install Git using available methods */ private installGit; /** * Select installation method when multiple options are available */ private selectInstallationMethod; /** * Validate directory with retry logic */ private validateAndGetDirectory; /** * Get user configuration based on options */ private getUserConfiguration; /** * Initialize Git repository */ private initializeRepository; /** * Show workflow results to user */ private showResults; /** * Legacy methods for backward compatibility with CLI tests * These delegate to the appropriate components */ checkGitInstallation(): Promise<import("../types/cli.js").GitInstallStatus>; getGlobalGitConfig(): Promise<GitUserInfo>; validateDirectory(directory: string): Promise<import("../types/cli.js").DirectoryValidation>; initializeGitRepository(directory: string, userInfo: any): Promise<GitInitResult>; /** * Get target directory from user input */ private getTargetDirectory; /** * Check if Git repository already exists and handle user decision */ private checkExistingGitRepo; /** * Ensure target directory exists (create if needed) */ private ensureDirectoryExists; /** * Factory method to create orchestrator with default dependencies */ static createDefault(): WorkflowOrchestrator; } //# sourceMappingURL=workflow-orchestrator.d.ts.map