Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ironbee.ai/llms.txt

Use this file to discover all available pages before exploring further.

Inputs

InputRequiredDefaultDescription
anthropic_api_keyYes*Anthropic API key for Claude Code
claude_code_oauth_tokenNo*Claude Code OAuth token (alternative to API key)
github_tokenNo${{ github.token }}GitHub token for PR operations
ironbee_cli_versionNolatestIronBee CLI version to install
claude_code_cli_versionNolatestClaude Code CLI version to install
app_urlNoApplication URL for verification
app_start_commandNoCommand to start the application
app_build_commandNoCommand to build the application
app_install_commandNoCommand to install dependencies
promptNoAdditional instructions for the agent
modelNoClaude model override
max_turnsNo100Maximum conversation turns
claude_argsNoAdditional Claude Code CLI arguments
aws_iam_roleNoAWS IAM role ARN for S3 upload
aws_regionNoAWS region for S3 upload
aws_s3_bucketNoS3 bucket name (must be publicly readable)
exclude_ironbee_filesNofalseExclude IronBee config files from commits
verboseNofalseEnable verbose CI logging
working_directoryNo.Working directory for verification
*One of anthropic_api_key or claude_code_oauth_token is required.

Outputs

OutputDescription
verdictFinal verification result: pass, fail, or unknown
artifacts_urlDownload URL for verification evidence (screenshots, recordings)

Examples

With custom build and start commands

- uses: ironbee-ai/ironbee-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    app_install_command: 'npm ci'
    app_build_command: 'npm run build'
    app_start_command: 'npm run start'
    app_url: 'http://localhost:3000'

With custom agent instructions

- uses: ironbee-ai/ironbee-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: 'Focus on the checkout flow and payment form validation'
    max_turns: '30'

Using Claude Code OAuth token

- uses: ironbee-ai/ironbee-action@v1
  with:
    claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

With S3 for inline screenshots in PR comments

Upload evidence to a publicly readable S3 bucket so screenshots render inline in PR comments. Requires AWS OIDC configured with an IAM role.
permissions:
  contents: write
  pull-requests: write
  issues: write
  id-token: write  # Required for AWS OIDC

steps:
  - uses: actions/checkout@v4

  - uses: ironbee-ai/ironbee-action@v1
    with:
      anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
      aws_iam_role: 'arn:aws:iam::123456789012:role/github-actions-s3'
      aws_region: 'us-east-1'
      aws_s3_bucket: 'my-verification-evidence'

Exclude IronBee config from commits

By default, IronBee config files are committed to the repo so they can be used in local development. To keep them out:
- uses: ironbee-ai/ironbee-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    exclude_ironbee_files: 'true'

Verbose logging

- uses: ironbee-ai/ironbee-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    verbose: 'true'

Monorepo — verify a specific subdirectory

- uses: ironbee-ai/ironbee-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    working_directory: 'packages/web-app'
    app_url: 'http://localhost:3000'

Caching

Playwright Chromium binaries (~200 MB) are cached using actions/cache to speed up subsequent runs. The cache key is based on the runner OS. Browser downloads during npm install are skipped and installed separately with system dependencies.