Skip to content

feat(ui): added august changelog #19

feat(ui): added august changelog

feat(ui): added august changelog #19

# Claude Code Review Workflow
#
# This workflow provides automated code review using Claude AI with a dual-job architecture:
#
# 1. **pr_review_summary**: Automatic summary review on every PR (opened/reopened/synchronized)
# - Provides a high-level review with severity table and quality score
# - Uses simplified GitHub API tools for commenting
# - Runs silently without verbose output
#
# 2. **code_review**: Detailed inline review triggered by "@claude please review" comments
# - Provides detailed inline comments using GitHub's review system
# - Uses comprehensive GitHub API tools for pull request reviews
# - Creates pending review, adds inline comments, then submits as non-blocking
#
# 3. **claude**: General purpose Claude assistant for any "@claude" mentions
# - Responds to comments, issues, and reviews containing "@claude"
# - Uses the main Claude action with standard toolset
#
# Race condition prevention: Jobs have mutually exclusive triggers to prevent conflicts.
name: Claude Code
# Prevent concurrent runs on the same PR to avoid conflicts
concurrency:
group: claude-${{ github.event_name }}-${{ github.event.pull_request.number || github.event.issue.number || github.run_id }}
cancel-in-progress: false
on:
pull_request:
types: [opened, reopened, synchronize]
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') && !contains(github.event.comment.body, '@claude please review')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude') && !contains(github.event.comment.body, '@claude please review')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude') && !contains(github.event.review.body, '@claude please review')) ||
(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
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
pr_review_summary:
if: github.event_name == 'pull_request'
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: Authenticate GitHub CLI
run: gh auth setup-git
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
model: claude-sonnet-4-20250514
use_sticky_comment: true
allowed_tools: |
mcp__github__get_pull_request_diff,
mcp__github__create_issue_comment,
mcp__github__update_issue_comment
direct_prompt: |
You are a senior product engineer.
Please provide a thorough review of this pull request.
Pay extra attention to coding standards, security practices,
test coverage, readability, maintainability, and performance.
Focus on:
- Correctness & hidden bugs (edge cases, race conditions, off-by-one, etc.)
- Performance hot-spots (Big-O, memory, DB queries, async misuse)
- Security implications and vulnerabilities (injection, XSS, secrets exposure)
- Readability & maintainability (naming, duplication, comments)
- Test coverage gaps (suggest unit/integration tests)
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Documentation updates if needed
- Architecture and design decisions
Reply with:
- *One-sentence purpose summary* of the changes.
- A **table** with columns **Severity (Critical/High/Medium/Low)**, **File/Line(s)**, **Issue**, **Recommendation**.
- Concrete code samples for any non-trivial fix.
- An overall quality score **/10** and the top 3 next steps.
Provide constructive feedback with specific suggestions for improvement.
Use <details> and <summary> md tags to show summary in comment and view details on click.
Please review this PR and provide feedback as a single PR comment. Follow these steps:
1. **Get diff information**: Use `mcp__github__get_pull_request_diff` to understand the code changes and line numbers
2. **Create or update comment**:
- If a comment_id is provided, use `mcp__github__update_issue_comment` to update the existing comment
- If no comment_id is provided, use `mcp__github__create_issue_comment` to create a new comment
Provide a comprehensive review in a single comment that covers all the important aspects of the PR. Include file paths and line numbers in your feedback table for easy reference.
Explicitely mention in header that writing `@claude please review` in the comment will trigger a full reviews.
code_review:
if: |
(github.event_name == 'issue_comment' && github.event.issue.pull_request && contains(github.event.comment.body, '@claude please review')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude please 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: Authenticate GitHub CLI
run: gh auth setup-git
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
model: claude-sonnet-4-20250514
use_sticky_comment: true
allowed_tools: |
mcp__github__create_pending_pull_request_review,
mcp__github__add_pull_request_review_comment_to_pending_review,
mcp__github__submit_pending_pull_request_review,
mcp__github__get_pull_request_diff,
mcp__github__delete_pending_pull_request_review,
mcp__github__get_pull_request_review_comments
direct_prompt: |
You are a senior product engineer.
Pay extra attention to coding standards, security practices,
test coverage, readability, maintainability, and performance.
Focus on:
- Correctness & hidden bugs (edge cases, race conditions, off-by-one, etc.)
- Performance hot-spots (Big-O, memory, DB queries, async misuse)
- Security implications and vulnerabilities (injection, XSS, secrets exposure)
- Readability & maintainability (naming, duplication, comments)
- Test coverage gaps (suggest unit/integration tests)
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Documentation updates if needed
- Architecture and design decisions
Make sure that:
- in typescript code all functions and methods have to have type annotations of arguments and return value
- all typescript code is compatible with `strict` mode
Please comment on this PR and provide inline feedback using the GitHub review system. Follow these steps:
0. **Delete pending review**: Use `mcp__github__delete_pending_pull_request_review` to delete any existing pending review
1. **Start a review**: Use `mcp__github__create_pending_pull_request_review` to begin a pending review
2. **Get diff information**: Use `mcp__github__get_pull_request_diff` to understand the code changes and line numbers
3. **Get existing comments**: Use `mcp__github__get_pull_request_review_comments` to get all existing comments
4. **Add inline comments**: Use `mcp__github__add_pull_request_review_comment_to_pending_review` for each specific piece of feedback on particular lines. If there is already a similar comment, do not add a new comment.
5. **Submit the review**: Use `mcp__github__submit_pending_pull_request_review` with event type "COMMENT" (not "REQUEST_CHANGES") to publish all comments as a non-blocking review
6. **Important**: Submit as "COMMENT" type so the review doesn't block the PR.
7. **Important**: wrap all of the claude review comment in <details> tag; <summary> tag has to contain only "Claude comment inside" text