checkly 6.9.10 → 7.0.0-prerelease-1df465c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/runtimes/snapshots/20260130/runtimes.json +349 -0
- package/dist/{rules → ai-context}/checkly.rules.md +72 -34
- package/dist/ai-context/context.d.ts +6 -0
- package/dist/ai-context/context.js +137 -0
- package/dist/ai-context/context.js.map +1 -0
- package/dist/ai-context/skills/monitoring/README.md +44 -0
- package/dist/ai-context/skills/monitoring/SKILL.md +600 -0
- package/dist/auth/index.js +2 -2
- package/dist/auth/index.js.map +1 -1
- package/dist/commands/baseCommand.js +9 -5
- package/dist/commands/baseCommand.js.map +1 -1
- package/dist/commands/debug/parse-file.d.ts +13 -0
- package/dist/commands/debug/parse-file.js +79 -0
- package/dist/commands/debug/parse-file.js.map +1 -0
- package/dist/commands/debug/parse-playwright-config.d.ts +9 -0
- package/dist/commands/debug/parse-playwright-config.js +31 -0
- package/dist/commands/debug/parse-playwright-config.js.map +1 -0
- package/dist/commands/debug/parse-project.d.ts +41 -0
- package/dist/commands/debug/parse-project.js +109 -0
- package/dist/commands/debug/parse-project.js.map +1 -0
- package/dist/commands/deploy.js +41 -7
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/import/plan.js +7 -6
- package/dist/commands/import/plan.js.map +1 -1
- package/dist/commands/pw-test.d.ts +3 -2
- package/dist/commands/pw-test.js +65 -17
- package/dist/commands/pw-test.js.map +1 -1
- package/dist/commands/rules.js +1 -1
- package/dist/commands/rules.js.map +1 -1
- package/dist/commands/runtimes.js +1 -1
- package/dist/commands/runtimes.js.map +1 -1
- package/dist/commands/sync-playwright.js +3 -2
- package/dist/commands/sync-playwright.js.map +1 -1
- package/dist/commands/test.js +42 -6
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/validate.js +2 -2
- package/dist/commands/validate.js.map +1 -1
- package/dist/constructs/api-check.js +6 -0
- package/dist/constructs/api-check.js.map +1 -1
- package/dist/constructs/browser-check.d.ts +2 -1
- package/dist/constructs/browser-check.js +7 -3
- package/dist/constructs/browser-check.js.map +1 -1
- package/dist/constructs/check-config.d.ts +2 -3
- package/dist/constructs/check-config.js.map +1 -1
- package/dist/constructs/check-group-v1.js +1 -2
- package/dist/constructs/check-group-v1.js.map +1 -1
- package/dist/constructs/check.d.ts +2 -1
- package/dist/constructs/check.js.map +1 -1
- package/dist/constructs/construct-diagnostics.d.ts +3 -0
- package/dist/constructs/construct-diagnostics.js +14 -1
- package/dist/constructs/construct-diagnostics.js.map +1 -1
- package/dist/constructs/internal/codegen/snippet.js +2 -2
- package/dist/constructs/internal/codegen/snippet.js.map +1 -1
- package/dist/constructs/multi-step-check.d.ts +2 -1
- package/dist/constructs/multi-step-check.js.map +1 -1
- package/dist/constructs/playwright-check-bundle.d.ts +52 -6
- package/dist/constructs/playwright-check-bundle.js +51 -6
- package/dist/constructs/playwright-check-bundle.js.map +1 -1
- package/dist/constructs/playwright-check.d.ts +8 -13
- package/dist/constructs/playwright-check.js +102 -30
- package/dist/constructs/playwright-check.js.map +1 -1
- package/dist/constructs/project.d.ts +11 -1
- package/dist/constructs/project.js +34 -0
- package/dist/constructs/project.js.map +1 -1
- package/dist/helpers/recast-acorn-parser.d.ts +2 -0
- package/dist/helpers/recast-acorn-parser.js +49 -0
- package/dist/helpers/recast-acorn-parser.js.map +1 -0
- package/dist/loader/jiti.js +20 -3
- package/dist/loader/jiti.js.map +1 -1
- package/dist/loader/ts-node.js +10 -0
- package/dist/loader/ts-node.js.map +1 -1
- package/dist/reporters/abstract-list.d.ts +4 -1
- package/dist/reporters/abstract-list.js +4 -2
- package/dist/reporters/abstract-list.js.map +1 -1
- package/dist/reporters/reporter.d.ts +4 -1
- package/dist/reporters/reporter.js +7 -7
- package/dist/reporters/reporter.js.map +1 -1
- package/dist/rest/api.d.ts +1 -0
- package/dist/rest/api.js +27 -3
- package/dist/rest/api.js.map +1 -1
- package/dist/rest/runtimes.d.ts +3 -10
- package/dist/rest/runtimes.js +6 -4
- package/dist/rest/runtimes.js.map +1 -1
- package/dist/runtimes/index.d.ts +2 -0
- package/dist/runtimes/index.js +6 -0
- package/dist/runtimes/index.js.map +1 -0
- package/dist/runtimes/runtime.d.ts +8 -0
- package/dist/runtimes/runtime.js +3 -0
- package/dist/runtimes/runtime.js.map +1 -0
- package/dist/runtimes/snapshot.d.ts +2 -0
- package/dist/runtimes/snapshot.js +16 -0
- package/dist/runtimes/snapshot.js.map +1 -0
- package/dist/services/check-parser/errors.js +1 -0
- package/dist/services/check-parser/errors.js.map +1 -1
- package/dist/services/check-parser/faux-package.d.ts +3 -0
- package/dist/services/check-parser/faux-package.js +19 -0
- package/dist/services/check-parser/faux-package.js.map +1 -0
- package/dist/services/check-parser/package-files/extension.d.ts +3 -1
- package/dist/services/check-parser/package-files/extension.js +11 -2
- package/dist/services/check-parser/package-files/extension.js.map +1 -1
- package/dist/services/check-parser/package-files/json-source-file.d.ts +1 -0
- package/dist/services/check-parser/package-files/json-source-file.js +8 -0
- package/dist/services/check-parser/package-files/json-source-file.js.map +1 -1
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js +2 -1
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js.map +1 -1
- package/dist/services/check-parser/package-files/package-json-file.d.ts +14 -3
- package/dist/services/check-parser/package-files/package-json-file.js +59 -0
- package/dist/services/check-parser/package-files/package-json-file.js.map +1 -1
- package/dist/services/check-parser/package-files/package-manager.d.ts +48 -0
- package/dist/services/check-parser/package-files/package-manager.js +278 -19
- package/dist/services/check-parser/package-files/package-manager.js.map +1 -1
- package/dist/services/check-parser/package-files/paths.d.ts +6 -0
- package/dist/services/check-parser/package-files/paths.js +23 -1
- package/dist/services/check-parser/package-files/paths.js.map +1 -1
- package/dist/services/check-parser/package-files/resolver.d.ts +67 -11
- package/dist/services/check-parser/package-files/resolver.js +168 -23
- package/dist/services/check-parser/package-files/resolver.js.map +1 -1
- package/dist/services/check-parser/package-files/result.d.ts +38 -0
- package/dist/services/check-parser/package-files/result.js +58 -0
- package/dist/services/check-parser/package-files/result.js.map +1 -0
- package/dist/services/check-parser/package-files/workspace.d.ts +60 -0
- package/dist/services/check-parser/package-files/workspace.js +103 -0
- package/dist/services/check-parser/package-files/workspace.js.map +1 -0
- package/dist/services/check-parser/parser.d.ts +27 -6
- package/dist/services/check-parser/parser.js +130 -55
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/services/checkly-config-loader.d.ts +4 -0
- package/dist/services/checkly-config-loader.js +26 -3
- package/dist/services/checkly-config-loader.js.map +1 -1
- package/dist/services/playwright-config.js +2 -2
- package/dist/services/playwright-config.js.map +1 -1
- package/dist/services/project-parser.d.ts +4 -1
- package/dist/services/project-parser.js +69 -2
- package/dist/services/project-parser.js.map +1 -1
- package/dist/services/proxy.d.ts +2 -0
- package/dist/services/proxy.js +40 -0
- package/dist/services/proxy.js.map +1 -0
- package/dist/services/shell.d.ts +2 -0
- package/dist/services/shell.js +20 -0
- package/dist/services/shell.js.map +1 -0
- package/dist/services/test-runner.js +1 -1
- package/dist/services/test-runner.js.map +1 -1
- package/dist/services/util.d.ts +2 -4
- package/dist/services/util.js +27 -88
- package/dist/services/util.js.map +1 -1
- package/dist/testing/fixture-sandbox.d.ts +54 -0
- package/dist/testing/fixture-sandbox.js +102 -0
- package/dist/testing/fixture-sandbox.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +179 -2
- package/package.json +9 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Checkly
|
|
1
|
+
# Checkly Monitoring
|
|
2
2
|
|
|
3
3
|
- Refer to docs for Checkly CLI v6.0.0 and above.
|
|
4
4
|
- Check the Checkly CLI output to figure out into which folder the setup was generated.
|
|
@@ -33,12 +33,48 @@ Here is an example directory tree of what that would look like:
|
|
|
33
33
|
|
|
34
34
|
The `checkly.config.ts` at the root of your project defines a range of defaults for all your checks.
|
|
35
35
|
|
|
36
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/project/
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { defineConfig } from 'checkly'
|
|
40
|
+
import { Frequency } from 'checkly/constructs'
|
|
41
|
+
|
|
42
|
+
export default defineConfig({
|
|
43
|
+
projectName: "Production Monitoring Suite",
|
|
44
|
+
logicalId: "prod-monitoring-2025",
|
|
45
|
+
repoUrl: "https://github.com/acme/monitoring",
|
|
46
|
+
checks: {
|
|
47
|
+
activated: true,
|
|
48
|
+
muted: false,
|
|
49
|
+
runtimeId: "2025.04",
|
|
50
|
+
frequency: Frequency.EVERY_10M,
|
|
51
|
+
locations: ["us-east-1", "eu-west-1", "ap-southeast-1"],
|
|
52
|
+
tags: ["production", "critical"],
|
|
53
|
+
checkMatch: "**/__checks__/*.check.ts",
|
|
54
|
+
ignoreDirectoriesMatch: ["node_modules/**", "dist/**"],
|
|
55
|
+
playwrightConfig: {
|
|
56
|
+
use: {
|
|
57
|
+
baseURL: "https://app.example.com",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
browserChecks: {
|
|
61
|
+
frequency: Frequency.EVERY_30M,
|
|
62
|
+
testMatch: "**/__tests__/*.spec.ts",
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
cli: {
|
|
66
|
+
runLocation: "eu-west-1",
|
|
67
|
+
privateRunLocation: "private-dc1",
|
|
68
|
+
retries: 2,
|
|
69
|
+
},
|
|
70
|
+
})
|
|
71
|
+
```
|
|
72
|
+
|
|
36
73
|
## Check and Monitor Constructs
|
|
37
74
|
|
|
38
75
|
### API Check
|
|
39
76
|
|
|
40
77
|
- Import the `ApiCheck` construct from `checkly/constructs`.
|
|
41
|
-
- Reference [the docs for API checks](https://www.checklyhq.com/docs/constructs/api-check/) before generating any code.
|
|
42
78
|
- When adding `assertions`, always use `AssertionBuilder` class for API Checks.
|
|
43
79
|
- When referencing environment variables always use the handlebar syntax `{{MY_ENV_VAR}}`.
|
|
44
80
|
- When referencing secrets always use the handlebar syntax `{{MY_SECRET}}`.
|
|
@@ -46,6 +82,8 @@ The `checkly.config.ts` at the root of your project defines a range of defaults
|
|
|
46
82
|
- Referenced `setupScript.ts` and `teardownScript.ts` for API checks must be plain ts files and not export anything.
|
|
47
83
|
- Check in the code if API endpoints require authentication.
|
|
48
84
|
|
|
85
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/api-check/
|
|
86
|
+
|
|
49
87
|
```typescript
|
|
50
88
|
import { AlertEscalationBuilder, ApiCheck, Frequency, RetryStrategyBuilder } from 'checkly/constructs'
|
|
51
89
|
|
|
@@ -87,7 +125,6 @@ new ApiCheck('example-api-check', {
|
|
|
87
125
|
}),
|
|
88
126
|
runParallel: true,
|
|
89
127
|
})
|
|
90
|
-
|
|
91
128
|
```
|
|
92
129
|
|
|
93
130
|
#### Authentication Setup Scripts for API Checks
|
|
@@ -100,10 +137,11 @@ new ApiCheck('example-api-check', {
|
|
|
100
137
|
### Browser Check
|
|
101
138
|
|
|
102
139
|
- Import the `BrowserCheck` construct from `checkly/constructs`.
|
|
103
|
-
- Reference [the docs for Browser checks](https://www.checklyhq.com/docs/constructs/browser-check/) before generating any code.
|
|
104
140
|
- Generate a separate `.spec.ts` file for the Playwright code referenced in the `BrowserCheck` construct.
|
|
105
141
|
- Use the `code.entrypoint` property to specify the path to your Playwright test file.
|
|
106
142
|
|
|
143
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/browser-check/
|
|
144
|
+
|
|
107
145
|
```typescript
|
|
108
146
|
import { AlertEscalationBuilder, BrowserCheck, Frequency, RetryStrategyBuilder } from 'checkly/constructs'
|
|
109
147
|
|
|
@@ -135,21 +173,23 @@ new BrowserCheck('example-browser-check', {
|
|
|
135
173
|
}),
|
|
136
174
|
runParallel: true,
|
|
137
175
|
})
|
|
138
|
-
|
|
139
176
|
```
|
|
140
177
|
|
|
141
178
|
### Playwright Check Suite
|
|
142
179
|
|
|
143
180
|
- Import the `PlaywrightCheck` construct from `checkly/constructs`.
|
|
144
|
-
- Reference [the docs for Playwright Check Suites](https://www.checklyhq.com/docs/constructs/playwright-check/) before generating any code.
|
|
145
181
|
- use `pwProjects` if your tasked to reuse a Playwright project.
|
|
146
182
|
|
|
183
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/playwright-check/
|
|
184
|
+
|
|
147
185
|
```typescript
|
|
186
|
+
import { PlaywrightCheck } from "checkly/constructs"
|
|
187
|
+
|
|
148
188
|
const playwrightChecks = new PlaywrightCheck("multi-browser-check", {
|
|
149
189
|
name: "Multi-browser check suite",
|
|
150
190
|
playwrightConfigPath: "./playwright.config.ts",
|
|
151
191
|
// Playwright Check Suites support all browsers
|
|
152
|
-
// defined in your `
|
|
192
|
+
// defined in your `playwright.config`
|
|
153
193
|
pwProjects: ["chromium", "firefox", "webkit"],
|
|
154
194
|
});
|
|
155
195
|
```
|
|
@@ -157,10 +197,11 @@ const playwrightChecks = new PlaywrightCheck("multi-browser-check", {
|
|
|
157
197
|
### MultiStep Check
|
|
158
198
|
|
|
159
199
|
- Import the `MultiStepCheck` construct from `checkly/constructs`.
|
|
160
|
-
- Reference [the docs for Multistep checks](https://www.checklyhq.com/docs/constructs/multistep-check/) before generating any code.
|
|
161
200
|
- Generate a separate `.spec.ts` file for the Playwright code referenced in the `MultiStepCheck` construct.
|
|
162
201
|
- Use the `code.entrypoint` property to specify the path to your Playwright test file.
|
|
163
202
|
|
|
203
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/multistep-check/
|
|
204
|
+
|
|
164
205
|
```typescript
|
|
165
206
|
import { AlertEscalationBuilder, Frequency, MultiStepCheck, RetryStrategyBuilder } from 'checkly/constructs'
|
|
166
207
|
|
|
@@ -187,15 +228,15 @@ new MultiStepCheck('example-multi-step-check', {
|
|
|
187
228
|
retryStrategy: RetryStrategyBuilder.noRetries(),
|
|
188
229
|
runParallel: true,
|
|
189
230
|
})
|
|
190
|
-
|
|
191
231
|
```
|
|
192
232
|
|
|
193
233
|
### TCP Monitor
|
|
194
234
|
|
|
195
235
|
- Import the `TcpMonitor` construct from `checkly/constructs`.
|
|
196
|
-
- Reference [the docs for TCP monitors](https://www.checklyhq.com/docs/constructs/tcp-monitor/) before generating any code.
|
|
197
236
|
- When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
|
|
198
237
|
|
|
238
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/tcp-monitor/
|
|
239
|
+
|
|
199
240
|
```typescript
|
|
200
241
|
import { AlertEscalationBuilder, Frequency, RetryStrategyBuilder, TcpAssertionBuilder, TcpMonitor } from 'checkly/constructs'
|
|
201
242
|
|
|
@@ -235,15 +276,15 @@ new TcpMonitor('example-tcp-monitor', {
|
|
|
235
276
|
}),
|
|
236
277
|
runParallel: true,
|
|
237
278
|
})
|
|
238
|
-
|
|
239
279
|
```
|
|
240
280
|
|
|
241
281
|
### URL Monitor
|
|
242
282
|
|
|
243
283
|
- Import the `UrlMonitor` construct from `checkly/constructs`.
|
|
244
|
-
- Reference [the docs for URL monitors](https://www.checklyhq.com/docs/constructs/url-monitor/) before generating any code.
|
|
245
284
|
- When adding `assertions`, always use `UrlAssertionBuilder`.
|
|
246
285
|
|
|
286
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/url-monitor/
|
|
287
|
+
|
|
247
288
|
```typescript
|
|
248
289
|
import { AlertEscalationBuilder, Frequency, RetryStrategyBuilder, UrlAssertionBuilder, UrlMonitor } from 'checkly/constructs'
|
|
249
290
|
|
|
@@ -281,7 +322,6 @@ new UrlMonitor('example-url-monitor', {
|
|
|
281
322
|
}),
|
|
282
323
|
runParallel: true,
|
|
283
324
|
})
|
|
284
|
-
|
|
285
325
|
```
|
|
286
326
|
|
|
287
327
|
### DNS Monitor
|
|
@@ -290,6 +330,8 @@ new UrlMonitor('example-url-monitor', {
|
|
|
290
330
|
- Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
|
|
291
331
|
- When adding `assertions`, always use `DnsAssertionBuilder` class.
|
|
292
332
|
|
|
333
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/dns-monitor/
|
|
334
|
+
|
|
293
335
|
```typescript
|
|
294
336
|
import { AlertEscalationBuilder, DnsAssertionBuilder, DnsMonitor, Frequency, RetryStrategyBuilder } from 'checkly/constructs'
|
|
295
337
|
|
|
@@ -322,13 +364,13 @@ new DnsMonitor('example-dns-monitor', {
|
|
|
322
364
|
retryStrategy: RetryStrategyBuilder.noRetries(),
|
|
323
365
|
runParallel: false,
|
|
324
366
|
})
|
|
325
|
-
|
|
326
367
|
```
|
|
327
368
|
|
|
328
369
|
### Heartbeat Monitor
|
|
329
370
|
|
|
330
371
|
- Import the `HeartbeatMonitor` construct from `checkly/constructs`.
|
|
331
|
-
|
|
372
|
+
|
|
373
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/heartbeat-monitor/
|
|
332
374
|
|
|
333
375
|
```typescript
|
|
334
376
|
import { AlertEscalationBuilder, Frequency, HeartbeatMonitor, RetryStrategyBuilder } from 'checkly/constructs'
|
|
@@ -358,23 +400,22 @@ new HeartbeatMonitor('example-heartbeat-monitor', {
|
|
|
358
400
|
}),
|
|
359
401
|
runParallel: true,
|
|
360
402
|
})
|
|
361
|
-
|
|
362
403
|
```
|
|
363
404
|
|
|
364
405
|
### Check Group
|
|
365
406
|
|
|
366
407
|
- Import the `CheckGroupV2` construct from `checkly/constructs`.
|
|
367
|
-
- Reference [the docs for Check Groups](https://www.checklyhq.com/docs/constructs/check-group-v2/) before generating any code.
|
|
368
408
|
- Check Groups are used to group checks together for easier management and organization.
|
|
369
409
|
- Checks are added to Check Groups by referencing the group in the `group` property of a check.
|
|
370
410
|
|
|
411
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/check-group/
|
|
412
|
+
|
|
371
413
|
```typescript
|
|
372
414
|
import { CheckGroupV2 } from 'checkly/constructs'
|
|
373
415
|
|
|
374
416
|
export const exampleGroup = new CheckGroupV2('example-group', {
|
|
375
417
|
name: 'Example Group',
|
|
376
418
|
})
|
|
377
|
-
|
|
378
419
|
```
|
|
379
420
|
|
|
380
421
|
## Alert Channel Constructs
|
|
@@ -386,7 +427,7 @@ Here are some examples of how to create different types of alert channels. All a
|
|
|
386
427
|
|
|
387
428
|
### Email Alert Channel
|
|
388
429
|
|
|
389
|
-
|
|
430
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/email-alert-channel/
|
|
390
431
|
|
|
391
432
|
```typescript
|
|
392
433
|
import { EmailAlertChannel } from 'checkly/constructs'
|
|
@@ -395,13 +436,12 @@ export const testEmailAlert = new EmailAlertChannel('example-email-alert-channel
|
|
|
395
436
|
address: 'test@example.com',
|
|
396
437
|
sslExpiry: true,
|
|
397
438
|
})
|
|
398
|
-
|
|
399
439
|
```
|
|
400
440
|
|
|
401
441
|
|
|
402
442
|
### Phone Call Alert Channel
|
|
403
443
|
|
|
404
|
-
|
|
444
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/phone-call-alert-channel/
|
|
405
445
|
|
|
406
446
|
```typescript
|
|
407
447
|
import { PhoneCallAlertChannel } from 'checkly/constructs'
|
|
@@ -410,13 +450,12 @@ export const testUserPhoneCallAlert = new PhoneCallAlertChannel('example-call-al
|
|
|
410
450
|
name: 'Test User',
|
|
411
451
|
phoneNumber: '+311234567890',
|
|
412
452
|
})
|
|
413
|
-
|
|
414
453
|
```
|
|
415
454
|
|
|
416
455
|
|
|
417
456
|
### Slack Alert Channel
|
|
418
457
|
|
|
419
|
-
|
|
458
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/slack-alert-channel/
|
|
420
459
|
|
|
421
460
|
```typescript
|
|
422
461
|
import { SlackAlertChannel } from 'checkly/constructs'
|
|
@@ -425,7 +464,6 @@ export const generalSlackAlert = new SlackAlertChannel('example-slack-alert-chan
|
|
|
425
464
|
url: 'https://hooks.slack.com/services/TK123456789123/12345/123456789',
|
|
426
465
|
channel: '#general',
|
|
427
466
|
})
|
|
428
|
-
|
|
429
467
|
```
|
|
430
468
|
|
|
431
469
|
|
|
@@ -434,10 +472,11 @@ export const generalSlackAlert = new SlackAlertChannel('example-slack-alert-chan
|
|
|
434
472
|
### Status Page
|
|
435
473
|
|
|
436
474
|
- Import the `StatusPage` construct from `checkly/constructs`.
|
|
437
|
-
- Reference [the docs for StatusPages](https://www.checklyhq.com/docs/constructs/status-page/) before generating any code.
|
|
438
475
|
- Status pages are used to display the status of your services to your users.
|
|
439
476
|
- A Status Page consists of cards which include Status Page Services.
|
|
440
477
|
|
|
478
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/status-page/
|
|
479
|
+
|
|
441
480
|
```typescript
|
|
442
481
|
import { StatusPage } from 'checkly/constructs'
|
|
443
482
|
import { exampleService } from './services/example-service.check'
|
|
@@ -456,30 +495,30 @@ new StatusPage('example-status-page', {
|
|
|
456
495
|
customDomain: 'status.example.com',
|
|
457
496
|
defaultTheme: 'AUTO',
|
|
458
497
|
})
|
|
459
|
-
|
|
460
498
|
```
|
|
461
499
|
|
|
462
500
|
### Status Page Service
|
|
463
501
|
|
|
464
502
|
- Import the `StatusPageService` construct from `checkly/constructs`.
|
|
465
|
-
- Reference [the docs for Status Page Services](https://www.checklyhq.com/docs/constructs/status-page-service/) before generating any code.
|
|
466
503
|
- Status Page Services are used to represent individual services on a Status Page.
|
|
467
504
|
|
|
505
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/status-page-service/
|
|
506
|
+
|
|
468
507
|
```typescript
|
|
469
508
|
import { StatusPageService } from 'checkly/constructs'
|
|
470
509
|
|
|
471
510
|
export const exampleService = new StatusPageService('example-status-page-service', {
|
|
472
511
|
name: 'Example Service',
|
|
473
512
|
})
|
|
474
|
-
|
|
475
513
|
```
|
|
476
514
|
|
|
477
515
|
### Dashboard
|
|
478
516
|
|
|
479
517
|
- Import the `Dashboard` construct from `checkly/constructs`.
|
|
480
|
-
- Reference [the docs for Dashboards](https://www.checklyhq.com/docs/constructs/dashboard/) before generating any code.
|
|
481
518
|
- Dashboards are used to display the results of your checks on screens external to Checkly.
|
|
482
519
|
|
|
520
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/dashboard/
|
|
521
|
+
|
|
483
522
|
```typescript
|
|
484
523
|
import { Dashboard } from 'checkly/constructs'
|
|
485
524
|
|
|
@@ -505,16 +544,16 @@ new Dashboard('example-dashboard', {
|
|
|
505
544
|
showP95: true,
|
|
506
545
|
showP99: true,
|
|
507
546
|
})
|
|
508
|
-
|
|
509
547
|
```
|
|
510
548
|
|
|
511
549
|
### Maintenance Window
|
|
512
550
|
|
|
513
551
|
- Import the `MaintenanceWindow` construct from `checkly/constructs`.
|
|
514
|
-
- Reference [the docs for Maintenance Windows](https://www.checklyhq.com/docs/constructs/maintenance-window/) before generating any code.
|
|
515
552
|
- Maintenance windows are used to pause checks during maintenance periods so no alerts are sent.
|
|
516
553
|
- Checks are referenced by their tags in the `tags` property.
|
|
517
554
|
|
|
555
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/maintenance-window/
|
|
556
|
+
|
|
518
557
|
```typescript
|
|
519
558
|
import { MaintenanceWindow } from 'checkly/constructs'
|
|
520
559
|
|
|
@@ -529,15 +568,15 @@ new MaintenanceWindow('example-maintenance-window', {
|
|
|
529
568
|
repeatUnit: 'WEEK',
|
|
530
569
|
repeatEndsAt: new Date('2025-08-01T00:00:00.000Z'),
|
|
531
570
|
})
|
|
532
|
-
|
|
533
571
|
```
|
|
534
572
|
|
|
535
573
|
### Private Location
|
|
536
574
|
|
|
537
575
|
- Import the `PrivateLocation` construct from `checkly/constructs`.
|
|
538
|
-
- Reference [the docs for Private Locations](https://www.checklyhq.com/docs/constructs/private-location/) before generating any code.
|
|
539
576
|
- Private locations are used to run checks from your own infrastructure with the Checkly Agent, an OCI compatible container.
|
|
540
577
|
|
|
578
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/private-location/
|
|
579
|
+
|
|
541
580
|
```typescript
|
|
542
581
|
import { PrivateLocation } from 'checkly/constructs'
|
|
543
582
|
|
|
@@ -546,7 +585,6 @@ export const examplePrivateLocation = new PrivateLocation('example-private-locat
|
|
|
546
585
|
slugName: 'example-private-location',
|
|
547
586
|
icon: 'location',
|
|
548
587
|
})
|
|
549
|
-
|
|
550
588
|
```
|
|
551
589
|
|
|
552
590
|
## Testing and Debugging
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EXAMPLE_CONFIGS = void 0;
|
|
4
|
+
exports.EXAMPLE_CONFIGS = {
|
|
5
|
+
CHECKLY_CONFIG: {
|
|
6
|
+
templateString: '// INSERT CHECKLY CONFIG EXAMPLE HERE //',
|
|
7
|
+
exampleConfig: `import { defineConfig } from 'checkly'
|
|
8
|
+
import { Frequency } from 'checkly/constructs'
|
|
9
|
+
|
|
10
|
+
export default defineConfig({
|
|
11
|
+
projectName: "Production Monitoring Suite",
|
|
12
|
+
logicalId: "prod-monitoring-2025",
|
|
13
|
+
repoUrl: "https://github.com/acme/monitoring",
|
|
14
|
+
checks: {
|
|
15
|
+
activated: true,
|
|
16
|
+
muted: false,
|
|
17
|
+
runtimeId: "2025.04",
|
|
18
|
+
frequency: Frequency.EVERY_10M,
|
|
19
|
+
locations: ["us-east-1", "eu-west-1", "ap-southeast-1"],
|
|
20
|
+
tags: ["production", "critical"],
|
|
21
|
+
checkMatch: "**/__checks__/*.check.ts",
|
|
22
|
+
ignoreDirectoriesMatch: ["node_modules/**", "dist/**"],
|
|
23
|
+
playwrightConfig: {
|
|
24
|
+
use: {
|
|
25
|
+
baseURL: "https://app.example.com",
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
browserChecks: {
|
|
29
|
+
frequency: Frequency.EVERY_30M,
|
|
30
|
+
testMatch: "**/__tests__/*.spec.ts",
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
cli: {
|
|
34
|
+
runLocation: "eu-west-1",
|
|
35
|
+
privateRunLocation: "private-dc1",
|
|
36
|
+
retries: 2,
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
`,
|
|
40
|
+
reference: 'https://www.checklyhq.com/docs/constructs/project/',
|
|
41
|
+
},
|
|
42
|
+
BROWSER_CHECK: {
|
|
43
|
+
templateString: '// INSERT BROWSER CHECK EXAMPLE HERE //',
|
|
44
|
+
exampleConfigPath: 'resources/browser-checks/example-browser-check/example-browser-check.check.ts',
|
|
45
|
+
reference: 'https://www.checklyhq.com/docs/constructs/browser-check/',
|
|
46
|
+
},
|
|
47
|
+
PLAYWRIGHT_CHECK: {
|
|
48
|
+
templateString: '// INSERT PLAYWRIGHT CHECK EXAMPLE HERE //',
|
|
49
|
+
exampleConfig: `import { PlaywrightCheck } from "checkly/constructs"
|
|
50
|
+
|
|
51
|
+
const playwrightChecks = new PlaywrightCheck("multi-browser-check", {
|
|
52
|
+
name: "Multi-browser check suite",
|
|
53
|
+
playwrightConfigPath: "./playwright.config.ts",
|
|
54
|
+
// Playwright Check Suites support all browsers
|
|
55
|
+
// defined in your \`playwright.config\`
|
|
56
|
+
pwProjects: ["chromium", "firefox", "webkit"],
|
|
57
|
+
});
|
|
58
|
+
`,
|
|
59
|
+
reference: 'https://www.checklyhq.com/docs/constructs/playwright-check/',
|
|
60
|
+
},
|
|
61
|
+
API_CHECK: {
|
|
62
|
+
templateString: '// INSERT API CHECK EXAMPLE HERE //',
|
|
63
|
+
exampleConfigPath: 'resources/api-checks/example-api-check/example-api-check.check.ts',
|
|
64
|
+
reference: 'https://www.checklyhq.com/docs/constructs/api-check/',
|
|
65
|
+
},
|
|
66
|
+
MULTISTEP_CHECK: {
|
|
67
|
+
templateString: '// INSERT MULTISTEP CHECK EXAMPLE HERE //',
|
|
68
|
+
exampleConfigPath: 'resources/multi-step-checks/example-multistep-check/example-multistep-check.check.ts',
|
|
69
|
+
reference: 'https://www.checklyhq.com/docs/constructs/multistep-check/',
|
|
70
|
+
},
|
|
71
|
+
TCP_MONITOR: {
|
|
72
|
+
templateString: '// INSERT TCP MONITOR EXAMPLE HERE //',
|
|
73
|
+
exampleConfigPath: 'resources/tcp-monitors/example-tcp-monitor.check.ts',
|
|
74
|
+
reference: 'https://www.checklyhq.com/docs/constructs/tcp-monitor/',
|
|
75
|
+
},
|
|
76
|
+
HEARTBEAT_MONITOR: {
|
|
77
|
+
templateString: '// INSERT HEARTBEAT MONITOR EXAMPLE HERE //',
|
|
78
|
+
exampleConfigPath: 'resources/heartbeat-monitors/example-heartbeat-monitor.check.ts',
|
|
79
|
+
reference: 'https://www.checklyhq.com/docs/constructs/heartbeat-monitor/',
|
|
80
|
+
},
|
|
81
|
+
URL_MONITOR: {
|
|
82
|
+
templateString: '// INSERT URL MONITOR EXAMPLE HERE //',
|
|
83
|
+
exampleConfigPath: 'resources/url-monitors/example-url-monitor.check.ts',
|
|
84
|
+
reference: 'https://www.checklyhq.com/docs/constructs/url-monitor/',
|
|
85
|
+
},
|
|
86
|
+
DNS_MONITOR: {
|
|
87
|
+
templateString: '// INSERT DNS MONITOR EXAMPLE HERE //',
|
|
88
|
+
exampleConfigPath: 'resources/dns-monitors/example-dns-monitor.check.ts',
|
|
89
|
+
reference: 'https://www.checklyhq.com/docs/constructs/dns-monitor/',
|
|
90
|
+
},
|
|
91
|
+
CHECK_GROUP: {
|
|
92
|
+
templateString: '// INSERT CHECK GROUP EXAMPLE HERE //',
|
|
93
|
+
exampleConfigPath: 'resources/check-group/example-group/example-group.check.ts',
|
|
94
|
+
reference: 'https://www.checklyhq.com/docs/constructs/check-group/',
|
|
95
|
+
},
|
|
96
|
+
STATUS_PAGE: {
|
|
97
|
+
templateString: '// INSERT STATUS PAGE EXAMPLE HERE //',
|
|
98
|
+
exampleConfigPath: 'resources/status-pages/example-status-page.check.ts',
|
|
99
|
+
reference: 'https://www.checklyhq.com/docs/constructs/status-page/',
|
|
100
|
+
},
|
|
101
|
+
STATUS_PAGE_SERVICE: {
|
|
102
|
+
templateString: '// INSERT STATUS PAGE SERVICE EXAMPLE HERE //',
|
|
103
|
+
exampleConfigPath: 'resources/status-pages/services/example-service.check.ts',
|
|
104
|
+
reference: 'https://www.checklyhq.com/docs/constructs/status-page-service/',
|
|
105
|
+
},
|
|
106
|
+
DASHBOARD: {
|
|
107
|
+
templateString: '// INSERT DASHBOARD EXAMPLE HERE //',
|
|
108
|
+
exampleConfigPath: 'resources/dashboards/example-dashboard/example-dashboard.check.ts',
|
|
109
|
+
reference: 'https://www.checklyhq.com/docs/constructs/dashboard/',
|
|
110
|
+
},
|
|
111
|
+
MAINTENANCE_WINDOW: {
|
|
112
|
+
templateString: '// INSERT MAINTENANCE WINDOW EXAMPLE HERE //',
|
|
113
|
+
exampleConfigPath: 'resources/maintenance-windows/example-maintenance-window.check.ts',
|
|
114
|
+
reference: 'https://www.checklyhq.com/docs/constructs/maintenance-window/',
|
|
115
|
+
},
|
|
116
|
+
PRIVATE_LOCATION: {
|
|
117
|
+
templateString: '// INSERT PRIVATE LOCATION EXAMPLE HERE //',
|
|
118
|
+
exampleConfigPath: 'resources/private-locations/example-private-location.check.ts',
|
|
119
|
+
reference: 'https://www.checklyhq.com/docs/constructs/private-location/',
|
|
120
|
+
},
|
|
121
|
+
EMAIL_ALERT_CHANNEL: {
|
|
122
|
+
templateString: '// INSERT EMAIL ALERT CHANNEL EXAMPLE HERE //',
|
|
123
|
+
exampleConfigPath: 'resources/alert-channels/email/test.check.ts',
|
|
124
|
+
reference: 'https://www.checklyhq.com/docs/constructs/email-alert-channel/',
|
|
125
|
+
},
|
|
126
|
+
PHONE_CALL_ALERT_CHANNEL: {
|
|
127
|
+
templateString: '// INSERT PHONE CALL ALERT CHANNEL EXAMPLE HERE //',
|
|
128
|
+
exampleConfigPath: 'resources/alert-channels/phone-call/test-user.check.ts',
|
|
129
|
+
reference: 'https://www.checklyhq.com/docs/constructs/phone-call-alert-channel/',
|
|
130
|
+
},
|
|
131
|
+
SLACK_ALERT_CHANNEL: {
|
|
132
|
+
templateString: '// INSERT SLACK ALERT CHANNEL EXAMPLE HERE //',
|
|
133
|
+
exampleConfigPath: 'resources/alert-channels/slack/general.check.ts',
|
|
134
|
+
reference: 'https://www.checklyhq.com/docs/constructs/slack-alert-channel/',
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ai-context/context.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAQxB;IACF,cAAc,EAAE;QACd,cAAc,EAAE,0CAA0C;QAC1D,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClB;QACG,SAAS,EAAE,oDAAoD;KAChE;IACD,aAAa,EAAE;QACb,cAAc,EAAE,yCAAyC;QACzD,iBAAiB,EACf,+EAA+E;QACjF,SAAS,EAAE,0DAA0D;KACtE;IACD,gBAAgB,EAAE;QAChB,cAAc,EAAE,4CAA4C;QAC5D,aAAa,EAAE;;;;;;;;;CASlB;QACG,SAAS,EAAE,6DAA6D;KACzE;IACD,SAAS,EAAE;QACT,cAAc,EAAE,qCAAqC;QACrD,iBAAiB,EACf,mEAAmE;QACrE,SAAS,EAAE,sDAAsD;KAClE;IACD,eAAe,EAAE;QACf,cAAc,EAAE,2CAA2C;QAC3D,iBAAiB,EACf,sFAAsF;QACxF,SAAS,EAAE,4DAA4D;KACxE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,iBAAiB,EAAE;QACjB,cAAc,EAAE,6CAA6C;QAC7D,iBAAiB,EACf,iEAAiE;QACnE,SAAS,EAAE,8DAA8D;KAC1E;IACD,WAAW,EAAE;QACX,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EACf,4DAA4D;QAC9D,SAAS,EAAE,wDAAwD;KACpE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,+CAA+C;QAC/D,iBAAiB,EACf,0DAA0D;QAC5D,SAAS,EAAE,gEAAgE;KAC5E;IACD,SAAS,EAAE;QACT,cAAc,EAAE,qCAAqC;QACrD,iBAAiB,EACf,mEAAmE;QACrE,SAAS,EAAE,sDAAsD;KAClE;IACD,kBAAkB,EAAE;QAClB,cAAc,EAAE,8CAA8C;QAC9D,iBAAiB,EACf,mEAAmE;QACrE,SAAS,EAAE,+DAA+D;KAC3E;IACD,gBAAgB,EAAE;QAChB,cAAc,EAAE,4CAA4C;QAC5D,iBAAiB,EACf,+DAA+D;QACjE,SAAS,EAAE,6DAA6D;KACzE;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,+CAA+C;QAC/D,iBAAiB,EAAE,8CAA8C;QACjE,SAAS,EAAE,gEAAgE;KAC5E;IACD,wBAAwB,EAAE;QACxB,cAAc,EAAE,oDAAoD;QACpE,iBAAiB,EAAE,wDAAwD;QAC3E,SAAS,EAAE,qEAAqE;KACjF;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,+CAA+C;QAC/D,iBAAiB,EAAE,iDAAiD;QACpE,SAAS,EAAE,gEAAgE;KAC5E;CACF,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Checkly CLI Monitoring Agent Skill
|
|
2
|
+
|
|
3
|
+
This directory contains the agent skill for creating and managing end-to-end testing, monitoring, & observability with an AI-native workflow using Checkly.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
skills/
|
|
9
|
+
└── monitoring/
|
|
10
|
+
├── README.md # Documentation about the skill
|
|
11
|
+
└── SKILL.md # Main skill instructions
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## What is an Agent Skill?
|
|
15
|
+
|
|
16
|
+
Agent Skills are a standardized format for giving AI agents specialized knowledge and workflows. This skill teaches agents how to:
|
|
17
|
+
|
|
18
|
+
- Create and manage API checks, Browser Checks, URL monitors, and other monitors
|
|
19
|
+
- Set up Playwright-based Browser and Multistep checks and Playwright Check Suites
|
|
20
|
+
- Configure Heartbeat Monitors for cron jobs and scheduled tasks
|
|
21
|
+
- Define alert channels (email, Slack, phone, webhooks, etc.)
|
|
22
|
+
- Build dashboards and status pages
|
|
23
|
+
- Follow monitoring-as-code best practices with the Checkly CLI
|
|
24
|
+
|
|
25
|
+
## Using This Skill
|
|
26
|
+
|
|
27
|
+
AI agents can load this skill to gain expertise in Checkly monitoring. The skill follows the [Agent Skills specification](https://agentskills.io) with:
|
|
28
|
+
|
|
29
|
+
- **SKILL.md**: Core instructions loaded when the skill is activated
|
|
30
|
+
|
|
31
|
+
## Progressive Disclosure
|
|
32
|
+
|
|
33
|
+
The skill is structured for efficient context usage:
|
|
34
|
+
|
|
35
|
+
1. **Metadata** (~80 tokens): Name and description in frontmatter
|
|
36
|
+
2. **Core Instructions** (~4.5K tokens): Main SKILL.md content with construct examples
|
|
37
|
+
|
|
38
|
+
Agents load what they need for each task.
|
|
39
|
+
|
|
40
|
+
## Learn More
|
|
41
|
+
|
|
42
|
+
- [Checkly CLI Documentation](https://www.checklyhq.com/docs/cli/overview/)
|
|
43
|
+
- [Checkly Constructs Reference](https://www.checklyhq.com/docs/constructs/overview/)
|
|
44
|
+
- [Agent Skills Specification](https://agentskills.io/specification.md)
|