1# lofi.host23The Docusaurus site for [lofi.host](https://lofi.host): the landing page, the user docs rendered4from the repo's `docs/` folder, the API reference generated from JSDoc, and the `llms.txt` /5`llms-full.txt` corpus.67## Layout89- `docusaurus.config.ts` — reads `../docs` as the docs source; excludes repo-only content10 (`spikes/`, `devx-contract.md`, `seed.md`).11- `docs-manifest.json` — the single source of truth for which docs are published and in what order.12 `sidebars.ts` builds the sidebar from it and `../tools/site_llms.ts` builds `llms.txt` from it.13- `api-gen/` — generated by `../tools/api_docs.ts` from `deno doc --json`; gitignored.14- `static/llms.txt`, `static/llms-full.txt` — generated by `../tools/site_llms.ts`; gitignored.15- `src/pages/index.tsx` + `src/css/landing.css` — the landing page, ported from the standalone16 lofi-site.1718## Develop1920From the repository root:2122```sh23deno task site:dev # generate API pages + llms files, then start the dev server24deno task site:build # full production build into website/build25```2627Docs content edits belong in `../docs/*.md` (plain CommonMark, no frontmatter — the same files28render on GitHub and JSR). New docs must be added to `docs-manifest.json` to appear in the sidebar29and llms.txt.3031## Deploy3233`.github/workflows/site.yml` builds on every PR touching site inputs and deploys to Cloudflare34Pages (project `lofi-host`, domain lofi.host) on every push to `main`.