ShipGuardeRELEASE CLEARANCE BUREAU
How it worksUse casesDocsPricing
DOCUMENTATION

Everything, on
the record.

How to trigger reviews, the commands the bot understands, the config file, the GitHub Action, the API, and how visual QA works. Reference, not marketing.

ON THIS PAGE
  • Quickstart
  • Triggers
  • Commands
  • Replies & actions
  • .shipguarde.yml
  • GitHub Action
  • API & tokens
  • Agent catalog
  • Scoping & re-review
  • Verdicts & gating
  • Visual QA
  • Notifications

Quickstart

1 · Install & connect

Install the GitHub app and point a ShipGuarde project at a repo. No config files required to start.

2 · Flag a PR

Add the shipguarde label or comment @shipguarde run. Reviews are opt-in; nothing runs until you ask.

3 · Read the verdict

A status check, inline comments, and a sticky summary land on the PR with one clear ruling.

Triggers & the opt-in model

A run is never started by the mere existence of a PR. It starts only when you ask, one of three ways. Any comment that creates a run requires the commenter to be a repository collaborator.

The label

Add the shipguarde label. Reviews run when the PR is labelled, and re-run incrementally on new commits.

A comment

@shipguarde run or a plain-English request on the PR.

The check's Re-run

Hit Re-run on the ShipGuarde check, or call the Action / API from CI.

Commands

Mention @shipguarde at the start of a line. run, review, check, and test are equivalent run verbs.

@shipguarde run

Review this PR with the default suite.

@shipguarde run code-review security

Run only the named agents (see the agent catalog for kinds).

@shipguarde review src/api

Re-review a single path prefix (code review only).

@shipguarde verify login works on https://preview.example.com

Describe a flow in plain English; it runs visual QA against that URL.

@shipguarde ignore src/legacy

Stop flagging issues under a path. @shipguarde ignore all mutes the project.

@shipguarde help

Post the command list.

Replies & finding actions

You do not have to leave the PR. Reply to any inline finding and ShipGuarde acts on it.

"False positive"

Suppresses the finding and remembers it, so it will not be raised again on future runs.

"Intentional"

Accepts the finding as a deliberate choice and mutes it going forward.

"Fixed"

Re-checks the file at the latest commit, verifies the issue is gone, and resolves the thread with evidence.

The first two actions are also available as checkboxes on every finding comment.

.shipguarde.yml

Commit a config file to the repo and it is read at the PR head, so the policy is reviewed in the same PR. Looked up as .shipguarde.yml, .yaml, or .json.

v1 supports one key. Richer knobs (block-on-major, block-on-lint, skip-drafts, per-agent enable/disable) live in your project settings in the app for now, not the file.

# .shipguarde.yml
gating:
failCheckOnBlock: true

GitHub Action

The Action starts a PR-mode run, waits for the verdict, and exits non-zero per fail-on so your job gates the merge independently of the check.

# .github/workflows/shipguarde.yml
name: ShipGuarde
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: shipguarde/review-action@v1
with:
api-key: ${{ secrets.SHIPGUARDE_API_KEY }}
project-id: your-project-id
fail-on: block
INPUTDEFAULT
api-keyrequired
project-idrequired
api-urlhttps://api.shipguarde.com
target-url(none)
agentsproject policy
fail-onblock
timeout-seconds900

Outputs: run-id and verdict. fail-on accepts block, block_or_warn, or never.

API & tokens

Create a personal access token (sg_pat_…) in the app, then start a run and poll for the verdict.

START A RUN
POST /api/runs
Authorization: Bearer sg_pat_…
{
"projectId": "…",
"mode": "pr",
"pr": {
"repoFullName": "owner/repo",
"number": 42,
"headSha": "…", "baseSha": "…"
}
}
POLL FOR THE VERDICT
GET /api/runs/:id
→ { run: { status, verdict } }

Poll run.status until terminal (completed, cancelled, or errored), then read run.verdict.decision: ship · ship_with_warnings · block · inconclusive.

Agent catalog

Use a kind as a token in @shipguarde run <kind>. DEFAULT agents run automatically; OPT-IN ones are a toggle in project settings.

CODE (PULL REQUESTS)
Code Review code-review
DEFAULT
Lint lint
DEFAULT
Security security
DEFAULT
Dependencies & License dependency-license
OPT-IN
Schema Drift schema-drift
OPT-IN
Migration Safety migration-safety
OPT-IN
Bundle Budget bundle-budget
OPT-IN
VISUAL (LIVE APP)
Visual QA visual-qa
DEFAULT
Visual Regression visual-regression
DEFAULT
Console & Network console-network
DEFAULT
SEO & Meta seo-meta
DEFAULT
Accessibility a11y
DEFAULT
Performance performance
DEFAULT
Runtime Security runtime-security
DEFAULT
Broken Links broken-links
OPT-IN
Content & Copy content-copy
OPT-IN
Cookie & Privacy cookie-privacy
OPT-IN
Vision Defect vision-defect
OPT-IN

Scoping & re-review

Your changes only

Diffs are computed against the merge base, so a branch that is behind its target is reviewed only for its own changes, and large PRs are scoped to the highest-signal files with a note on coverage.

Incremental re-review

On new commits it reviews what changed since the last review, not the whole PR again. Scope a single path with @shipguarde review <path>.

Verdicts & merge gating

One ruling per run

ship is clear, ship_with_warnings is endorsed with non-blocking notes, block holds a critical issue. Rarely inconclusive when it could not reach a confident ruling.

Make block enforceable

A block is advisory by default. Set failCheckOnBlock (repo or project) so branch protection can require the check, or use the Action's fail-on to fail the CI job.

Visual QA

Point it at a URL and it drives your app the way a person would, grounding on what is visible rather than CSS selectors, so flows survive redesigns.

On any URL, or a schedule

Run a flow on demand against any public URL, or on a cron schedule for continuous monitoring.

Behind a login

Store credentials per project (encrypted at rest) so it can sign in and test authenticated pages.

Notifications

Email & Slack

A run-completion certificate by email, plus Slack, with per-run recipient lists and reusable org mailing lists.

Where the work lives

Status checks, inline comments, and a sticky summary land on the PR. For URL runs, a shareable report.

More on PR review, visual QA, and security. Something unclear? Email [email protected].

Join the free 30-day pilotRead a sample report

Code review checks the diff. ShipGuarde also checks the running product, so a release does not ship on the hope that nothing broke.

Join the free 30-day pilotStart a 7-day trial

NO CREDIT CARD · CONNECT GITHUB IN UNDER FIVE MINUTES · CANCEL ANY TIME

ShipGuarde

RELEASE CLEARANCE BUREAU
ISSUING AUTHORITY FOR SOFTWARE RELEASES
[email protected]

PRODUCT

  • Features
  • PR Reviews
  • Visual QA
  • Compare
  • Integrations
  • Pricing

RESOURCES

  • Docs
  • How it works
  • Use cases
  • Sample report
  • Founding pilot
  • Blog
  • Changelog
  • FAQ
  • Support

COMPANY

  • About
  • Security
  • Status
  • Contact us
  • Privacy
  • Terms
  • Refunds
  • Sub-processors
FILED · SG-482 · ACME-COMMERCEEST. 2026