Overview
TUP currently has no public-facing documentation beyond the root README.md and individual module READMEs. A proper documentation site is essential for open-source adoption, client evaluation, and showcasing the project professionally.
Proposed Solution
Build a static documentation site using Starlight (Astro-based), hosted on Cloudflare Pages with automatic deploys from the main branch.
Why Starlight
- Built on Astro — generates fully static HTML, zero JS overhead
- Built-in full-text search (Pagefind) with no backend required
- Dark mode, sidebar navigation, and versioning out of the box
- Markdown + MDX support for interactive code examples
Proposed Site Structure
docs/
├── src/
│ ├── content/
│ │ ├── docs/
│ │ │ ├── getting-started/
│ │ │ │ ├── introduction.md
│ │ │ │ ├── quickstart.md # docker compose up in 5 min
│ │ │ │ └── architecture.md
│ │ │ ├── detection-engine/
│ │ │ │ ├── how-it-works.md
│ │ │ │ ├── backends.md # local, HF, NVIDIA, Sentinel
│ │ │ │ └── writing-policies.md
│ │ │ ├── configuration/
│ │ │ │ ├── environment-variables.md
│ │ │ │ └── deployment.md # Caddy, TLS, production checklist
│ │ │ └── api-reference/
│ │ │ └── manager-api.md
│ └── assets/
├── astro.config.mjs
└── package.json
Changes Required
Deployment
# .github/workflows/docs.yml
name: Deploy Docs
on:
push:
branches: [main]
paths: ['docs/**']
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cd docs && npm ci && npm run build
- uses: cloudflare/wrangler-action@v3
with:
command: pages deploy docs/dist --project-name=tup-docs
Acceptance Criteria
Priority
🟡 Low (but high visibility) — major credibility boost for open-source presence and portfolio
Overview
TUP currently has no public-facing documentation beyond the root
README.mdand individual module READMEs. A proper documentation site is essential for open-source adoption, client evaluation, and showcasing the project professionally.Proposed Solution
Build a static documentation site using Starlight (Astro-based), hosted on Cloudflare Pages with automatic deploys from the
mainbranch.Why Starlight
Proposed Site Structure
Changes Required
docs/directory withnpm create astro -- --template starlightgetting-started/quickstart.md(the most important page)getting-started/architecture.mdwith a system diagram.env.exampledetection-engine/how-it-works.mdexplaining the pipelinedetection-engine/backends.mdfor all supported backendsdocsservice or separate Cloudflare Pages deployment configREADME.mdmainDeployment
Acceptance Criteria
docs.tup.devor Cloudflare Pages subdomain)mainpushPriority
🟡 Low (but high visibility) — major credibility boost for open-source presence and portfolio