diff --git a/base-action/src/setup-claude-code-settings.ts b/base-action/src/setup-claude-code-settings.ts index ba252e9..fb11ac4 100644 --- a/base-action/src/setup-claude-code-settings.ts +++ b/base-action/src/setup-claude-code-settings.ts @@ -90,20 +90,16 @@ export async function setupClaudeCodeSettings( await $`test -d ${projectAgentsDir}`.quiet(); console.log(`Found project agents directory at ${projectAgentsDir}`); - // Ensure target agents directory exists await $`mkdir -p ${claudeAgentsDir}`.quiet(); - // Copy all .md files from project agents to Claude's agents directory await $`cp ${projectAgentsDir}/*.md ${claudeAgentsDir}/ 2>/dev/null || true`.quiet(); - // Count copied agents for logging const agentFiles = await $`ls ${claudeAgentsDir}/*.md 2>/dev/null | wc -l` .quiet() .text(); const agentCount = parseInt(agentFiles.trim()) || 0; console.log(`Copied ${agentCount} agent(s) to ${claudeAgentsDir}`); } catch (e) { - // Directory doesn't exist or no agents to copy - this is expected in most cases console.log(`No project agents directory found at ${projectAgentsDir}`); } } diff --git a/base-action/test/setup-claude-code-settings.test.ts b/base-action/test/setup-claude-code-settings.test.ts index 63bab19..f730bd8 100644 --- a/base-action/test/setup-claude-code-settings.test.ts +++ b/base-action/test/setup-claude-code-settings.test.ts @@ -221,7 +221,7 @@ describe("setupClaudeCodeSettings", () => { const projectDir = join(testHomeDir, "test-project"); const projectAgentsDir = join(projectDir, ".claude", "agents"); await mkdir(projectAgentsDir, { recursive: true }); - + // Create test agent files await writeFile( join(projectAgentsDir, "test-agent.md"), @@ -231,20 +231,20 @@ describe("setupClaudeCodeSettings", () => { join(projectAgentsDir, "another-agent.md"), "---\nname: another-agent\n---\nAnother agent", ); - + // Set GITHUB_WORKSPACE to the test project directory const originalWorkspace = process.env.GITHUB_WORKSPACE; process.env.GITHUB_WORKSPACE = projectDir; - + try { await setupClaudeCodeSettings(undefined, testHomeDir); - + // Check that agents were copied const agentsDir = join(testHomeDir, ".claude", "agents"); const files = await readdir(agentsDir); expect(files).toContain("test-agent.md"); expect(files).toContain("another-agent.md"); - + // Verify content was copied correctly const content = await readFile(join(agentsDir, "test-agent.md"), "utf-8"); expect(content).toContain("Test agent content"); @@ -262,13 +262,13 @@ describe("setupClaudeCodeSettings", () => { // Set GITHUB_WORKSPACE to a directory without .claude/agents const projectDir = join(testHomeDir, "project-without-agents"); await mkdir(projectDir, { recursive: true }); - + const originalWorkspace = process.env.GITHUB_WORKSPACE; process.env.GITHUB_WORKSPACE = projectDir; - + try { await setupClaudeCodeSettings(undefined, testHomeDir); - + // Should complete without errors const settingsContent = await readFile(settingsPath, "utf-8"); const settings = JSON.parse(settingsContent);