personality

package
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindPersonalityFile

func FindPersonalityFile() string

FindPersonalityFile returns the path to the personality configuration file

func ValidatePersonality

func ValidatePersonality(p Personality) error

ValidatePersonality checks if a personality is valid

Types

type Context

type Context struct {
	Message       string
	TimeOfDay     string
	Diff          string
	Username      string
	RepoName      string
	CommitHistory []string               // Recent commit messages
	CommitStats   map[string]interface{} // Stats about recent commits
}

Context represents the commit context for template rendering

type Personality

type Personality struct {
	Name             string  `toml:"name"`
	Description      string  `toml:"description"`
	SystemPrompt     string  `toml:"system_prompt"`
	UserPromptFormat string  `toml:"user_prompt_format"`
	MaxTokens        int     `toml:"max_tokens"`
	Temperature      float64 `toml:"temperature"`
}

Personality defines a configurable AI personality

func (Personality) GeneratePrompt

func (p Personality) GeneratePrompt(ctx Context) (string, error)

GeneratePrompt generates a formatted prompt from a personality and context

type PersonalityConfig

type PersonalityConfig struct {
	Default       string                 `toml:"default"`
	Personalities map[string]Personality `toml:"personalities"`
}

PersonalityConfig holds multiple personality configurations

func DefaultPersonalities

func DefaultPersonalities() PersonalityConfig

DefaultPersonalities returns the built-in personality configurations

func LoadPersonalities

func LoadPersonalities(path string) (PersonalityConfig, error)

LoadPersonalities loads personality configurations from the given path

func (PersonalityConfig) GetPersonality

func (pc PersonalityConfig) GetPersonality(name string) (Personality, error)

GetPersonality returns a personality by name, falling back to default if not found

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL