Claude Code #216
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 | |
| on: | |
| 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')) || | |
| (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: write # Full write access to repository contents | |
| pull-requests: write # Ability to create, update, and merge PRs | |
| issues: write # Ability to manage issues | |
| id-token: write # Required for OIDC authentication | |
| actions: write # Ability to manage GitHub Actions | |
| checks: write # Ability to create and update check runs | |
| statuses: write # Ability to update commit statuses | |
| discussions: write # Ability to manage discussions | |
| packages: write # Ability to manage packages | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Run Claude Code | |
| id: claude | |
| uses: anthropics/claude-code-action@beta | |
| with: | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| # Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4) | |
| model: "claude-opus-4-20250514" | |
| # Optional: Customize the trigger phrase (default: @claude) | |
| # trigger_phrase: "/claude" | |
| # Optional: Trigger when specific user is assigned to an issue | |
| # assignee_trigger: "claude-bot" | |
| # Allow Claude to run comprehensive commands | |
| allowed_tools: | | |
| Bash(*), | |
| Read(*), | |
| Write(*), | |
| Edit(*), | |
| MultiEdit(*), | |
| NotebookEdit(*), | |
| Glob(*), | |
| Grep(*), | |
| LS(*), | |
| WebFetch(*), | |
| TodoRead(*), | |
| TodoWrite(*) | |
| # Custom instructions for NumpySpec Lean 4 project | |
| custom_instructions: | | |
| This is a Lean 4 project porting NumPy functionality. | |
| Key commands: | |
| - Use `just build` or `lake build` to build Lean code | |
| - Use `just test` or `uv run -m pytest` to run Python tests | |
| - Always use `uv` for Python package management (not pip) | |
| - Make atomic commits and use branches liberally | |
| - Use `rg` and `fd` instead of grep/find | |
| - Run `lake build` frequently for constant feedback | |
| - Follow the project's CLAUDE.md guidelines | |
| # Custom environment variables for Claude | |
| claude_env: | | |
| LEAN_PATH: ${{ github.workspace }} | |
| UV_SYSTEM_PYTHON: 1 | |