@elsikora/commitizen-plugin-commitlint-ai
Version:
AI-powered Commitizen adapter with Commitlint integration
37 lines (36 loc) • 1.44 kB
TypeScript
import type { ICommandService } from '../../application/interface/command-service.interface';
import type { ICommitRepository } from '../../application/interface/commit-repository.interface';
import type { CommitMessage } from '../../domain/entity/commit-message.entity';
/**
* Git implementation of the commit repository
*/
export declare class GitCommitRepository implements ICommitRepository {
private readonly COMMAND_SERVICE;
constructor(commandService: ICommandService);
/**
* Create a commit with the given message
* @param {CommitMessage} message - The commit message
* @returns {Promise<void>} Promise that resolves when the commit is created
*/
commit(message: CommitMessage): Promise<void>;
/**
* Get the current branch name
* @returns {Promise<string>} Promise resolving to the current branch name
*/
getCurrentBranch(): Promise<string>;
/**
* Get the staged diff
* @returns {Promise<string>} Promise resolving to the staged diff
*/
getStagedDiff(): Promise<string>;
/**
* Get the list of staged files
* @returns {Promise<Array<string>>} Promise resolving to array of staged file paths
*/
getStagedFiles(): Promise<Array<string>>;
/**
* Check if there are staged changes
* @returns {Promise<boolean>} Promise resolving to true if there are staged changes
*/
hasStagedChanges(): Promise<boolean>;
}