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
TypeScript
#!/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