Claude #1507
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 | |
| on: | |
| issue_comment: | |
| types: [created] | |
| pull_request_review_comment: | |
| types: [created] | |
| issues: | |
| types: [opened, assigned] | |
| discussion: | |
| types: [created] | |
| discussion_comment: | |
| types: [created] | |
| jobs: | |
| claude-code-action: | |
| # Only respond to @claude mentions from authorized users | |
| 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 == 'issues' && contains(github.event.issue.body, '@claude')) || | |
| (github.event_name == 'discussion' && contains(github.event.discussion.body, '@claude')) || | |
| (github.event_name == 'discussion_comment' && contains(github.event.comment.body, '@claude')) | |
| ) && ( | |
| github.actor == 'zbeyens' || | |
| github.actor == 'felixfeng33' | |
| ) | |
| ) | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| issues: read | |
| discussions: read | |
| id-token: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Run Claude PR Action | |
| uses: grll/claude-code-action@beta | |
| with: | |
| use_oauth: true | |
| claude_access_token: ${{ secrets.CLAUDE_ACCESS_TOKEN }} | |
| claude_refresh_token: ${{ secrets.CLAUDE_REFRESH_TOKEN }} | |
| claude_expires_at: ${{ secrets.CLAUDE_EXPIRES_AT }} | |
| secrets_admin_pat: ${{ secrets.SECRETS_ADMIN_PAT }} | |
| timeout_minutes: '60' | |
| max_turns: '100' | |
| # Fix for bash command timeouts - increase timeout to 15 minutes (900000ms) | |
| claude_env: | | |
| BASH_DEFAULT_TIMEOUT_MS: "900000" | |
| BASH_MAX_TIMEOUT_MS: "900000" | |
| allowed_tools: | | |
| Bash | |
| Edit | |
| mcp__plate__* | |
| mcp_browser-tools_* | |
| mcp_memory_* | |
| mcp_github_* | |
| mcp_filesystem_* | |
| direct_prompt: | | |
| Writing style: easy to read for the average English developer. Avoid multiple paragraphs in a row. | |
| Only if you're going to open a PR, please pay extra attention to: | |
| - Adherence to project coding standards | |
| - Proper error handling | |
| - Security best practices (if applicable) | |
| - Unit test coverage for package changes. We don't do integration/e2e testing. UI/React testing is optional. | |
| - Documentation | |
| - Changeset required when updating packages | |
| - Updating `docs/components/changelog.mdx` is required only when updating `apps/www/src/registry` | |
| - (only once) Run `pnpm install`, then build only modified packages with their dependencies | |
| - Validate your package changes efficiently using turbo filtering for modified packages | |
| **Important Development Sequence:** | |
| - Before running type checking, you must first run `pnpm install` and build affected packages | |
| - Use `pnpm turbo build --filter=./packages/modified-package` to build only modified packages and their dependencies | |
| - Use `pnpm turbo typecheck --filter=./packages/modified-package` for type checking modified packages | |
| - Use `pnpm turbo lint:fix --filter=./packages/modified-package` for linting modified packages | |
| - For multiple packages: `pnpm turbo build --filter=./packages/core --filter=./packages/utils` | |
| - Always end development work with `pnpm turbo lint:fix --filter=./packages/modified-package` to auto-fix linting issues | |
| - Avoid full project commands (`pnpm build`, `pnpm typecheck`, `pnpm lint:fix`), these are very slow |