type GitClient interface {
// EnsureCloned clones the repo if not present, validates if already cloned. EnsureCloned(ctx context.Context) error// Pull runs git pull on the local clone. Pull(ctx context.Context) error// Path returns the local clone path. Path() string
}