- Package manager: pnpm (do not use npm or yarn)
- Dev server:
pnpm dev - Build (static export):
pnpm build - Run all tests:
pnpm test - Run single test file:
pnpm vitest run src/path/to/file.test.ts
Never use em dashes in any form:
- No literal
—(U+2014) characters - No
\u2014unicode escapes - No
—HTML entities
Use a regular hyphen with spaces instead: -
This applies to all strings, comments, UI text, metadata, test descriptions, and documentation within src/.
- TypeScript strict mode, no
anytypes - Tailwind CSS 4 for styling (use semantic tokens like
bg-surface-insetover hardcoded hex values) - Use
motion/react(notframer-motion) for animations - Next.js 16 with static export (
output: "export") - All Bitcoin amounts in satoshis (never BTC floats in logic)