Task
Implement AI provider abstraction and Anthropic Claude integration.
Provider Trait
#[async_trait]
pub trait AiProvider: Send + Sync {
async fn complete(&self, prompt: &str) -> Result<String>;
fn name(&self) -> &'static str;
}
Anthropic Implementation
- Use
reqwest for HTTP
- Read
ANTHROPIC_API_KEY from environment
- Use Claude Sonnet model
- System prompt for Genesis file generation
Acceptance Criteria
Task
Implement AI provider abstraction and Anthropic Claude integration.
Provider Trait
Anthropic Implementation
reqwestfor HTTPANTHROPIC_API_KEYfrom environmentAcceptance Criteria