Skip to main content

ClaudeClient

Struct ClaudeClient 

Source
pub struct ClaudeClient { /* private fields */ }
Expand description

Claude client for commit message improvement

Implementations§

Source§

impl ClaudeClient

Source

pub fn new(ai_client: Box<dyn AiClient>) -> Self

Create new Claude client with provided AI client implementation

Source

pub fn get_ai_client_metadata(&self) -> AiClientMetadata

Get metadata about the AI client

Source

pub async fn send_message( &self, system_prompt: &str, user_prompt: &str, ) -> Result<String>

Send a raw prompt to the AI client and return the text response

Source

pub fn from_env(model: String) -> Result<Self>

Create new Claude client with API key from environment variables

Source

pub async fn generate_amendments( &self, repo_view: &RepositoryView, ) -> Result<AmendmentFile>

Generate commit message amendments from repository view

Source

pub async fn generate_amendments_with_options( &self, repo_view: &RepositoryView, fresh: bool, ) -> Result<AmendmentFile>

Generate 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.

Source

pub async fn generate_contextual_amendments( &self, repo_view: &RepositoryView, context: &CommitContext, ) -> Result<AmendmentFile>

Generate contextual commit message amendments with enhanced intelligence

Source

pub async fn generate_contextual_amendments_with_options( &self, repo_view: &RepositoryView, context: &CommitContext, fresh: bool, ) -> Result<AmendmentFile>

Generate contextual commit message amendments with options

If fresh is true, ignores existing commit messages and generates new ones based solely on the diff content.

Source

pub async fn generate_pr_content( &self, repo_view: &RepositoryView, pr_template: &str, ) -> Result<PrContent>

Generate AI-powered PR content (title + description) from repository view and template

Source

pub async fn generate_pr_content_with_context( &self, repo_view: &RepositoryView, pr_template: &str, context: &CommitContext, ) -> Result<PrContent>

Generate AI-powered PR content with project context (title + description)

Source

pub async fn check_commits( &self, repo_view: &RepositoryView, guidelines: Option<&str>, include_suggestions: bool, ) -> Result<CheckReport>

Check commit messages against guidelines and return a report

Validates commit messages against project guidelines or defaults, returning a structured report with issues and suggestions.

Source

pub async fn check_commits_with_scopes( &self, repo_view: &RepositoryView, guidelines: Option<&str>, valid_scopes: &[ScopeDefinition], include_suggestions: bool, ) -> Result<CheckReport>

Check commit messages against guidelines with valid scopes and return a report

Validates commit messages against project guidelines or defaults, using the provided valid scopes for scope validation.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,