diff --git a/.github/workflows/claude-auto-review-test.yml b/.github/workflows/claude-auto-review-test.yml new file mode 100644 index 0000000..d0a239d --- /dev/null +++ b/.github/workflows/claude-auto-review-test.yml @@ -0,0 +1,49 @@ +name: Claude Auto Review Test + +on: + pull_request: + types: [opened, synchronize] + workflow_dispatch: + inputs: + pr_number: + description: "PR number to review" + required: false + type: string + +jobs: + auto-review: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + issues: write + id-token: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Automatic PR Review + uses: anthropics/claude-code-action@v1-dev + with: + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + timeout_minutes: "60" + prompt: | + Please review this pull request and provide comprehensive feedback. + + Focus on: + - Code quality and best practices + - Potential bugs or issues + - Performance considerations + - Security implications + - Test coverage + - Documentation updates if needed + + Provide constructive feedback with specific suggestions for improvement. + Use inline comments to highlight specific areas of concern. + + After your review, submit a proper GitHub review with your findings. + # GitHub comment server is now automatically included in agent mode + # Include Bash for Claude to run git commands if needed + claude_args: "--allowedTools Bash,mcp__github-comment-server__create_pending_pull_request_review,mcp__github-comment-server__add_comment_to_pending_review,mcp__github-comment-server__submit_pending_pull_request_review,mcp__github-comment-server__get_pull_request_diff,mcp__github-comment-server__get_pull_request_files,mcp__github-comment-server__get_pull_request,mcp__github-comment-server__list_pull_request_reviews,mcp__github-comment-server__list_pull_request_review_comments" diff --git a/src/modes/agent/index.ts b/src/modes/agent/index.ts index cbae2d4..e9d6ce4 100644 --- a/src/modes/agent/index.ts +++ b/src/modes/agent/index.ts @@ -39,7 +39,7 @@ export const agentMode: Mode = { return false; }, - async prepare({ context }: ModeOptions): Promise { + async prepare({ context, githubToken }: ModeOptions): Promise { // Agent mode handles automation events and any event with explicit prompts // TODO: handle by createPrompt (similar to tag and review modes) @@ -72,7 +72,7 @@ export const agentMode: Mode = { `${process.env.GITHUB_ACTION_PATH}/src/mcp/github-comment-server.ts`, ], env: { - GITHUB_TOKEN: process.env.GITHUB_TOKEN || "", + GITHUB_TOKEN: githubToken || "", REPO_OWNER: context.repository.owner, REPO_NAME: context.repository.repo, GITHUB_EVENT_NAME: process.env.GITHUB_EVENT_NAME || "",