Documentation site for pboss (the open-source universal process manager) and ProcBoss Cloud.
Built with Astro 5 + Tailwind CSS 4, fully static — 27 HTML pages with only ~1.5 KB of inline progressive-enhancement JavaScript (a dark/light theme switch and copy buttons on code blocks — no framework, no external JS files, site fully readable without JS). Dark/light mode defaults to the system preference, persists the visitor's choice in localStorage, and pairs with build-time dual-theme syntax highlighting (Shiki). Hosted on Cloudflare Pages.
| Piece | Choice |
|---|---|
| Framework | Astro 5 (static output, content collections) |
| Styling | Tailwind CSS 4 (Vite plugin) + typography plugin |
| Syntax highlighting | Shiki, dual themes (github-light / github-dark) switched by CSS custom properties |
| Search | — (nav-first structure; add Pagefind later if needed) |
| JS shipped | ~1.5 KB inline: theme toggle + code copy buttons. Mobile nav is a <details> element; TOC is plain anchors |
src/
├── config.ts # site facts, sidebar sections
├── content.config.ts # docs collection (title/description/section/order)
├── content/docs/ # ← the actual documentation (Markdown)
│ ├── intro.md # served at /
│ ├── installation.md quickstart.md runtimes.md
│ ├── cli/ # processes, cluster, logs, monitoring, dashboard,
│ │ # ecosystem, env, deploy, startup, modules, daemon
│ ├── guide/ # docker, config, dashboard-api, prometheus,
│ │ # programmatic-api
│ ├── cloud/ # link-server, agent-api (+ cloud.md at top level)
│ ├── architecture.md # how the CLI/daemon/containers fit together
│ ├── recipes.md # cookbook: prod, watch, cron, deploys, code
│ └── troubleshooting.md
├── layouts/DocLayout.astro # header + sidebar + prose + TOC + prev/next
├── components/ # Header, Sidebar, Toc, PrevNext,
│ # ThemeInit (no-flash theme bootstrap),
│ # ClientEnhancements (toggle + copy buttons)
└── styles/global.css # Tailwind + shiki dual-theme + prose tweaks
astro.config.mjs # + custom rehype anchor plugin (github-slugger)
To add a page: drop a Markdown file into src/content/docs/ with frontmatter title, section (one of the keys in src/config.ts), and order. It appears in the sidebar, prev/next, and gets /slug routing automatically.
bun install
bun run dev # http://localhost:4321
bun run build # static site in dist/
bun run preview # serve dist/ locallyWhen changing
astro.config.mjs(markdown/rehype settings), clear the render cache:rm -rf .astro— Astro's content layer caches rendered Markdown and won't re-render on config changes alone.
The site is 100% static — no server, no functions, no headers needed.
- Cloudflare dashboard → Workers & Pages → Create → Pages → Connect to Git.
- Select the
Procboss/docsrepository. - Build settings:
- Framework preset: Astro
- Build command:
bun run build - Build output directory:
dist - Build image: Ubuntu 22.04; install Bun with the official setup, or set the build command to:
curl -fsSL https://bun.sh/install | bash && ~/.bun/bin/bun install && ~/.bun/bin/bun run build
- Save and deploy. Subsequent pushes to
maindeploy automatically.
bun run build
npx wrangler pages deploy dist --project-name=procboss-docsPoint your custom domain (e.g. docs.procboss.com) at the Pages project — site in astro.config.mjs is already set to https://docs.procboss.com for canonical URLs.
CLI reference content is derived from pboss DOCS.md (the full manual previously shipped as the README — the README is now a short intro that points here) and kept in sync manually — when pboss gains flags or commands, update the matching page under src/content/docs/cli/. Cloud pages document the pboss login device flow and agent API implemented on procboss.com. This site at docs.procboss.com is the canonical home for all ProcBoss documentation.
Documentation content is licensed alongside the pboss project (GPLv3). The site scaffolding itself is plain Astro/Tailwind — reuse freely.