Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ProviderXAI = ProviderConfig{ BaseURL: "https://api.x.ai/v1", DefaultModel: "grok-2-1212", Name: "xAI", } ProviderOpenAI = ProviderConfig{ BaseURL: "", DefaultModel: "gpt-3.5-turbo", Name: "OpenAI", } ProviderDeepSeek = ProviderConfig{ BaseURL: "https://api.deepseek.com/v1", DefaultModel: "deepseek-chat", Name: "DeepSeek", } )
Known providers
Functions ¶
func GetTimeOfDay ¶
GetTimeOfDay returns a string representation of the time of day
func TruncateWithEllipsis ¶ added in v0.2.3
TruncateWithEllipsis truncates a string to maxLen and adds an ellipsis
Types ¶
type CommitContext ¶
type CommitContext struct { Message string Timestamp time.Time Diff string // Optional CommitHistory []string // Recent commit messages CommitStats map[string]interface{} // Stats about recent commits }
CommitContext contains information about a commit
type EngineName ¶
type EngineName string
EngineName returns a string identifier for an engine type
const ( // Local feedback engine (no LLM) EngineLocal EngineName = "local" // xAI feedback engine EngineXAI EngineName = "xai" // OpenAI feedback engine EngineOpenAI EngineName = "openai" // DeepSeek feedback engine EngineDeepSeek EngineName = "deepseek" )
type FeedbackEngine ¶
type FeedbackEngine interface { // Generate feedback based on commit context GenerateFeedback(context CommitContext) (string, error) // Generate insights for a weekly summary GenerateSummaryFeedback(context CommitContext) (string, error) // Generate commit message suggestions based on staged changes and history GenerateCommitSuggestion(context CommitContext) (string, error) }
FeedbackEngine defines the interface for generating commit feedback
func NewFeedbackEngine ¶
func NewFeedbackEngine(provider string, model string, apiKey string, personalityName string, personalityFile string) FeedbackEngine
NewFeedbackEngine creates a new feedback engine based on the provided configuration
func NewFeedbackEngineWithCustomPersonality ¶ added in v0.2.1
func NewFeedbackEngineWithCustomPersonality(provider string, model string, apiKey string, customPersonality personality.Personality) FeedbackEngine
NewFeedbackEngineWithCustomPersonality creates a feedback engine using a custom personality configuration
type LocalFeedbackEngine ¶
type LocalFeedbackEngine struct{}
LocalFeedbackEngine generates feedback using pre-written local responses
func NewLocalFeedbackEngine ¶
func NewLocalFeedbackEngine() *LocalFeedbackEngine
NewLocalFeedbackEngine creates a new local feedback engine
func (*LocalFeedbackEngine) GenerateCommitSuggestion ¶
func (e *LocalFeedbackEngine) GenerateCommitSuggestion(ctx CommitContext) (string, error)
GenerateCommitSuggestion creates a simple commit message suggestion based on diff stats
func (*LocalFeedbackEngine) GenerateFeedback ¶
func (e *LocalFeedbackEngine) GenerateFeedback(ctx CommitContext) (string, error)
GenerateFeedback implements the FeedbackEngine interface
func (*LocalFeedbackEngine) GenerateSummaryFeedback ¶
func (e *LocalFeedbackEngine) GenerateSummaryFeedback(ctx CommitContext) (string, error)
GenerateSummaryFeedback provides basic insights for a weekly summary without using an LLM
type ProviderConfig ¶
ProviderConfig contains configuration for different LLM providers
type UnifiedFeedbackEngine ¶
type UnifiedFeedbackEngine struct {
// contains filtered or unexported fields
}
UnifiedFeedbackEngine generates feedback using any OpenAI-compatible API
func NewUnifiedFeedbackEngine ¶
func NewUnifiedFeedbackEngine(provider string, model string, apiKey string, personalityName string, personalityFile string) *UnifiedFeedbackEngine
NewUnifiedFeedbackEngine creates a new unified feedback engine
func NewUnifiedFeedbackEngineWithCustomPersonality ¶ added in v0.2.1
func NewUnifiedFeedbackEngineWithCustomPersonality(provider string, model string, apiKey string, customPersonality personality.Personality) *UnifiedFeedbackEngine
NewUnifiedFeedbackEngineWithCustomPersonality creates a new unified feedback engine with a custom personality
func (*UnifiedFeedbackEngine) GenerateCommitSuggestion ¶
func (e *UnifiedFeedbackEngine) GenerateCommitSuggestion(ctx CommitContext) (string, error)
GenerateCommitSuggestion creates an AI-generated commit message based on staged changes
func (*UnifiedFeedbackEngine) GenerateFeedback ¶
func (e *UnifiedFeedbackEngine) GenerateFeedback(ctx CommitContext) (string, error)
GenerateFeedback implements the FeedbackEngine interface
func (*UnifiedFeedbackEngine) GenerateSummaryFeedback ¶
func (e *UnifiedFeedbackEngine) GenerateSummaryFeedback(ctx CommitContext) (string, error)
GenerateSummaryFeedback provides insights for a weekly summary or on-demand analysis