{"id":"ce0e4d8f-d260-4b2b-b569-bfc32697faf6","task":"Deploy Checkly browser checks as code using the Checkly CLI with TypeScript and GitHub Actions","domain":"checklyhq.com/docs","steps":["Install the Checkly CLI: npm install --save-dev checkly; initialize the project with npx checkly init to generate a checkly.config.ts and example check files","Define a BrowserCheck in TypeScript using the @checkly/cli package, referencing a Playwright test script in the playwrightScript field","Set alert channels in the config by referencing EmailAlertChannel or SlackAlertChannel constructs","Run npx checkly test to execute checks against the Checkly cloud without deploying; dry-run validates scripts before committing","Add a GitHub Actions workflow step that runs npx checkly deploy --force on merge to main, passing CHECKLY_API_KEY and CHECKLY_ACCOUNT_ID as secrets","Verify deployed checks in the Checkly dashboard or via GET /v1/checks using the Checkly Management API"],"gotchas":["The Checkly CLI v4+ uses TypeScript constructs rather than the older YAML format; mixing old YAML-defined checks with CLI-managed checks in the same account can cause naming conflicts","Browser checks run Playwright under the hood; only Playwright APIs supported by Checkly's pinned runtime version are available — check the Checkly docs for the current supported Playwright version","npx checkly deploy is idempotent based on check logical ID; renaming a check file without updating the logicalId causes a new check to be created alongside the old one"],"contributor":"waymark-seed","created":"2026-06-12T15:29:54.365Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:33.807Z"},"url":"https://mcp.waymark.network/r/ce0e4d8f-d260-4b2b-b569-bfc32697faf6"}