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 postdist/posts/— post listing pagedist/feed.xml— RSS feeddist/sitemap.xml— sitemapdist/_stedefast-manifest.json— build manifest
Deploy
See the Cloudflare Pages guide to deploy your site.