using MarketAlly.GitCommitEditor.Models;
namespace MarketAlly.GitCommitEditor.Services;
///
/// Provides commit analysis functionality.
///
public interface ICommitAnalysisService
{
Task> AnalyzeAllReposAsync(
bool onlyNeedsImprovement = true,
IProgress<(string Repo, int Processed)>? progress = null,
CancellationToken ct = default);
IEnumerable AnalyzeRepo(ManagedRepo repo);
CommitAnalysis AnalyzeCommit(string repoPath, string commitHash);
Task UpdateRepoAnalysisAsync(ManagedRepo repo, int totalCommits, int commitsNeedingImprovement, CancellationToken ct = default);
}