mirror of
https://github.com/vinta/awesome-python.git
synced 2026-02-06 04:06:13 +08:00
ci: add focused Claude workflows with context-aware prompts
Add claude-mention.yml for @claude mentions in issues/PRs and claude-pr-review.yml for automatic PR reviews. Key improvements: - claude-mention: Triggers on @claude with project-specific prompt - claude-pr-review: Auto-reviews PRs from new contributors with CONTRIBUTING.md criteria - Both workflows: Restricted permissions (read-only contents, no merge capability) 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
45
.github/workflows/claude-mention.yml
vendored
Normal file
45
.github/workflows/claude-mention.yml
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
name: Claude Mention
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
issues:
|
||||
types: [opened, assigned]
|
||||
pull_request_review:
|
||||
types: [submitted]
|
||||
|
||||
jobs:
|
||||
claude-mention:
|
||||
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 # Cannot merge PR
|
||||
pull-requests: write
|
||||
issues: read
|
||||
actions: read # Required for Claude to read CI results on PRs
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Run Claude Code
|
||||
id: claude
|
||||
uses: anthropics/claude-code-action@v1
|
||||
with:
|
||||
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
additional_permissions: |
|
||||
actions: read
|
||||
prompt: |
|
||||
If this is a PR adding a project or library, review against CONTRIBUTING.md criteria.
|
||||
Otherwise, follow the instructions in the comment or issue that tagged you.
|
||||
43
.github/workflows/claude-pr-review.yml
vendored
Normal file
43
.github/workflows/claude-pr-review.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: Claude PR Review
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, ready_for_review, reopened, labeled]
|
||||
paths:
|
||||
- "README.md"
|
||||
|
||||
jobs:
|
||||
claude-pr-review:
|
||||
if: |
|
||||
github.event.label.name == 'claude-review' ||
|
||||
github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' ||
|
||||
github.event.pull_request.author_association == 'FIRST_TIMER' ||
|
||||
github.event.pull_request.author_association == 'NONE'
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
contents: read # Cannot merge PR
|
||||
pull-requests: write
|
||||
issues: read
|
||||
actions: read # Required for Claude to read CI results on PRs
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Run Claude Code Review
|
||||
id: claude-review
|
||||
uses: anthropics/claude-code-action@v1
|
||||
with:
|
||||
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
|
||||
plugins: "code-review@claude-code-plugins"
|
||||
prompt: |
|
||||
Review this PR against the acceptance criteria in CONTRIBUTING.md.
|
||||
Focus on: Industry Standard, Rising Star, or Hidden Gem criteria.
|
||||
Check for automatic rejection reasons (abandoned, duplicates, spam).
|
||||
/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}
|
||||
Reference in New Issue
Block a user