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 theenginesfield inpackage.jsontells Vercel and Netlify which runtime to use. - pnpm 12. Pinned through the
packageManagerfield; runcorepack enableif pnpm is not installed. pnpm’s own settings (allowed build scripts, overrides, audit exceptions) live inpnpm-workspace.yaml. - Git. Husky installs a pre-commit hook that runs lint-staged.
First run#
-
Clone the repository and install dependencies.
git clone https://github.com/empeeryal/strata-stack.git my-site cd my-site pnpm install -
Create your environment file. The defaults work for local development without any external service.
cp .env.example .env -
Create the local SQLite database and apply the migrations.
pnpm db:migrate -
Start the development server at
http://localhost:4321.pnpm dev
Rename checklist#
Everything that identifies the site lives in a few files. Work through this list once when you start a new project:
src/site.config.ts: name, tagline, description, canonical URL, author, repository, social links, navigation and footer links.package.json: thename,descriptionandversionfields.wrangler.jsonc: the Workername(Cloudflare only).public/favicon.svg: replace the mark, then runnode scripts/generate-icons.tsto regenerate the PNG icons. Update the mark insrc/components/site/Logo.astroandsrc/lib/og-template.tsxtoo.src/styles/global.css: the primary and accent hues in both colour sets, andthemeColorin the site config so the browser UI matches.src/content/authors/*.json: your author profile.LICENSE,SECURITY.md,public/.well-known/security.txtandsrc/content/legal/*: legal text and contact details.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.