Documentation site for denoise and the dn CLI. Built with
Astro + Starlight.
src/
├── content/docs/ # Markdown documentation pages
├── components/ # Custom Astro components (theme, footer)
├── styles/theme.css # Custom Starlight theme
└── app/
└── serve.ts # Deno file server (serves static build for preview/deploy)
astro.config.mjs # Starlight sidebar and component configuration
Makefile # Build, lint, deploy, hot reload
DEPLOY.md # Pi deploy guide (developers only)
Documentation pages live in src/content/docs/. Each .md file is a route
based on its file name. The sidebar is configured in astro.config.mjs.
All commands are run from the denoise-docs/ directory:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Serve the built site locally (Deno server) |
make dev_hot_reload |
Astro build watcher + Deno server (restart on change) |
make sync |
Lint, sl pull --rebase, restack if needed, push drafts |
make check_deploy |
Verify SSH to the Pi before deploying |
make deploy |
Build and deploy the docs site to washington (see DEPLOY.md) |
npm run deno-deploy |
Build and deploy to Deno Deploy (CLI) |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
The site is built as a static Astro/Starlight site. A small Deno server
serves dist/ for local preview and Deno Deploy (SPA fallback to index.html).
Local preview: run npm run build then npm run preview
(deno run -A src/app/serve.ts).
The app builds with Node (static Astro) and deploys via the deployctl GitHub
Action. The Deno server entrypoint is src/app/serve.ts.
- In Deno Deploy, create a project and link this repo. Choose GitHub Action mode (build runs in the workflow, not on Deno).
- Set the repo variable
DENO_DEPLOY_PROJECTto your project name (or edit.github/workflows/deploy-denoise-docs.yml). - Push to
main— the workflow builds the static site and deploys the Deno server.
Check out Starlight’s docs, read the Astro documentation, or jump into the Astro Discord server.