トップページの news セクションを RSS から自動生成 #13
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Claude Code Review | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
# Optional: Only run on specific file changes | |
# paths: | |
# - "src/**/*.ts" | |
# - "src/**/*.tsx" | |
# - "src/**/*.js" | |
# - "src/**/*.jsx" | |
jobs: | |
claude-review: | |
# Optional: Filter by PR author | |
# if: | | |
# github.event.pull_request.user.login == 'external-contributor' || | |
# github.event.pull_request.user.login == 'new-developer' || | |
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' | |
# | |
# 現時点では Org 内の MEMBER と OWNER のみが使用可能 | |
if: | | |
(github.event_name == 'pull_request' && | |
contains(fromJSON('["MEMBER", "OWNER"]'), github.event.pull_request.author_association)) || | |
(github.event_name == 'issue_comment' && | |
github.event.issue.pull_request && | |
contains(github.event.comment.body, '@claude') && | |
contains(fromJSON('["MEMBER", "OWNER"]'), github.event.comment.author_association)) | |
runs-on: ubuntu-latest | |
# 最小限の権限のみ付与 | |
permissions: | |
contents: read # リポジトリ内容の読込/書込 | |
pull-requests: read # PRのコメントの読込/書込 | |
issues: read # Issueのコメントの読込/書込 | |
id-token: write # 実行時に適切な権限を取得 (ココがwriteの時、上記はreadで良い) | |
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@beta | |
with: | |
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4) | |
model: "claude-opus-4-20250514" | |
# Direct prompt for automated review (no @claude mention needed) | |
direct_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. | |
Always respond in Japanese, even if given instructions are in English. | |
Use Japanese for all outputs, explanations, and comments in code | |
For each heading use this HTML style that users can see your summary at first and check details when clicking: | |
<details> | |
<summary><strong>[YOUR_HEADING]</strong></summary> | |
[YOUR_FEEDBACKS] | |
</details> | |
Not that inside <details> tags you should write in HTML, not Markdown. | |
# Optional: Use sticky comments to make Claude reuse the same comment on subsequent pushes to the same PR | |
# use_sticky_comment: true | |
# Optional: Customize review based on file types | |
# direct_prompt: | | |
# Review this PR focusing on: | |
# - For TypeScript files: Type safety and proper interface usage | |
# - For API endpoints: Security, input validation, and error handling | |
# - For React components: Performance, accessibility, and best practices | |
# - For tests: Coverage, edge cases, and test quality | |
# Optional: Different prompts for different authors | |
# direct_prompt: | | |
# ${{ github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' && | |
# 'Welcome! Please review this PR from a first-time contributor. Be encouraging and provide detailed explanations for any suggestions.' || | |
# 'Please provide a thorough code review focusing on our coding standards and best practices.' }} | |
# Optional: Add specific tools for running tests or linting | |
# allowed_tools: "Bash(npm run test),Bash(npm run lint),Bash(npm run typecheck)" | |
# Optional: Skip review for certain conditions | |
# if: | | |
# !contains(github.event.pull_request.title, '[skip-review]') && | |
# !contains(github.event.pull_request.title, '[WIP]') | |