grokkit/internal/git/interface.go
Greg Gauthier e355142c05 feat: add CI/CD workflows, persistent chat, shell completions, and testing
- 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
2026-03-01 12:17:22 +00:00

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{}
}