Skip to content

Getting started

This guide gets crab’d running on a repository in a few minutes. You’ll add a workflow, give it a model key, and mention crab’d on an issue.

  • A repository on GitHub or Forgejo.
  • An API key for at least one model provider (for example ANTHROPIC_API_KEY or OPENAI_API_KEY), stored as a CI secret.

Pick the tab for your forge and copy the workflow into your repo:

.github/workflows/crabd.yml
name: crab'd
on:
issue_comment:
types: [created]
pull_request:
types: [opened, reopened, ready_for_review]
issues:
types: [assigned, labeled]
pull_request_review:
types: [submitted]
pull_request_review_comment:
types: [created]
concurrency:
group: crabd-${{ github.event.pull_request.number || github.event.issue.number || github.run_id }}
cancel-in-progress: false
jobs:
crabd:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
checks: read
actions: read
id-token: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || (github.event.issue.pull_request && format('refs/pull/{0}/head', github.event.issue.number)) || '' }}
fetch-depth: 0
- uses: louisescher/crabd@v0
with:
model: anthropic/claude-sonnet-4-6
providers: anthropic
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

id-token: write lets crab’d post as the canonical crab’d[bot] via the token broker. You need to install the crab’d GitHub App on your repo for this to work. Prefer to hold your own key, or no App at all? See Operating crab’d.

Once the workflow is committed, try any of these:

  • Mention: comment /crabd how does the auth middleware work? on an issue or PR.
  • Review: open a pull request; crab’d reviews the diff automatically.
  • Implement: assign an issue to crab’d (or label it) to have it open a PR.
  • Review its work: review that pull request. On GitHub, crab’d answers every conversation and pushes a commit to the branch. On Forgejo, ask for the same thing with /crabd implement address the review.

crab’d posts a “working…” comment, then updates it in place with the result.

Anything you write after the mention is passed to the agent, so you can steer any mode:

/crabd please review. focus on the database migration and error handling
  • Configuration: every dial, layered config, and governance.
  • Providers: use OpenAI, OpenRouter, or a local model.
  • Modes: how mention, review, and implement behave.