Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
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"

# global permissions
permissions: {}

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'

runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
Copy link

Copilot AI Oct 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow lacks write permissions for pull-requests, which will prevent Claude from posting review comments as intended by line 52. Add 'pull-requests: write' permission to enable comment posting.

Suggested change
pull-requests: read
pull-requests: write

Copilot uses AI. Check for mistakes.
issues: read
id-token: write

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
Copy link

Copilot AI Oct 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using @v1 pins to a major version which may introduce breaking changes automatically. Consider pinning to a specific commit SHA or minor version (e.g., @v1.0.0) for more stability and predictable behavior.

Suggested change
uses: anthropics/claude-code-action@v1
uses: anthropics/claude-code-action@v1.0.0

Copilot uses AI. Check for mistakes.
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ github.event.pull_request.number }}

Please review this pull request and provide feedback on:
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Security concerns
- Test coverage

Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback.

Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR.

# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://docs.claude.com/en/docs/claude-code/sdk#command-line for available options
claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"'

53 changes: 53 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Claude Code

on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]

# global permissions
permissions: {}

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: read
pull-requests: read
issues: read
Comment on lines +26 to +27
Copy link

Copilot AI Oct 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow lacks write permissions for pull-requests and issues, which may prevent Claude from posting comments or creating branches/commits as described in the PR description. Consider adding 'pull-requests: write' and 'issues: write' permissions.

Suggested change
pull-requests: read
issues: read
pull-requests: write
issues: write

Copilot uses AI. Check for mistakes.
id-token: write
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
Copy link

Copilot AI Oct 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using @v1 pins to a major version which may introduce breaking changes automatically. Consider pinning to a specific commit SHA or minor version (e.g., @v1.0.0) for more stability and predictable behavior.

Suggested change
uses: anthropics/claude-code-action@v1
uses: anthropics/claude-code-action@v1.0.0

Copilot uses AI. Check for mistakes.
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read

# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
# prompt: 'Update the pull request description to include a summary of changes.'

# Optional: Add claude_args to customize behavior and configuration
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://docs.claude.com/en/docs/claude-code/sdk#command-line for available options
# claude_args: '--model claude-opus-4-1-20250805 --allowed-tools Bash(gh pr:*)'

68 changes: 68 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Repository Purpose

This is a **meta-repository for project ideas and planning**. It contains no application code - only GitHub Issues for potential projects. Each issue should eventually get its own dedicated repository when work begins.

**Important**: Pull requests to this repo should be rare. Think twice before modifying anything here.

## Build System

This project uses [`just`](https://github.com/casey/just) as its task runner.

### Common Commands

```bash
just list # List all available recipes
just compliance_check # Run Chicks' repo compliance checks
just clean_readme # Generate a clean README from template
```

### Git Workflow Commands

```bash
just branch <name> # Create new branch with timestamp prefix (format: $USER/YYYY-MM-DD-<name>)
just pr # Create PR with last commit message as title
just prweb # Open current PR in browser
just merge # Merge PR, delete branch, sync back to main
just sync # Return to main branch and pull latest
```

The workflow expects:

- Main branch is `main`
- Branch naming: `$USER/YYYY-MM-DD-description`
- PR body auto-generated from last commit message
- After PR creation, watches checks if `.github/workflows` exists

## Repository Standards

The compliance check (`just compliance_check`) enforces these standards:

- `README.md`, `LICENSE`, `.gitignore`, `.gitattributes`, `.editorconfig`
- `.github/CODE_OF_CONDUCT.md`, `.github/CONTRIBUTING.md`, `.github/SECURITY.md`
- `.github/pull_request_template.md`, `.github/ISSUE_TEMPLATE/`
- `.github/CODEOWNERS`
- `justfile` (this build system itself)
- GitHub repo description (>16 chars)

## Language Preferences for New Projects

When projects spin off from issues here, preferred languages are:

**Definitely acceptable**: Go, Rust, Perl, Bash

**Possibly acceptable**: Python, C/C++, Lua, JavaScript

**Strongly discouraged**: PHP, Java, BASIC/VB, C#, Pascal, Matlab

## Justfile Architecture

The main `justfile` imports two modules:

- `.just/compliance.just` - Repository compliance checks with colorful output
- `.just/gh-process.just` - GitHub workflow automation (branch, PR, merge)

Color variables (e.g., `{{BLUE}}`, `{{GREEN}}`, `{{RED}}`, `{{NORMAL}}`) are used for terminal output formatting.
Loading