autoagent-cli
Version:
Run autonomous AI agents using Claude or Gemini for task execution
67 lines (66 loc) • 2.24 kB
TypeScript
export interface GitStatus {
isRepo: boolean;
isDirty: boolean;
hasUncommitted: boolean;
hasUntracked: boolean;
branch: string;
ahead: number;
behind: number;
}
export interface CommitOptions {
message: string;
coAuthor?: {
name: string;
email: string;
};
signoff?: boolean;
noVerify?: boolean;
}
export interface GitCommitResult {
success: boolean;
commitHash?: string;
error?: string;
}
export interface GitValidationResult {
isValid: boolean;
errors: string[];
suggestions: string[];
gitVersion?: string;
}
export interface GitValidationOptions {
onDebug?: (message: string) => void;
}
export interface PushOptions {
remote?: string;
branch?: string;
force?: boolean;
setUpstream?: boolean;
}
export interface GitPushResult {
success: boolean;
remote?: string;
branch?: string;
error?: string;
stderr?: string;
}
export declare function checkGitAvailable(): Promise<boolean>;
export declare function getGitVersion(): Promise<string | null>;
export declare function isGitRepository(): Promise<boolean>;
export declare function getGitStatus(): Promise<GitStatus>;
export declare function stageAllChanges(): Promise<void>;
export declare function createCommit(options: CommitOptions): Promise<GitCommitResult>;
export declare function getCurrentCommitHash(): Promise<string | null>;
export declare function getUncommittedChanges(): Promise<string>;
export declare function hasChangesToCommit(): Promise<boolean>;
export declare function revertToCommit(commitHash: string): Promise<boolean>;
export declare function getChangedFiles(): Promise<string[]>;
export declare function validateGitEnvironment(options?: GitValidationOptions): Promise<GitValidationResult>;
export declare function getCurrentBranch(): Promise<string | null>;
export declare function hasUpstreamBranch(): Promise<boolean>;
export declare function checkGitRemote(remote?: string): Promise<{
exists: boolean;
accessible: boolean;
error?: string;
}>;
export declare function pushToRemote(options?: PushOptions): Promise<GitPushResult>;
export declare function validateRemoteForPush(remote?: string): Promise<GitValidationResult>;