mirror of
https://github.com/vinta/awesome-python.git
synced 2026-04-29 02:10:31 -05: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