Stedefast

Getting Started

Your First Site

1 min read

Project structure

After running create-stedefast, your site looks like this:

my-site/
├── stedefast.config.ts   # Site configuration
├── package.json
├── content/              # Your Markdown content
│   ├── posts/
│   └── pages/
└── theme/                # Templates, layouts, islands, styles
    ├── templates/        # Page templates (React TSX or Liquid)
    ├── layouts/          # Wrapping layouts (full HTML shell)
    ├── islands/          # Client-side React components
    └── styles/
        └── global.css    # Tailwind CSS entry point

Write your first post

Create content/posts/hello-world.md:

---
title: "Hello, World!"
date: 2026-04-01
tags: [hello]
---

My first post written in Markdown.

Build pipeline

stedefast build runs a 7-stage pipeline:

graph LR
  A[Config] --> B[Content Graph]
  B --> C[Module Export]
  B --> D[Asset Pipeline]
  C --> E[Page Render]
  D --> E
  E --> F[CF Functions]
  F --> G[Manifest]
pnpm stedefast build

Output goes to dist/. The build produces:

  • dist/posts/hello-world/index.html — your post
  • dist/posts/ — post listing page
  • dist/feed.xml — RSS feed
  • dist/sitemap.xml — sitemap
  • dist/_stedefast-manifest.json — build manifest

Deploy

See the Cloudflare Pages guide to deploy your site.