Skip to content
Strata

Installation

Prerequisites, first run and the rename checklist for a new project.

Prerequisites#

  • Node.js 24.x. The repository pins the version in .nvmrc, and the engines field in package.json tells Vercel and Netlify which runtime to use.
  • pnpm 12. Pinned through the packageManager field; run corepack enable if pnpm is not installed. pnpm’s own settings (allowed build scripts, overrides, audit exceptions) live in pnpm-workspace.yaml.
  • Git. Husky installs a pre-commit hook that runs lint-staged.

First run#

  1. Clone the repository and install dependencies.

    git clone https://github.com/empeeryal/strata-stack.git my-site
    cd my-site
    pnpm install
  2. Create your environment file. The defaults work for local development without any external service.

    cp .env.example .env
  3. Create the local SQLite database and apply the migrations.

    pnpm db:migrate
  4. Start the development server at http://localhost:4321.

    pnpm dev

Note

Search uses a static index that is generated during pnpm build. Run a build once if you want to try the search dialog in development.

Rename checklist#

Everything that identifies the site lives in a few files. Work through this list once when you start a new project:

  1. src/site.config.ts: name, tagline, description, canonical URL, author, repository, social links, navigation and footer links.
  2. package.json: the name, description and version fields. wrangler.jsonc: the Worker name (Cloudflare only).
  3. public/favicon.svg: replace the mark, then run node scripts/generate-icons.ts to regenerate the PNG icons. Update the mark in src/components/site/Logo.astro and src/lib/og-template.tsx too.
  4. src/styles/global.css: the primary and accent hues in both colour sets, and themeColor in the site config so the browser UI matches.
  5. src/content/authors/*.json: your author profile.
  6. LICENSE, SECURITY.md, public/.well-known/security.txt and src/content/legal/*: legal text and contact details.
  7. CHANGELOG.md: start your own release history.

Verifying the setup#

Run the complete quality suite before your first commit:

pnpm check        # astro check (TypeScript + Astro diagnostics)
pnpm lint         # ESLint
pnpm format:check # Prettier
pnpm test         # Vitest unit and component tests
pnpm build        # production build for the Node target
pnpm test:e2e     # Playwright end-to-end tests against the build

Every one of these commands also runs in CI on each pull request.