mcdbus/docs-site/astro.config.mjs
Ryan Malloy 5cc14f3dcf Add Starlight documentation site
Scaffolds docs-site/ with the warehack.ing cookie-cutter
pattern (Caddy + Node multi-stage Dockerfile, caddy-docker-proxy
labels, HMR via WSS).

21 content pages following Diataxis structure:
- Start Here: overview, installation, first-steps tutorial
- How-To Guides: media players, systemd, notifications,
  battery/network, bluetooth, service exploration, permissions
- Reference: discovery tools, interaction tools, shortcut tools,
  resources, prompts, environment variables
- Explanation: architecture, session vs system bus,
  confirmation flow, security layers

Terminal-green + slate theme. Builds to 22 static HTML pages.
2026-03-06 17:34:33 -07:00

102 lines
3.1 KiB
JavaScript

import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
import tailwindcss from "@tailwindcss/vite";
import sitemap from "@astrojs/sitemap";
export default defineConfig({
site: "https://mcdbus.warehack.ing",
telemetry: false,
devToolbar: { enabled: false },
integrations: [
starlight({
title: "mcdbus",
description:
"D-Bus MCP server — give Claude access to your Linux desktop bus",
favicon: "/favicon.svg",
social: [
{
icon: "seti:git",
label: "Source",
href: "https://git.supported.systems/warehack.ing/mcdbus",
},
],
customCss: ["./src/styles/global.css"],
sidebar: [
{
label: "Start Here",
items: [
{ label: "What is mcdbus?", slug: "start-here/overview" },
{ label: "Installation", slug: "start-here/installation" },
{ label: "First Steps", slug: "start-here/first-steps" },
],
},
{
label: "How-To Guides",
items: [
{ label: "Control Media Players", slug: "guides/media-players" },
{ label: "Manage Systemd Units", slug: "guides/systemd" },
{ label: "Send Notifications", slug: "guides/notifications" },
{
label: "Check Battery & Network",
slug: "guides/system-status",
},
{ label: "Browse Bluetooth Devices", slug: "guides/bluetooth" },
{
label: "Explore Unknown Services",
slug: "guides/explore-services",
},
{ label: "Lock Down Permissions", slug: "guides/permissions" },
],
},
{
label: "Reference",
items: [
{ label: "Discovery Tools", slug: "reference/discovery-tools" },
{
label: "Interaction Tools",
slug: "reference/interaction-tools",
},
{ label: "Shortcut Tools", slug: "reference/shortcut-tools" },
{ label: "Resources", slug: "reference/resources" },
{ label: "Prompts", slug: "reference/prompts" },
{
label: "Environment Variables",
slug: "reference/environment-variables",
},
],
},
{
label: "Explanation",
collapsed: true,
items: [
{ label: "Architecture", slug: "explanation/architecture" },
{
label: "Session vs System Bus",
slug: "explanation/buses",
},
{
label: "Confirmation Flow",
slug: "explanation/confirmation-flow",
},
{ label: "Security Layers", slug: "explanation/security-layers" },
],
},
],
}),
sitemap(),
],
vite: {
plugins: [tailwindcss()],
server: {
host: "0.0.0.0",
...(process.env.VITE_HMR_HOST && {
hmr: {
host: process.env.VITE_HMR_HOST,
protocol: "wss",
clientPort: 443,
},
}),
},
},
});