Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/constanza101/borrissol/llms.txt

Use this file to discover all available pages before exploring further.

By the end of this guide you will have the full Borrissol site running locally at 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

git clone https://github.com/constanza101/borrissol.git && cd borrissol
2

Install dependencies

npm install
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

npm run dev
Astro will start the development server and print a local URL:
🚀 Local   http://localhost:4321/
The site rebuilds instantly on every file save — no manual refresh needed for most changes.
4

Browse all four language variants

Open your browser and visit each locale:
URLLanguage
http://localhost:4321/Catalan (default — no URL prefix)
http://localhost:4321/esSpanish
http://localhost:4321/enEnglish
http://localhost:4321/frFrench
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

CommandDescription
npm run devStart the dev server on http://localhost:4321
npm run buildBuild the production site to ./dist
npm run previewServe the production build locally for inspection
npm run testRun Vitest unit tests (run-once mode)
npm run test:watchRun Vitest in watch mode
npm run test:e2eBuild the site, then run Playwright E2E tests
npm run test:e2e:uiBuild the site, then open the Playwright UI runner
npm run test:e2e:reportOpen the last Playwright HTML report

Notes

About .npmrc and legacy-peer-deps

The .npmrc file at the repo root contains a single line:
legacy-peer-deps=true
This is a deliberate compatibility shim. @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.

Netlify deploy credits: batch your changes

Netlify’s unified credit model charges approximately 15 credits per production deploy. The Personal plan ($9/mo) provides 1,000 credits (~65 deploys). To preserve the budget:
  • Batch all session changes into a single push. Never push one commit per small fix.
  • Use [skip ci] in the commit message for changes that don’t affect the live site (docs, comments, README updates):
git commit -m "update readme [skip ci]"
Netlify will skip the build entirely for commits tagged [skip ci], consuming zero credits.

Build docs developers (and LLMs) love