Skip to main content
Borrissol Espai Creatiu is a multilingual textile workshop website built with Astro 6, serving four languages (Catalan, Spanish, English, French) from a single codebase. This documentation covers the architecture, design system, workshop landing pages, CMS setup, and deployment pipeline for developers contributing to or maintaining the project.

Introduction

Project overview, stack summary, and key architectural decisions.

Quickstart

Clone, install, and run the dev server in under five minutes.

Project Structure

Directory layout, routing conventions, and file responsibilities.

i18n

Four-language routing, translation catalog, and hreflang setup.

Design System

CSS token reference, typography scale, utility classes, and component rules.

SEO & Structured Data

JSON-LD schemas, Open Graph tags, sitemap, and Lighthouse optimization.

Workshop Pages

Per-technique landing pages: tufting, punch needle, felting, and loom.

CMS (Keystatic)

Git-backed blog CMS: schema, local dev workflow, and cloud publishing.

What’s in this codebase

The Borrissol site is a production Astro 6 project deployed on Netlify with the following highlights:

4 Languages

Catalan (default), Spanish, English, and French — all copy in a single ui.ts catalog.

Lighthouse 99/97/100/100

Performance 99 · Accessibility 97 · Best Practices 100 · SEO 100

Zero Runtime JS

Vanilla JS only — no React/Vue/Svelte shipped to visitors. React is a build-only dep for Keystatic.

GDPR Consent Mode v2

Google Analytics with cookieless default; cookies only after explicit user consent.

Keystatic CMS

Git-backed MDX blog, authored in Catalan by the studio owner via a cloud UI.

Netlify Deployment

Git push → auto-deploy, with bot-trap edge redirects and function cost control.

Development quick reference

Node ≥ 22.12.0 is required (pinned by Astro 6). If you see peer-dep warnings for @keystatic/astro, the .npmrc legacy-peer-deps=true flag handles this — do not delete it until Keystatic publishes official Astro 6 support.