package agent

type AgentConfig struct {
	Name        string
	Role        string
	GitUsername string
	GitEmail    string
	WorkingDir  string
}

type Agent struct {
	Config AgentConfig
}

func NewAgent(config AgentConfig) *Agent {
	return &Agent{
		Config: config,
	}
}

func (a *Agent) Run() {

}
