All docs

Updated 2026-10-28

Development

Setup, commands, and contribution workflow for this repo.

Prerequisites

  • Node.js 24 or newer
  • pnpm 12 (pinned via packageManager in package.json)

Setup

pnpm install

Commands

pnpm dev          # turbo dev: web app with HMR
pnpm type-check   # turbo type-check across the monorepo
pnpm lint         # eslint (next + typescript rules), zero warnings
pnpm test         # turbo test (vitest)
pnpm format:check # prettier over the whole repo
pnpm build        # production build into apps/web/.next

All checks must pass before pushing: pnpm lint with zero errors, pnpm type-check with zero errors, pnpm format:check with no diffs, and a successful pnpm build.

Localization workflow

  • UI strings: edit packages/i18n/messages/en.json, then translate the other six locale files. Keep the key structure identical.
  • Docs: edit packages/content/docs/en/<slug>.md, then update the translations. Missing translations fall back to English automatically.
  • After changing messages or docs, run pnpm build and check every locale route in the browser.

Git identity

Repository commits are authored with the project owner's identity, and every commit carries a co-author trailer:

Co-authored-by: Ella Mizuki

Branch protection

main is protected: push by Maintainers, force push disabled. History rewrites (such as re-authoring commits) require temporarily removing the protection, force pushing, and restoring it with the exact same settings.

Continuous integration

No CI server watches this repository. Run the quality gates before every push (pnpm type-check, pnpm lint, pnpm test, pnpm format:check, pnpm build); Vercel builds the production bundle on deploy, and a failed build fails the deploy.

Testing before merge

Validation is:

  • lint, typecheck, format:check, build;
  • browser pass at 375, 768, 1024, 1440, and 1920px with zero horizontal overflow, across every locale;
  • reduced-motion pass: no shimmer or transitions active, content visible;
  • anchor navigation clears the fixed header (scroll padding);
  • docs routes resolve for all locales, including the English fallback.