Documentation
This page is the curated overview. The single source of truth lives in the repository: SKILL.md (machine-readable reference with all rules and recipes) and the README. Whenever this page and the repo disagree, the repo wins.
Quick start
# Scaffold a new project from the template npm create astro@latest my-site -- --template JUNGHERZ/GlassKit-Web cd my-site && npm install npm run dev # develop npm run build # build to dist/ npm test # Playwright smoke suite (builds + previews itself)
Alternatively use “Use this template” on
GitHub.
First steps in a derived project: delete site/
(this product page), set base in
astro.config.mjs to your repo name — or remove it
for a custom domain and add public/CNAME. Deployment
ships as a GitHub Actions workflow; set Pages Source to “GitHub Actions” once.
Architecture
Two layers, two references:
| Layer | Prefix | Where |
|---|---|---|
| Design tokens + UI components | glass-*, --gl-* | npm @jungherz-de/glasskit — never edited, only version-bumped |
| Site & section layer | glw-* | src/styles/site.css in this template |
The files you touch when deriving a project:
src/data/site.ts— site name, titles, contact-form endpoint, languages, and thehref()helper every link goes through.src/components/*.astro— one file per section; the copy lives next to its markup.src/styles/brand.css— the only place for client colors (token overrides, loads last).src/pages/index.astro— composes the one-pager from the section catalog.
<style>
blocks in .astro components (Astro scoping breaks the global mechanics) ·
GlassKit imports before site.css · colors only via
--gl-* tokens · no external requests — the built
site is fully self-contained. The complete ✅/❌ list is in
SKILL.md §4.
Section catalog
Compose src/pages/index.astro from these sections and
delete what the project doesn’t need. Demo links jump straight into the live page.
| Section | Purpose | Demo |
|---|---|---|
| SiteHeader | Fixed glass nav: brand, anchors, theme toggle, mobile menu (works without JS) | view ↗ |
| Hero | Audience switch, headline pair, CTAs, decorative device panel (optional 3D tilt) | view ↗ |
| HeroEditorial | Alternative hero: typographic, no device panel — for agencies/service providers | — |
| LogoStrip | Social proof wordmarks, text-only | — |
| Features | 3-column glass card grid from a features[] array | view ↗ |
| Bento | Feature cards with embedded mini visualizations (built, not screenshotted) | view ↗ |
| Process | Numbered how-it-works steps | view ↗ |
| Flow | Process diagram: glass nodes + animated SVG connectors, no JS | view ↗ |
| Showcase | 3D-tilted “spatial” glass window (visionOS look) | view ↗ |
| Stats | 4 KPI figures, typographic | — |
| Cases | Success stories with gradient metrics | view ↗ |
| Team | People grid with initials avatars | view ↗ |
| Pricing | Two plan grids, one per audience | view ↗ |
| Quote | Serif testimonial, one per audience | — |
| Faq | Accordion + FAQPage JSON-LD; open answers without JS | view ↗ |
| LanguageSwitcher | DE|EN pill (2 languages) or flag dropdown (3+); entries are links | view ↗ |
| Contact | Provider-agnostic contact form (n8n / Web3Forms / Formspree), honeypot, consent | view ↗ |
| CtaBanner | Closing call-to-action panel | — |
| SiteFooter | Link columns, legal links | — |
| glw-page/prose | Plain text subpages (Impressum/Datenschutz pattern) | view ↗ |
Full notes per section (arrays, opt-in flags, accessibility rules): SKILL.md §2.
Branding
Client colors never touch glasskit.css or the glw- rules.
src/styles/brand.css is the single place for brand
overrides — one :root block of token values that loads
last and therefore wins against both themes:
:root {
--gl-primary: #7c5cff;
--gl-primary-2: #4d34d8;
/* … more --gl-* tokens; commented example themes ship in the file */
}
Opt-ins
- Blog — Markdown posts via content collection, overview page, RSS feed. Only ship it for clients who will publish; exact removal steps in SKILL.md §3.
- Multilingual (DE/EN) — language branches: the default language lives at the root, each additional one under
/<code>/with its own pages and components, same slugs everywhere. hreflang, sitemap alternates and the switcher derive automatically. Details in SKILL.md §3b. - Contact form providers — the same form POST works against an n8n webhook, Web3Forms or Formspree; configured in
site.ts, empty endpoint = demo mode. Provider matrix in SKILL.md §4b.
Recipes
Three step-by-step recipes cover the whole lifecycle — summarized here, executable in SKILL.md:
- New website from the template — base/site.ts, choose the hero variant, replace copy, pick sections, legal pages, verify with the smoke suite. SKILL.md §5
- Convert an existing website — map old content blocks to catalog sections, migrate copy without porting old CSS. SKILL.md §6
- Pull template updates into a derived project — template as second git remote, work through the CHANGELOG since the last sync, take mechanics files wholesale and bump GlassKit in the same pass —
npm run checkthen names the remaining manual fixes; never overwrite project copy. SKILL.md §7
AI workflow
The template is built to be derived by AI assistants: hand the repo URL to Claude Code, Cursor & Co. and point them at SKILL.md — it contains the catalog, the rules and the recipes in machine-readable form (“build the new site following this scheme”). The deployed demo additionally serves llms.txt, and derived projects generate their own from their content.
The ready-made prompt
Works the same in Claude Code, Cursor, VS Code / Copilot or a plain chat — copy, fill in the placeholders, done:
Build a new website based on the GlassKit Web template:
https://github.com/JUNGHERZ/GlassKit-Web
First read the SKILL.md in that repo, then follow its recipe §5
("New Website From This Template").
Project: <company / product / industry>
Audiences: <B2C, B2B, or both>
Languages: <German only / German + English>
Brand colors: <hex values — or "suggest something">
Sections: <e.g. hero, features, pricing, FAQ, contact — or "you pick">
For converting an existing site, swap the recipe reference to §6 and add the old site’s URL. In an already derived project, “update this site from the template — follow SKILL.md recipe §7” is all it takes.