Runtime and package manager
Node.js v24+
The project requires Node.js v24 or later. Check your version:npm v10+
npm v10 or later is required for workspace support. npm ships with Node.js — upgrading Node.js typically satisfies this requirement. Check your version:The project uses npm workspaces to manage the
astro-app and studio packages from a single root. Do not use Yarn or pnpm — workspace scripts in package.json are npm-specific.Accounts
Sanity.io account
Sanity is the headless CMS that powers all content. You need a Sanity account and a project to run the Studio and query content.- Create a free account at sanity.io.
- Create a new project (or use an existing one).
- Note your Project ID — you’ll need it for your
.envfile.
GitHub account
A GitHub account is required to clone the repository and contribute via pull requests.- Create a free account at github.com.
- Configure SSH keys for cloning via SSH: GitHub SSH key guide.
The Sanity Studio sign-in supports GitHub as an OAuth provider. Using the same GitHub account for both Sanity and GitHub simplifies authentication during local development.
Cloudflare account
Cloudflare Pages hosts the production site and the form-submission Worker. You need a Cloudflare account for deployment.- Create a free account at cloudflare.com.
- The project uses Cloudflare Pages, Workers, D1 (database), and KV (session cache).
Optional tools
These tools are not required to run the app locally but are used in the development workflow:| Tool | Purpose | Install |
|---|---|---|
| Wrangler CLI | Preview SSR builds and deploy Workers | npm install -g wrangler |
| Sanity CLI | Deploy Studio, run TypeGen | npm install -g sanity |
| GitHub CLI | Create PRs from the command line | Download |
| Playwright browsers | Run E2E tests | npx playwright install |