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.
Files changed (151) hide show
  1. package/assets/runtimes/snapshots/20260130/runtimes.json +349 -0
  2. package/dist/{rules → ai-context}/checkly.rules.md +72 -34
  3. package/dist/ai-context/context.d.ts +6 -0
  4. package/dist/ai-context/context.js +137 -0
  5. package/dist/ai-context/context.js.map +1 -0
  6. package/dist/ai-context/skills/monitoring/README.md +44 -0
  7. package/dist/ai-context/skills/monitoring/SKILL.md +600 -0
  8. package/dist/auth/index.js +2 -2
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/commands/baseCommand.js +9 -5
  11. package/dist/commands/baseCommand.js.map +1 -1
  12. package/dist/commands/debug/parse-file.d.ts +13 -0
  13. package/dist/commands/debug/parse-file.js +79 -0
  14. package/dist/commands/debug/parse-file.js.map +1 -0
  15. package/dist/commands/debug/parse-playwright-config.d.ts +9 -0
  16. package/dist/commands/debug/parse-playwright-config.js +31 -0
  17. package/dist/commands/debug/parse-playwright-config.js.map +1 -0
  18. package/dist/commands/debug/parse-project.d.ts +41 -0
  19. package/dist/commands/debug/parse-project.js +109 -0
  20. package/dist/commands/debug/parse-project.js.map +1 -0
  21. package/dist/commands/deploy.js +41 -7
  22. package/dist/commands/deploy.js.map +1 -1
  23. package/dist/commands/import/plan.js +7 -6
  24. package/dist/commands/import/plan.js.map +1 -1
  25. package/dist/commands/pw-test.d.ts +3 -2
  26. package/dist/commands/pw-test.js +65 -17
  27. package/dist/commands/pw-test.js.map +1 -1
  28. package/dist/commands/rules.js +1 -1
  29. package/dist/commands/rules.js.map +1 -1
  30. package/dist/commands/runtimes.js +1 -1
  31. package/dist/commands/runtimes.js.map +1 -1
  32. package/dist/commands/sync-playwright.js +3 -2
  33. package/dist/commands/sync-playwright.js.map +1 -1
  34. package/dist/commands/test.js +42 -6
  35. package/dist/commands/test.js.map +1 -1
  36. package/dist/commands/validate.js +2 -2
  37. package/dist/commands/validate.js.map +1 -1
  38. package/dist/constructs/api-check.js +6 -0
  39. package/dist/constructs/api-check.js.map +1 -1
  40. package/dist/constructs/browser-check.d.ts +2 -1
  41. package/dist/constructs/browser-check.js +7 -3
  42. package/dist/constructs/browser-check.js.map +1 -1
  43. package/dist/constructs/check-config.d.ts +2 -3
  44. package/dist/constructs/check-config.js.map +1 -1
  45. package/dist/constructs/check-group-v1.js +1 -2
  46. package/dist/constructs/check-group-v1.js.map +1 -1
  47. package/dist/constructs/check.d.ts +2 -1
  48. package/dist/constructs/check.js.map +1 -1
  49. package/dist/constructs/construct-diagnostics.d.ts +3 -0
  50. package/dist/constructs/construct-diagnostics.js +14 -1
  51. package/dist/constructs/construct-diagnostics.js.map +1 -1
  52. package/dist/constructs/internal/codegen/snippet.js +2 -2
  53. package/dist/constructs/internal/codegen/snippet.js.map +1 -1
  54. package/dist/constructs/multi-step-check.d.ts +2 -1
  55. package/dist/constructs/multi-step-check.js.map +1 -1
  56. package/dist/constructs/playwright-check-bundle.d.ts +52 -6
  57. package/dist/constructs/playwright-check-bundle.js +51 -6
  58. package/dist/constructs/playwright-check-bundle.js.map +1 -1
  59. package/dist/constructs/playwright-check.d.ts +8 -13
  60. package/dist/constructs/playwright-check.js +102 -30
  61. package/dist/constructs/playwright-check.js.map +1 -1
  62. package/dist/constructs/project.d.ts +11 -1
  63. package/dist/constructs/project.js +34 -0
  64. package/dist/constructs/project.js.map +1 -1
  65. package/dist/helpers/recast-acorn-parser.d.ts +2 -0
  66. package/dist/helpers/recast-acorn-parser.js +49 -0
  67. package/dist/helpers/recast-acorn-parser.js.map +1 -0
  68. package/dist/loader/jiti.js +20 -3
  69. package/dist/loader/jiti.js.map +1 -1
  70. package/dist/loader/ts-node.js +10 -0
  71. package/dist/loader/ts-node.js.map +1 -1
  72. package/dist/reporters/abstract-list.d.ts +4 -1
  73. package/dist/reporters/abstract-list.js +4 -2
  74. package/dist/reporters/abstract-list.js.map +1 -1
  75. package/dist/reporters/reporter.d.ts +4 -1
  76. package/dist/reporters/reporter.js +7 -7
  77. package/dist/reporters/reporter.js.map +1 -1
  78. package/dist/rest/api.d.ts +1 -0
  79. package/dist/rest/api.js +27 -3
  80. package/dist/rest/api.js.map +1 -1
  81. package/dist/rest/runtimes.d.ts +3 -10
  82. package/dist/rest/runtimes.js +6 -4
  83. package/dist/rest/runtimes.js.map +1 -1
  84. package/dist/runtimes/index.d.ts +2 -0
  85. package/dist/runtimes/index.js +6 -0
  86. package/dist/runtimes/index.js.map +1 -0
  87. package/dist/runtimes/runtime.d.ts +8 -0
  88. package/dist/runtimes/runtime.js +3 -0
  89. package/dist/runtimes/runtime.js.map +1 -0
  90. package/dist/runtimes/snapshot.d.ts +2 -0
  91. package/dist/runtimes/snapshot.js +16 -0
  92. package/dist/runtimes/snapshot.js.map +1 -0
  93. package/dist/services/check-parser/errors.js +1 -0
  94. package/dist/services/check-parser/errors.js.map +1 -1
  95. package/dist/services/check-parser/faux-package.d.ts +3 -0
  96. package/dist/services/check-parser/faux-package.js +19 -0
  97. package/dist/services/check-parser/faux-package.js.map +1 -0
  98. package/dist/services/check-parser/package-files/extension.d.ts +3 -1
  99. package/dist/services/check-parser/package-files/extension.js +11 -2
  100. package/dist/services/check-parser/package-files/extension.js.map +1 -1
  101. package/dist/services/check-parser/package-files/json-source-file.d.ts +1 -0
  102. package/dist/services/check-parser/package-files/json-source-file.js +8 -0
  103. package/dist/services/check-parser/package-files/json-source-file.js.map +1 -1
  104. package/dist/services/check-parser/package-files/json-text-source-file-parser.js +2 -1
  105. package/dist/services/check-parser/package-files/json-text-source-file-parser.js.map +1 -1
  106. package/dist/services/check-parser/package-files/package-json-file.d.ts +14 -3
  107. package/dist/services/check-parser/package-files/package-json-file.js +59 -0
  108. package/dist/services/check-parser/package-files/package-json-file.js.map +1 -1
  109. package/dist/services/check-parser/package-files/package-manager.d.ts +48 -0
  110. package/dist/services/check-parser/package-files/package-manager.js +278 -19
  111. package/dist/services/check-parser/package-files/package-manager.js.map +1 -1
  112. package/dist/services/check-parser/package-files/paths.d.ts +6 -0
  113. package/dist/services/check-parser/package-files/paths.js +23 -1
  114. package/dist/services/check-parser/package-files/paths.js.map +1 -1
  115. package/dist/services/check-parser/package-files/resolver.d.ts +67 -11
  116. package/dist/services/check-parser/package-files/resolver.js +168 -23
  117. package/dist/services/check-parser/package-files/resolver.js.map +1 -1
  118. package/dist/services/check-parser/package-files/result.d.ts +38 -0
  119. package/dist/services/check-parser/package-files/result.js +58 -0
  120. package/dist/services/check-parser/package-files/result.js.map +1 -0
  121. package/dist/services/check-parser/package-files/workspace.d.ts +60 -0
  122. package/dist/services/check-parser/package-files/workspace.js +103 -0
  123. package/dist/services/check-parser/package-files/workspace.js.map +1 -0
  124. package/dist/services/check-parser/parser.d.ts +27 -6
  125. package/dist/services/check-parser/parser.js +130 -55
  126. package/dist/services/check-parser/parser.js.map +1 -1
  127. package/dist/services/checkly-config-loader.d.ts +4 -0
  128. package/dist/services/checkly-config-loader.js +26 -3
  129. package/dist/services/checkly-config-loader.js.map +1 -1
  130. package/dist/services/playwright-config.js +2 -2
  131. package/dist/services/playwright-config.js.map +1 -1
  132. package/dist/services/project-parser.d.ts +4 -1
  133. package/dist/services/project-parser.js +69 -2
  134. package/dist/services/project-parser.js.map +1 -1
  135. package/dist/services/proxy.d.ts +2 -0
  136. package/dist/services/proxy.js +40 -0
  137. package/dist/services/proxy.js.map +1 -0
  138. package/dist/services/shell.d.ts +2 -0
  139. package/dist/services/shell.js +20 -0
  140. package/dist/services/shell.js.map +1 -0
  141. package/dist/services/test-runner.js +1 -1
  142. package/dist/services/test-runner.js.map +1 -1
  143. package/dist/services/util.d.ts +2 -4
  144. package/dist/services/util.js +27 -88
  145. package/dist/services/util.js.map +1 -1
  146. package/dist/testing/fixture-sandbox.d.ts +54 -0
  147. package/dist/testing/fixture-sandbox.js +102 -0
  148. package/dist/testing/fixture-sandbox.js.map +1 -0
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/oclif.manifest.json +179 -2
  151. 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 `playwight.config`
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
- - Reference [the docs for Heartbeat monitor](https://www.checklyhq.com/docs/constructs/heartbeat-monitor/) before generating any code.
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
- - Reference [the docs for Email Alert Channels](https://www.checklyhq.com/docs/constructs/email-alert-channel/) before generating any code.
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
- - Reference [the docs for Phone Call Alert Channels](https://www.checklyhq.com/docs/constructs/phone-call-alert-channel/) before generating any code.
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
- - Reference [the docs for Slack Alert Channels](https://www.checklyhq.com/docs/constructs/slack-alert-channel/) before generating any code.
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,6 @@
1
+ export declare const EXAMPLE_CONFIGS: Record<string, {
2
+ templateString: string;
3
+ reference: string;
4
+ exampleConfig?: string;
5
+ exampleConfigPath?: string;
6
+ }>;
@@ -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)