UNPKG

git-aiflow

Version:

🚀 An AI-powered workflow automation tool for effortless Git-based development, combining smart GitLab/GitHub merge & pull request creation with Conan package management.

82 lines • 2.75 kB
#!/usr/bin/env node import { Shell } from './shell.js'; import { HttpClient } from './http/http-client.js'; import { GitService } from './services/git-service.js'; import { OpenAiService } from './services/openai-service.js'; import { GitPlatformService } from './services/git-platform-service.js'; import { WecomNotifier } from './services/wecom-notifier.js'; import { LoadedConfig } from './config.js'; /** * Base class for AI-powered Git automation applications */ export declare abstract class BaseAiflowApp { protected readonly shell: Shell; protected readonly http: HttpClient; protected readonly git: GitService; protected config: LoadedConfig; protected openai: OpenAiService; protected gitPlatform: GitPlatformService; protected wecom: WecomNotifier; /** * Initialize services with configuration */ protected initializeServices(cliConfig?: any): Promise<void>; /** * Interactive file selection for staging * @returns Promise<boolean> - true if files were staged, false if user cancelled */ protected interactiveFileSelection(): Promise<boolean>; /** * Prompt user to select files for staging * @param fileStatuses Array of file statuses * @returns Promise<boolean> - true if files were staged, false if cancelled */ private promptFileSelection; /** * Parse user input for file selection * @param input User input string * @param fileStatuses Array of file statuses * @returns Array of selected files */ private parseFileSelection; /** * Validate required configuration for the application */ protected validateConfiguration(validateGitAccessToken?: boolean): boolean; /** * Check if commit-only mode is enabled via CLI arguments * @returns True if --commit-only or -co or -cmo is present in CLI args */ private isCommitOnlyMode; /** * Commit only workflow - just commit staged changes without creating MR */ runCommitOnly(): Promise<void>; /** * Create MR from base branch to current branch when no staged changes */ runFromBaseBranch(): Promise<void>; /** * Create automated merge request from staged changes */ run(): Promise<void>; } /** * Git Auto MR application for automated merge request creation */ export declare class GitAutoMrApp extends BaseAiflowApp { /** * Display version information */ static showVersion(): void; static showVersionShort(): void; /** * Display usage information */ static showUsage(): void; /** * Main entry point for command line execution */ static main(): Promise<void>; } //# sourceMappingURL=aiflow-app.d.ts.map