http://localhost:4321, all four language variants accessible in your browser, and the Keystatic CMS panel open at /keystatic — no authentication needed in development mode.
Prerequisites
- Node ≥ 22.12.0 — required by Astro 6. Check with
node -v. Install via nvm or the official Node.js installer. - npm — bundled with Node.js; no separate install needed.
Setup steps
1
Clone the repository
2
Install dependencies
The repo ships an
.npmrc file containing legacy-peer-deps=true. This flag is required because @keystatic/astro@5.0.6 declares a peer dependency of astro@2-5, but this project runs Astro 6. Without it, npm install will exit with an unresolvable peer-dependency error. Do not delete .npmrc until Keystatic publishes official Astro 6 support — see the note at the bottom of this page for details.3
Start the dev server
4
Browse all four language variants
Open your browser and visit each locale:
All four variants are served from the same
[lang]/index.astro dynamic route via getStaticPaths. Only the Catalan home page lives at the root — it has no /ca/ prefix.5
Access the CMS panel
Navigate to
http://localhost:4321/keystatic.In local development, Keystatic runs without authentication. You can create and edit blog posts directly; changes are written as MDX files to src/content/blog/ in the repository. In production, access is restricted via Keystatic Cloud credentials.Commands reference
Notes
About .npmrc and legacy-peer-deps
The .npmrc file at the repo root contains a single line:
@keystatic/astro@5.0.6 declares astro@2-5 as its peer dependency, but Borrissol runs on Astro 6. The legacy-peer-deps flag tells npm to fall back to the pre-npm-7 peer-resolution algorithm, which treats the peer dependency as advisory rather than blocking. Do not delete this file until Keystatic publishes a release that explicitly supports Astro 6 — removing it will break npm install for everyone working on the project.