mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-22 22:44:13 +08:00
format
This commit is contained in:
@@ -72,7 +72,7 @@ export function prepareRunConfig(
|
||||
// Build arguments in correct order:
|
||||
// 1. -p flag for prompt via pipe
|
||||
const claudeArgs = ["-p"];
|
||||
|
||||
|
||||
// 2. User's custom arguments (can override defaults)
|
||||
if (options.claudeArgs && options.claudeArgs.trim() !== "") {
|
||||
const parsed = parseShellArgs(options.claudeArgs);
|
||||
@@ -81,7 +81,7 @@ export function prepareRunConfig(
|
||||
);
|
||||
claudeArgs.push(...customArgs);
|
||||
}
|
||||
|
||||
|
||||
// 3. Legacy specific options for backward compatibility
|
||||
// These will eventually be removed in favor of claudeArgs
|
||||
if (options.allowedTools) {
|
||||
@@ -108,7 +108,7 @@ export function prepareRunConfig(
|
||||
if (options.model) {
|
||||
claudeArgs.push("--model", options.model);
|
||||
}
|
||||
|
||||
|
||||
// 4. Base args always at the end
|
||||
claudeArgs.push(...BASE_ARGS);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
prompt:
|
||||
description: 'Prompt for Claude'
|
||||
description: "Prompt for Claude"
|
||||
required: true
|
||||
type: string
|
||||
|
||||
@@ -13,14 +13,14 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
|
||||
- name: Run Claude with custom arguments
|
||||
uses: anthropics/claude-code-action@v1
|
||||
with:
|
||||
mode: agent
|
||||
prompt: ${{ github.event.inputs.prompt }}
|
||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
|
||||
|
||||
# New claudeArgs input allows direct CLI argument control
|
||||
# Arguments are passed in the order: -p [claudeArgs] [legacy options] [BASE_ARGS]
|
||||
claude_args: |
|
||||
@@ -28,4 +28,4 @@ jobs:
|
||||
--model claude-3-opus-20240229
|
||||
--allowedTools Edit,Read,Write,Bash
|
||||
--disallowedTools WebSearch
|
||||
--system-prompt "You are a senior engineer focused on code quality"
|
||||
--system-prompt "You are a senior engineer focused on code quality"
|
||||
|
||||
@@ -41,10 +41,10 @@ export function buildAllowedToolsString(
|
||||
): string {
|
||||
// Tag mode needs these tools to function properly
|
||||
let baseTools = [...BASE_ALLOWED_TOOLS];
|
||||
|
||||
|
||||
// Always include the comment update tool for tag mode
|
||||
baseTools.push("mcp__github_comment__update_claude_comment");
|
||||
|
||||
|
||||
// Add commit signing tools if enabled
|
||||
if (useCommitSigning) {
|
||||
baseTools.push(
|
||||
@@ -63,7 +63,7 @@ export function buildAllowedToolsString(
|
||||
"Bash(git rm:*)",
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Add GitHub Actions MCP tools if enabled
|
||||
if (includeActionsTools) {
|
||||
baseTools.push(
|
||||
@@ -72,7 +72,7 @@ export function buildAllowedToolsString(
|
||||
"mcp__github_ci__download_job_log",
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
let allAllowedTools = baseTools.join(",");
|
||||
if (customAllowedTools && customAllowedTools.length > 0) {
|
||||
allAllowedTools = `${allAllowedTools},${customAllowedTools.join(",")}`;
|
||||
@@ -86,14 +86,14 @@ export function buildDisallowedToolsString(
|
||||
): string {
|
||||
// Tag mode: Disable WebSearch and WebFetch by default for security
|
||||
let disallowedTools = ["WebSearch", "WebFetch"];
|
||||
|
||||
|
||||
// If user has explicitly allowed some default disallowed tools, remove them
|
||||
if (allowedTools && allowedTools.length > 0) {
|
||||
disallowedTools = disallowedTools.filter(
|
||||
(tool) => !allowedTools.includes(tool),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
let allDisallowedTools = disallowedTools.join(",");
|
||||
if (customDisallowedTools && customDisallowedTools.length > 0) {
|
||||
if (allDisallowedTools) {
|
||||
|
||||
@@ -62,10 +62,16 @@ export const agentMode: Mode = {
|
||||
// No default tools are enforced - Claude Code's defaults will apply
|
||||
// Export user-specified tools only if provided
|
||||
if (context.inputs.allowedTools.length > 0) {
|
||||
core.exportVariable("INPUT_ALLOWED_TOOLS", context.inputs.allowedTools.join(","));
|
||||
core.exportVariable(
|
||||
"INPUT_ALLOWED_TOOLS",
|
||||
context.inputs.allowedTools.join(","),
|
||||
);
|
||||
}
|
||||
if (context.inputs.disallowedTools.length > 0) {
|
||||
core.exportVariable("INPUT_DISALLOWED_TOOLS", context.inputs.disallowedTools.join(","));
|
||||
core.exportVariable(
|
||||
"INPUT_DISALLOWED_TOOLS",
|
||||
context.inputs.disallowedTools.join(","),
|
||||
);
|
||||
}
|
||||
|
||||
// Agent mode uses a minimal MCP configuration
|
||||
|
||||
Reference in New Issue
Block a user