Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
- If endpoints require authentication ask the user which authentication method to use and then generate a setupScript to authenticate the given requests.
- Referenced `setup-script.ts` and `teardown-script.ts` for API checks must be plain ts files and not export anything.
- Check in the code if API endpoints require authentication.
- **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies may not be available on all plans. Check entitlements matching `API_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.

<!-- EXAMPLE: API_CHECK -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
- Import the `BrowserCheck` construct from `checkly/constructs`.
- Generate a separate `.spec.ts` file for the Playwright code referenced in the `BrowserCheck` construct.
- Use the `code.entrypoint` property to specify the path to your Playwright test file.
- **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies may not be available on all plans. Check entitlements matching `BROWSER_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.

<!-- EXAMPLE: BROWSER_CHECK -->
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
- Import the `DnsMonitor` construct from `checkly/constructs`.
- Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
- When adding `assertions`, always use `DnsAssertionBuilder` class.
- **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.

<!-- EXAMPLE: DNS_MONITOR -->
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
- When adding `assertions`, always use `IcmpAssertionBuilder` class.
- Latency assertions require a property parameter: `'avg'`, `'min'`, `'max'`, or `'stdDev'`.
- Use `degradedPacketLossThreshold` and `maxPacketLossThreshold` for packet loss thresholds (percentages).
- **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.

<!-- EXAMPLE: ICMP_MONITOR -->
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@

- Import the `TcpMonitor` construct from `checkly/constructs`.
- When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
- **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.

<!-- EXAMPLE: TCP_MONITOR -->
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@

- Import the `UrlMonitor` construct from `checkly/constructs`.
- When adding `assertions`, always use `UrlAssertionBuilder`.
- **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled — Checkly applies safe defaults. See `npx checkly skills manage` for details.

<!-- EXAMPLE: URL_MONITOR -->
23 changes: 23 additions & 0 deletions packages/cli/src/ai-context/references/manage.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,29 @@ This returns your entitlements (enabled/disabled with limits), available locatio
- **Respect metered limits** (e.g. max browser checks, max alert channels)
- **Surface upgrade paths** when a feature is disabled — each disabled entitlement includes an `upgradeUrl` pointing to the self-service checkout or the contact sales page

## Applying entitlements to check configuration

Entitlement keys follow the pattern `{CHECK_TYPE}_{FEATURE}` — match them to the check type you're configuring. Before setting any property on a check construct, find the corresponding entitlement and verify it's enabled.

**Common plan-gated properties that agents get wrong on first setup:**

| Check property | Entitlement pattern to search | What to do if disabled |
|---|---|---|
| `retryStrategy` | `*_RETRY_STRATEGY_*` and `*_MAX_RETRIES_*` for your check type | Omit `retryStrategy` entirely, or use only `NO_RETRY` |
| `runParallel` | `*_SCHEDULING_STRATEGY_PARALLEL` for your check type | Omit `runParallel` or set to `false` (use round-robin) |
| `frequency` | `*_FREQ_*` for your check type | Use only frequencies where the entitlement is enabled |
| `locations` | `locations.all` array | Use only locations where `available` is `true` |
| `privateLocation` | `PRIVATE_LOCATIONS` | Only available on Team plan and above |

**How to check:** Use `--search` to narrow entitlements for the check type you're configuring:

```bash
npx checkly account plan --output json --search "uptime"
npx checkly account plan --disabled --search "retry"
```

**When a feature is disabled:** Do not use it. Omit the property from the construct — Checkly will apply safe defaults. If the user needs the feature, share the `upgradeUrl` from the entitlement.

## Available Commands

Parse and read further reference documentation for any of the following:
Expand Down
18 changes: 7 additions & 11 deletions packages/cli/src/commands/account/plan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,19 +108,15 @@ export default class AccountPlan extends AuthCommand {
)
}

// JSON output (respects filters)
// JSON output (always includes plan context + locations)
if (flags.output === 'json') {
const enriched = filtered.map(e => withUpgradeUrl(e, checkoutUrl))
if (hasFilters) {
this.log(JSON.stringify(enriched, null, 2))
} else {
this.log(JSON.stringify({
...plan,
checkoutUrl,
contactSalesUrl: CONTACT_SALES_URL,
entitlements: enriched,
}, null, 2))
}
this.log(JSON.stringify({
...plan,
checkoutUrl,
contactSalesUrl: CONTACT_SALES_URL,
entitlements: enriched,
}, null, 2))
return
}

Expand Down
Loading