···475475 );
476476}
477477478478+const blockYaml = allUnrelateds.find(
479479+ (unrelated) => unrelated.slug === "yaml-file",
480480+);
481481+482482+export function FeatureYAML(
483483+ props: Partial<Pick<InteractiveFeatureProps, "position">>,
484484+) {
485485+ if (!blockYaml) {
486486+ throw new Error("YAML file block not found");
487487+ }
488488+489489+ return (
490490+ <InteractiveFeature
491491+ icon="file-text"
492492+ iconText="YAML File"
493493+ title="Monitoring as Code."
494494+ subTitle="Use any version control system to manage your monitors."
495495+ className="max-h-max"
496496+ component={
497497+ <Mdx
498498+ code={blockYaml.mdx}
499499+ className="max-w-none prose-pre:overflow-hidden"
500500+ />
501501+ }
502502+ col={2}
503503+ position={props.position || "right"}
504504+ />
505505+ );
506506+}
507507+478508export function FeatureCLI(
479509 props: Partial<Pick<InteractiveFeatureProps, "position">>,
480510) {
···490520 icon="terminal"
491521 iconText="CLI"
492522 title="Run everywhere."
493493- subTitle="Create your monitors from your favorite terminal."
523523+ subTitle="Manage and trigger your monitors from your favorite terminal."
494524 component={
495525 <Mdx
496526 code={blockCLI.mdx}
+14-15
apps/web/src/config/features.tsx
···107107 title: "CLI",
108108 features: [
109109 {
110110+ icon: "file-text",
111111+ catchline: "YAML file configuration",
112112+ description: "Use version control to keep track of all your changes.",
113113+ },
114114+ {
110115 icon: "sparkles",
111111- catchline: "No ClickOps",
112112- description: (
113113- <p>
114114- Use your config file to manage or trigger your monitors. Never leave
115115- your terminal.{" "}
116116- <a
117117- className="text-foreground"
118118- href="https://docs.openstatus.dev/cli/getting-started/"
119119- target="_blank"
120120- rel="noreferrer"
121121- >
122122- Learn more
123123- </a>
124124- </p>
125125- ),
116116+ catchline: "Monitoring as Code",
117117+ description:
118118+ "Apply changes to your monitors directly from the terminal.",
119119+ },
120120+ {
121121+ icon: "workflow",
122122+ catchline: "CI/CD",
123123+ description:
124124+ "Trigger a specific monitor or run your file within your workflows.",
126125 },
127126 ],
128127 },
+2
apps/web/src/config/landings.tsx
···2121 FeatureSubscriptions,
2222 FeatureTerraformProvider,
2323 FeatureTimingAssertions,
2424+ FeatureYAML,
2425 SpeedBanner,
2526} from "@/components/marketing/feature";
2627···9798 "Use configuration files to define your monitoring and store them in your codebase.",
9899 blocks: [
99100 <FeatureCLI key="feature-cli" />,
101101+ <FeatureYAML key="feature-yaml-file" position="top" />,
100102 <FeatureGitHubAction key="feature-github-action" />,
101103 <EnterpriseBanner key="enterprise-banner" />,
102104 <FeatureAPIMonitoring key="feature-api-monitoring" />,