pub struct ClaudeClient { /* private fields */ }Expand description
Claude client for commit message improvement.
Implementations§
Source§impl ClaudeClient
impl ClaudeClient
Sourcepub fn new(ai_client: Box<dyn AiClient>) -> Self
pub fn new(ai_client: Box<dyn AiClient>) -> Self
Creates a new Claude client with the provided AI client implementation.
Sourcepub fn get_ai_client_metadata(&self) -> AiClientMetadata
pub fn get_ai_client_metadata(&self) -> AiClientMetadata
Returns metadata about the AI client.
Sourcepub async fn send_message(
&self,
system_prompt: &str,
user_prompt: &str,
) -> Result<String>
pub async fn send_message( &self, system_prompt: &str, user_prompt: &str, ) -> Result<String>
Sends a raw prompt to the AI client and returns the text response.
Sourcepub fn from_env(model: String) -> Result<Self>
pub fn from_env(model: String) -> Result<Self>
Creates a new Claude client with API key from environment variables.
Sourcepub async fn generate_amendments(
&self,
repo_view: &RepositoryView,
) -> Result<AmendmentFile>
pub async fn generate_amendments( &self, repo_view: &RepositoryView, ) -> Result<AmendmentFile>
Generates commit message amendments from repository view.
Sourcepub async fn generate_amendments_with_options(
&self,
repo_view: &RepositoryView,
fresh: bool,
) -> Result<AmendmentFile>
pub async fn generate_amendments_with_options( &self, repo_view: &RepositoryView, fresh: bool, ) -> Result<AmendmentFile>
Generates commit message amendments from repository view with options.
If fresh is true, ignores existing commit messages and generates new ones
based solely on the diff content.
Sourcepub async fn generate_contextual_amendments(
&self,
repo_view: &RepositoryView,
context: &CommitContext,
) -> Result<AmendmentFile>
pub async fn generate_contextual_amendments( &self, repo_view: &RepositoryView, context: &CommitContext, ) -> Result<AmendmentFile>
Generates contextual commit message amendments with enhanced intelligence.
Sourcepub async fn generate_contextual_amendments_with_options(
&self,
repo_view: &RepositoryView,
context: &CommitContext,
fresh: bool,
) -> Result<AmendmentFile>
pub async fn generate_contextual_amendments_with_options( &self, repo_view: &RepositoryView, context: &CommitContext, fresh: bool, ) -> Result<AmendmentFile>
Generates contextual commit message amendments with options.
If fresh is true, ignores existing commit messages and generates new ones
based solely on the diff content.
Sourcepub async fn generate_pr_content(
&self,
repo_view: &RepositoryView,
pr_template: &str,
) -> Result<PrContent>
pub async fn generate_pr_content( &self, repo_view: &RepositoryView, pr_template: &str, ) -> Result<PrContent>
Generates AI-powered PR content (title + description) from repository view and template.
Sourcepub async fn generate_pr_content_with_context(
&self,
repo_view: &RepositoryView,
pr_template: &str,
context: &CommitContext,
) -> Result<PrContent>
pub async fn generate_pr_content_with_context( &self, repo_view: &RepositoryView, pr_template: &str, context: &CommitContext, ) -> Result<PrContent>
Generates AI-powered PR content with project context (title + description).
Sourcepub async fn check_commits(
&self,
repo_view: &RepositoryView,
guidelines: Option<&str>,
include_suggestions: bool,
) -> Result<CheckReport>
pub async fn check_commits( &self, repo_view: &RepositoryView, guidelines: Option<&str>, include_suggestions: bool, ) -> Result<CheckReport>
Checks commit messages against guidelines and returns a report.
Validates commit messages against project guidelines or defaults, returning a structured report with issues and suggestions.
Sourcepub async fn check_commits_with_scopes(
&self,
repo_view: &RepositoryView,
guidelines: Option<&str>,
valid_scopes: &[ScopeDefinition],
include_suggestions: bool,
) -> Result<CheckReport>
pub async fn check_commits_with_scopes( &self, repo_view: &RepositoryView, guidelines: Option<&str>, valid_scopes: &[ScopeDefinition], include_suggestions: bool, ) -> Result<CheckReport>
Checks commit messages against guidelines with valid scopes and returns a report.
Validates commit messages against project guidelines or defaults, using the provided valid scopes for scope validation.
Sourcepub async fn refine_amendments_coherence(
&self,
items: &[(Amendment, String)],
) -> Result<AmendmentFile>
pub async fn refine_amendments_coherence( &self, items: &[(Amendment, String)], ) -> Result<AmendmentFile>
Refines individually-generated amendments for cross-commit coherence.
Sends commit summaries and proposed messages to the AI for a second pass that normalizes scopes, detects rename chains, and removes redundancy.
Sourcepub async fn refine_checks_coherence(
&self,
items: &[(CommitCheckResult, String)],
repo_view: &RepositoryView,
) -> Result<CheckReport>
pub async fn refine_checks_coherence( &self, items: &[(CommitCheckResult, String)], repo_view: &RepositoryView, ) -> Result<CheckReport>
Refines individually-generated check results for cross-commit coherence.
Sends commit summaries and check outcomes to the AI for a second pass that ensures consistent severity, detects cross-commit issues, and normalizes scope validation.