TailSpend Docs

Documentation hosting

All TailSpend documentation is generated as static HTML and served by CloudFront from a private S3 bucket. Production is https://docs.tailspend.kinesis.studio; beta and dev use docs.beta.tailspend.kinesis.studio and docs.dev.tailspend.kinesis.studio. The configured zone is kinesis.studio.

Build and preview

Run from the repository root:

npx turbo run build --filter=@repo/openapi
python3 -m http.server 3001 --directory apps/infra/dist/api-docs

Browse http://localhost:3001. The generator clears the previous site before writing pages, so deleted documents disappear on the next deployment. Swagger UI uses the pinned unpkg assets; the guide, help, Markdown pages and diagrams are served from S3 without a JavaScript runtime.

Deployment

Deploy Stage builds @repo/openapi before CDK synthesis, including Markdown changes even when the package source is unchanged (the generator is uncached in Turbo). ApiDocsStack uploads apps/infra/dist/api-docs/, prunes removed objects and invalidates CloudFront. Synthesis rejects incomplete site artifacts.

The existing stack, bucket, distribution, DNS alias, ACM certificate and OAC are retained. S3 blocks all public access; CloudFront serves HTTPS with HSTS and framing protection. There is no Next.js app or Vercel deployment dependency. No docs routes use an application server or SPA fallback; nested .html paths are real S3 objects and work on direct navigation.

View Markdown source