From d03ef5f62dde07ec5a3c963b19d9280ef4a389d7 Mon Sep 17 00:00:00 2001 From: Pawel Gerr Date: Sun, 7 Sep 2025 11:27:26 +0200 Subject: [PATCH] Claude workflows --- .github/workflows/claude-code-review.yml | 50 ++++++++++++++++++++++ .github/workflows/claude.yml | 53 ++++++++++++++++++++++++ Thinktecture.EntityFrameworkCore.slnx | 7 +++- 3 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/claude-code-review.yml create mode 100644 .github/workflows/claude.yml diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml new file mode 100644 index 00000000..6bf0fe8c --- /dev/null +++ b/.github/workflows/claude-code-review.yml @@ -0,0 +1,50 @@ +name: Claude Code Review + +on: + pull_request: + types: [opened, synchronize] + +jobs: + claude-review: + + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: read + issues: read + id-token: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Setup Python and Serena MCP + run: | + sudo apt-get update + sudo apt-get install -y python3 python3-pip + pip3 install uv + + - name: Run Claude Code Review + id: claude-review + uses: anthropics/claude-code-action@v1 + env: + CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY }} + with: + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + use_commit_signing: true + + prompt: | + Please review this pull request and provide feedback on: + - Code quality and best practices + - Potential bugs or issues + - Performance considerations + - Security concerns + - Test coverage + + Be constructive and helpful in your feedback. + + claude_args: | + --mcp-config ".github/workflows/mcp-config.json" + --allowedTools mcp__context7__resolve-library-id,mcp__context7__get-library-docs,mcp__sequential-thinking__sequentialthinking,mcp__serena__list_dir,mcp__serena__find_file,mcp__serena__search_for_pattern,mcp__serena__get_symbols_overview,mcp__serena__find_symbol,mcp__serena__find_referencing_symbols,mcp__serena__replace_symbol_body,mcp__serena__insert_after_symbol,mcp__serena__insert_before_symbol,mcp__serena__write_memory,mcp__serena__read_memory,mcp__serena__list_memories,mcp__serena__delete_memory,mcp__serena__activate_project,mcp__serena__check_onboarding_performed,mcp__serena__onboarding,mcp__serena__think_about_collected_information,mcp__serena__think_about_task_adherence,mcp__serena__think_about_whether_you_are_done diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml new file mode 100644 index 00000000..cb636b4a --- /dev/null +++ b/.github/workflows/claude.yml @@ -0,0 +1,53 @@ +name: Claude Code + +on: + issue_comment: + types: [created] + pull_request_review_comment: + types: [created] + issues: + types: [opened, assigned] + pull_request_review: + types: [submitted] + +jobs: + claude: + if: | + (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || + (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || + (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || + (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: read + issues: read + id-token: write + actions: read # Required for Claude to read CI results on PRs + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Setup Python and Serena MCP + run: | + sudo apt-get update + sudo apt-get install -y python3 python3-pip + pip3 install uv + + - name: Run Claude Code + id: claude + uses: anthropics/claude-code-action@v1 + env: + CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY }} + with: + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + use_commit_signing: true + + additional_permissions: | + actions: read + + claude_args: | + --mcp-config ".github/workflows/mcp-config.json" + --allowedTools mcp__context7__resolve-library-id,mcp__context7__get-library-docs,mcp__sequential-thinking__sequentialthinking,mcp__serena__list_dir,mcp__serena__find_file,mcp__serena__search_for_pattern,mcp__serena__get_symbols_overview,mcp__serena__find_symbol,mcp__serena__find_referencing_symbols,mcp__serena__replace_symbol_body,mcp__serena__insert_after_symbol,mcp__serena__insert_before_symbol,mcp__serena__write_memory,mcp__serena__read_memory,mcp__serena__list_memories,mcp__serena__delete_memory,mcp__serena__activate_project,mcp__serena__check_onboarding_performed,mcp__serena__onboarding,mcp__serena__think_about_collected_information,mcp__serena__think_about_task_adherence,mcp__serena__think_about_whether_you_are_done diff --git a/Thinktecture.EntityFrameworkCore.slnx b/Thinktecture.EntityFrameworkCore.slnx index b2d1d162..39d7ab05 100644 --- a/Thinktecture.EntityFrameworkCore.slnx +++ b/Thinktecture.EntityFrameworkCore.slnx @@ -12,9 +12,14 @@ - + + + + + +