GitHub Actions
Run proto autonomously in CI — review pull requests, triage issues, analyze code, or respond to @proto comments in GitHub issues and PRs.
Quick start
1. Get an API key
Configure a model provider (see Guides → Configure Models & Auth) and obtain an API key.
2. Add it as a GitHub secret
Go to Settings → Secrets and variables → Actions → New repository secret:
- Name:
OPENAI_API_KEY(or whichever env key your model uses) - Value: your API key
3. Add a workflow
# .github/workflows/proto-review.yml
name: proto PR review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install proto
run: npm install -g proto
- name: Run proto review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git diff origin/main...HEAD | proto -p "Review these changes for bugs, security issues, and code quality. Post your findings as a PR comment." --yoloCommon workflow patterns
Automatic PR review
Triggered on every PR open or push:
on:
pull_request:
types: [opened, synchronize]On-demand via comment
Use repository_dispatch or issue_comment events to trigger when someone comments @proto /review:
on:
issue_comment:
types: [created]Then filter in the job: if: contains(github.event.comment.body, '@proto').
Scheduled analysis
on:
schedule:
- cron: '0 9 * * 1' # every Monday at 9am UTCIssue triage
on:
issues:
types: [opened]Configuration
Settings file
Pass a settings.json via environment or a file before running proto:
- name: Configure proto
run: |
mkdir -p .proto
echo '{"model":{"name":"gpt-4o"}}' > .proto/settings.jsonUpdate .gitignore
.proto/settings.json # if it contains secretsBest practices
- Never commit API keys — always use GitHub Secrets.
- Use
--yoloin CI to auto-approve file edits (proto has no interactive terminal to confirm). - Pin the proto version with
npm install -g proto@<version>for reproducible CI. - Monitor costs — set
runConfig.max_turnslimits or use a smaller model for routine CI tasks. - Review action logs regularly and enable observability (see Contributing → Telemetry).
Customization
Create a PROTO.md (or AGENTS.md) file in your repo root to provide project-specific context — coding conventions, architectural patterns, review criteria — that proto uses in every CI run.