Skip to content

Commit 531a8d7

Browse files
changelog cli & skills
1 parent cf4978f commit 531a8d7

File tree

4 files changed

+85
-32
lines changed

4 files changed

+85
-32
lines changed

apps/dashboard/src/app/(dashboard)/cli/page.tsx

Lines changed: 59 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,8 @@ import {
77
SectionTitle,
88
} from "@/components/content/section";
99
import { Section } from "@/components/content/section";
10-
import {
11-
Tabs,
12-
TabsContent,
13-
TabsList,
14-
TabsTrigger,
15-
} from "@openstatus/ui/components/ui/tabs";
16-
import { FileDown, FileJson, Key, Terminal } from "lucide-react";
10+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@openstatus/ui/components/ui/tabs";
11+
import { FileDown, FileJson, Key, LogIn, Megaphone, PanelTop, Terminal } from "lucide-react";
1712
import React from "react";
1813

1914
const OS = ["macOs", "Windows", "Linux"] as const;
@@ -22,8 +17,7 @@ const installs = [
2217
{
2318
title: "Install CLI",
2419
icon: Terminal,
25-
description:
26-
"Install the OpenStatus CLI to set up your monitors straight in your code.",
20+
description: "Install the OpenStatus CLI to set up your monitors straight in your code.",
2721
command: {
2822
macOs: [
2923
"brew install openstatusHQ/cli/openstatus --cask",
@@ -37,12 +31,18 @@ const installs = [
3731
],
3832
},
3933
},
34+
{
35+
title: "Login",
36+
icon: LogIn,
37+
description: "Save your API token for use in subsequent commands.",
38+
command: "openstatus login",
39+
},
4040
{
4141
title: "Add API Key",
4242
icon: Key,
4343
description: (
4444
<>
45-
Create an API key in your workspace{" "}
45+
Or set it as an environment variable. Create an API key in your workspace{" "}
4646
<Link href="/settings/general">settings.</Link>
4747
</>
4848
),
@@ -52,6 +52,18 @@ const installs = [
5252
Linux: ["export OPENSTATUS_API_TOKEN=<your-api-token>"],
5353
},
5454
},
55+
{
56+
title: "List Status Pages",
57+
icon: PanelTop,
58+
description: "List all status pages in your workspace.",
59+
command: "openstatus status-page list",
60+
},
61+
{
62+
title: "List Status Reports",
63+
icon: Megaphone,
64+
description: "List all status reports in your workspace.",
65+
command: "openstatus status-report list",
66+
},
5567
{
5668
title: "Import Monitors",
5769
icon: FileDown,
@@ -61,8 +73,7 @@ const installs = [
6173
{
6274
title: "Manage Monitors",
6375
icon: FileJson,
64-
description:
65-
"Add, remove, or update monitors from a YAML file and apply your changes.",
76+
description: "Add, remove, or update monitors from a YAML file and apply your changes.",
6677
command: "openstatus monitors apply",
6778
},
6879
] satisfies {
@@ -86,8 +97,25 @@ const commands = [
8697
description: "Trigger a monitor.",
8798
},
8899
{
89-
command: "openstatus run [options]",
90-
description: "Run a list of monitors.",
100+
command: "openstatus status-page list [options]",
101+
description: "List all status pages.",
102+
},
103+
{
104+
command: "openstatus status-page info [page-id]",
105+
description: "Get status page details.",
106+
},
107+
{
108+
command:
109+
'openstatus status-report create --title "..." --status investigating --message "..." --page-id 123',
110+
description: "Create a status report.",
111+
},
112+
{
113+
command: 'openstatus status-report add-update [report-id] --status resolved --message "..."',
114+
description: "Add an update to a status report.",
115+
},
116+
{
117+
command: "openstatus status-report list [options]",
118+
description: "List all status reports.",
91119
},
92120
];
93121

@@ -135,8 +163,7 @@ export default function Page() {
135163
<SectionHeader>
136164
<SectionTitle>CLI</SectionTitle>
137165
<SectionDescription>
138-
Get started with the CLI to export and manage your monitors in your
139-
code.{" "}
166+
Get started with the CLI to export and manage your monitors in your code.{" "}
140167
<Link
141168
href="https://docs.openstatus.dev/reference/cli-reference/"
142169
target="_blank"
@@ -158,20 +185,15 @@ export default function Page() {
158185
{OS.map((os) => (
159186
<TabsContent key={os} value={os} className="flex flex-col gap-6">
160187
{installs.map((step, i) => {
161-
const commands =
162-
typeof step.command === "string"
163-
? step.command
164-
: step.command[os];
188+
const commands = typeof step.command === "string" ? step.command : step.command[os];
165189
return (
166190
<div key={i} className="flex flex-col gap-3">
167191
<div className="flex flex-col gap-1">
168192
<p className="flex items-center gap-2 font-medium text-sm">
169193
<step.icon className="size-4" />
170194
{step.title}
171195
</p>
172-
<p className="text-muted-foreground text-sm">
173-
{step.description}
174-
</p>
196+
<p className="text-muted-foreground text-sm">{step.description}</p>
175197
</div>
176198
{typeof commands === "string" ? (
177199
<Code>{commands}</Code>
@@ -212,20 +234,28 @@ export default function Page() {
212234
<ul className="flex flex-col gap-2">
213235
{commands.map((command, i) => (
214236
<li key={i} className="flex flex-col gap-0.5">
215-
<p className="text-muted-foreground text-xs">
216-
{command.description}
217-
</p>
237+
<p className="text-muted-foreground text-xs">{command.description}</p>
218238
<Code>{command.command}</Code>
219239
</li>
220240
))}
221241
</ul>
222242
</Section>
243+
<Section>
244+
<SectionHeader>
245+
<SectionTitle>Skills</SectionTitle>
246+
<SectionDescription>
247+
Add the openstatus skill to let AI agents manage your monitors, status pages, and status
248+
reports on your behalf.
249+
</SectionDescription>
250+
</SectionHeader>
251+
<Code>npx skills add openstatushq/cli</Code>
252+
</Section>
223253
<Section>
224254
<SectionHeader>
225255
<SectionTitle>GitHub Action</SectionTitle>
226256
<SectionDescription>
227-
We provide you with a github action in case you'd like to use the
228-
CLI within your CI/CD workflows. Check the{" "}
257+
We provide you with a github action in case you'd like to use the CLI within your CI/CD
258+
workflows. Check the{" "}
229259
<Link
230260
href="https://github.com/openstatusHQ/openstatus-github-action"
231261
target="_blank"
@@ -264,9 +294,7 @@ export default function Page() {
264294
<div className="flex flex-col gap-6">
265295
{templates.map((template, i) => (
266296
<div key={i} className="flex flex-col gap-0.5">
267-
<p className="text-muted-foreground text-xs">
268-
{template.description}
269-
</p>
297+
<p className="text-muted-foreground text-xs">{template.description}</p>
270298
<Code>{template.template}</Code>
271299
</div>
272300
))}

apps/web/next-env.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
3-
import "./.next/types/routes.d.ts";
3+
import "./.next/dev/types/routes.d.ts";
44

55
// NOTE: This file should not be edited
66
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
312 KB
Loading
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: "CLI update: status pages and status reports"
3+
description: "Manage your status pages and status reports directly from the command line, and integrate with AI agents using skills."
4+
image: "/assets/changelog/cli-skills.png"
5+
publishedAt: "2026-03-26"
6+
author: "openstatus"
7+
category: "CLI"
8+
---
9+
10+
We've shipped a new version of the openstatus CLI with support for **status pages** and **status reports**.
11+
12+
## What's new
13+
14+
- **List status pages** — view all your status pages from the terminal.
15+
- **Create and update status reports** — manage incidents without leaving your workflow.
16+
17+
## Skills for AI agents
18+
19+
We also released a skill to make the CLI work seamlessly with AI agents.
20+
21+
```
22+
npx skills add openstatushq/cli
23+
```
24+
25+
Add the skill to your agent and let it manage status reports on your behalf.

0 commit comments

Comments
 (0)