- Add Gitea CI workflow for testing, linting, and building - Add release workflow for multi-platform builds and GitHub releases - Implement persistent chat history with JSON storage - Add shell completion generation for bash, zsh, fish, powershell - Introduce custom error types and logging system - Add interfaces for git and AI client for better testability - Enhance config with temperature and timeout settings - Add comprehensive unit tests for config, errors, git, grok, and logger - Update README with installation, features, and development instructions - Make model flag persistent across commands - Add context timeouts to API requests
24 lines
451 B
Go
24 lines
451 B
Go
package git
|
|
|
|
// GitRunner defines the interface for git operations
|
|
type GitRunner interface {
|
|
Run(args []string) (string, error)
|
|
IsRepo() bool
|
|
}
|
|
|
|
// DefaultRunner implements GitRunner
|
|
type DefaultRunner struct{}
|
|
|
|
func (r *DefaultRunner) Run(args []string) (string, error) {
|
|
return Run(args)
|
|
}
|
|
|
|
func (r *DefaultRunner) IsRepo() bool {
|
|
return IsRepo()
|
|
}
|
|
|
|
// NewRunner creates a new git runner
|
|
func NewRunner() GitRunner {
|
|
return &DefaultRunner{}
|
|
}
|