Local setup
Requirements
- Node.js
24.xand pnpm>=8 <11(see the rootpackage.json'senginesfield). The repo'spackageManagerfield pins the exact pnpm version — runcorepack use pnpm@<version>(or install that pnpm globally) ifpnpm --versiondoesn't match.
Clone and install
git clone https://github.com/laikacms/laikacms.git
cd laikacms
pnpm installpnpm install also runs the root prepare script (husky), which wires up the git hooks described in Landing a PR.
pnpm will print a warning that it ignored some dependencies' install scripts (esbuild, dprint, @parcel/watcher, msgpackr-extract, …) and suggest pnpm approve-builds. That's expected — none of those scripts are required for the workspace's own build/test/lint to run; only approve them if a tool you're using turns out to need its native/postinstall step.
Build
pnpm buildThis runs turbo run build across every package. Turbo resolves the dependency graph (^build) so each package builds after the packages it depends on.
Verify the checkout
pnpm testpnpm test (via turbo) builds first, then runs each package's vitest run. A clean run here means your checkout is in a working state — see Inner loop for the day-to-day version of this loop.