Documentation

Content's Not Dead is an open-source, cloneable content platform. Sell your own writing and art with Stripe subscriptions and per-item agent payments (MPP).

1. Clone & install

git clone <your-fork> my-content-sitecd my-content-sitenpm installcp .env.example .env.local

2. Configure environment

Fill in .env.local:

Using Stripe Projects? Most of this is provisioned for you — run stripe projects env --pull.

3. Add your content

Drop Markdown files in content/ with frontmatter:

---title: My Postsummary: A one-line teaser shown on the home grid.authors: [Your Name]date: '2026-07-18'tags: [essays]type: article        # or: image# image posts only:# image: my-art.png       # full asset in content/assets/# preview: /previews/my-art.png  # low-detail preview in public/--- Your Markdown body here.

Full-resolution images live in content/assets/ (outside public/) and are served only after payment or a subscription via a short-lived signed URL. Put a low-detail preview in public/previews/.

4. Theming

Three themes ship in app/globals.css as CSS variables: minimalist, bookworm, and maximalist. Light/dark follows the browser automatically. Set the default with NEXT_PUBLIC_DEFAULT_THEME. To add a theme, add a [data-theme="yours"] block of variables. The in-app theme switcher appears only in demo mode.

5. Agent parity

Every piece of content is equally available to agents:

6. Deploy

Deploy to Vercel. Set all env vars in the project settings and point NEXT_PUBLIC_APP_URL at your domain. Configure a Stripe webhook endpoint at /api/stripe/webhook. Vercel Web Analytics and Speed Insights are already wired up.

This demo and its AI content generator are only enabled on the official contentsnotdead.com deployment; clones run as a normal content platform without them.