← screencli  /  docs

Configure a repo

Once you've connected the GitHub App, every watched repo works with no configuration: it's enabled, and screencli tests the preview URL GitHub reports on each PR. Open a repo's settings when you need to override that — add always-on smoke tests, point screencli at a different URL, get past a protected preview, or sign in before the test runs.

Prerequisites

Open a repo's settings

  1. Go to Settings → Integrations (screencli.sh/settings/integrations).
  2. Click Configure repos → on the installation card.
  3. Pick a repository from the Repos list. You land on its Repository settings page.
  4. Change what you need and click Save. You'll see Saved, and the change applies to the next PR triggered on that repo — runs already in flight aren't affected.

Each setting is independent; leave the rest at their defaults.

Run on every PR

The master enable/disable toggle for the repo.

Baseline tests

Smoke tests that run on every PR for the repo, in addition to the test the agent derives from the diff. Use them for the always-true checks the per-PR agent might not think to run — "the homepage still loads", "sign-in still works".

Baseline tests are entered as inline JSON (real YAML parsing is planned). Each entry pairs a short name — shown in the verdict — with a prompt written exactly like a dashboard composer assertion:

{
  "baseline": [
    { "name": "smoke-homepage", "prompt": "Homepage loads with no console errors and the primary CTA is visible." },
    { "name": "smoke-signin",   "prompt": "Sign in with the test account and confirm the dashboard renders." }
  ]
}

Field reference:

Field Required What it does
name Yes Short identifier for the check, shown in the PR verdict alongside the PR-derived test. Keep it slug-like (smoke-checkout).
prompt Yes The assertion the agent verifies — a concrete, observable outcome. Same rules as Writing effective prompts.

How baseline tests fold into the verdict. A PR with baseline tests plus the PR-derived test aggregates every check into one overall verdict: any check fail → the PR is fail; any inconclusive and no failinconclusive; all passpass. See Verdicts.

Preview deployment bypass token

For preview environments that sit behind an access gate — Vercel Protection Bypass, a Netlify site password, or similar — the browser is blocked before it reaches your app. Paste the bypass token here and screencli sends it to the preview when it opens the page.

If a run comes back inconclusive because the preview showed a login/password wall instead of your app, a missing bypass token is the usual cause — see Troubleshooting.

Preview URL pattern (optional)

By default screencli tests the URL from the PR's GitHub deployment. Set a pattern to override it — useful when the deployment URL is wrong or unstable and your previews live at a predictable, branch-named address.

Write the full URL and use any of these placeholders, substituted at run time:

Placeholder Replaced with
{{branch}} The PR's head branch, with / characters turned into - (so feat/checkoutfeat-checkout).
{{sha}} The full head commit SHA.
{{short_sha}} The first 7 characters of the head commit SHA.

Example — a stable branch-named preview:

https://{{branch}}.myapp.dev

Leave the field blank to fall back to the deployment URL GitHub reports.

Authentication

When verifying a change requires signing in first — a change behind a login, a dashboard-only flow — fill in the Authentication section. screencli runs these steps before the main test, in the same browser session.

The {{email}} and {{password}} placeholders are substituted server-side, just before the test runs — the raw credentials never appear in the agent's context beyond the instruction text you wrote, and the password itself is not forwarded to the browser sandbox as a separate value. Leave the whole section blank when no login is needed.

Notes & limits