Implement Claude Code basics

This commit is contained in:
Colin McDonnell
2025-08-29 00:41:05 -07:00
parent 7745a0befb
commit ede6cfdfbe
14 changed files with 7723 additions and 628 deletions
+36
View File
@@ -0,0 +1,36 @@
import * as core from "@actions/core";
import { ClaudeAgent } from "./agents";
export async function main(): Promise<void> {
try {
// Get inputs
const prompt = core.getInput("prompt", { required: true });
const anthropicApiKey = core.getInput("anthropic_api_key", { required: true });
if (!anthropicApiKey) {
throw new Error("anthropic_api_key is required");
}
core.info(`→ Starting agent run with Claude Code`);
// core.info(`Prompt: ${prompt}`);
// Create and install the Claude agent
const agent = new ClaudeAgent({ apiKey: anthropicApiKey });
await agent.install();
// Execute the agent with the prompt
const result = await agent.execute(prompt);
if (!result.success) {
throw new Error(result.error || "Agent execution failed");
}
// Set outputs
core.setOutput("status", "success");
core.setOutput("prompt", prompt);
core.setOutput("output", result.output || "");
} catch (error) {
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
core.setFailed(`Action failed: ${errorMessage}`);
}
}