apairon 491f495c66 feat: enhance project setup and architecture documentation
- Updated `tibi-project-setup` skill to clarify project initialization goals and steps.
- Improved `tibi-ssr-caching` skill to detail SSR architecture, responsibilities, and caching mechanisms.
- Introduced `website-solution-architecture` skill for translating website requirements into coherent solutions.
- Refined `AGENTS.md` to provide a structured roadmap for project development phases.
- Added `ADMIN_ASSET_VERSION` to `api/config.yml.env` for asset versioning.
- Updated SSR request flow and cache invalidation logic in `api/hooks/ssr/AGENTS.md`.
- Removed obsolete `esbuild.config.admin.js` and integrated asset versioning into the main `esbuild.config.js`.
- Adjusted `api/collections/content.yml` to utilize asset versioning for admin scripts.
2026-05-12 20:01:22 +00:00
2022-09-15 15:56:54 +00:00
2022-09-15 15:56:54 +00:00
2022-04-26 11:14:37 +02:00
2025-03-27 13:26:28 +00:00
2021-03-22 13:24:57 +01:00

tibi-starter

Starter Kit für SPAs(s) ;) mit Svelte und TibiCMS inkl. SSR

Neues Projekt aufsetzen? → Skill .agents/skills/tibi-project-setup/SKILL.md

Setup-Checkliste

[ ] Repository geklont und Remotes konfiguriert
[ ] __PROJECT_NAME__ in .env ersetzt (kebab-case)
[ ] __TIBI_NAMESPACE__ in .env ersetzt (snake_case)
[ ] __TIBI_NAMESPACE__ in api/config.yml und frontend/.htaccess ersetzt
[ ] Keine verbleibenden __*__-Platzhalter (mit grep prüfen)
[ ] App.svelte hat <svelte:head> mit <title>
[ ] ADMIN_TOKEN in api/config.yml.env gesetzt
[ ] yarn install && yarn upgrade ausgeführt
[ ] make docker-up gestartet
[ ] Website erreichbar unter https://{PROJECT_NAME}.code.testversion.online/
[ ] yarn validate zeigt 0 Fehler und 0 Warnungen
[ ] yarn build und yarn build:server erfolgreich

Architektur

Via Svelte wird eine SPA (Single-Page-App) programmiert. Der Code wird einmal für den Browser aufbereitet und außerdem für den Server kompiliert und transpiliert. Der Server-Code wird in einem tibi-server SSR-Hook eingebunden und generiert fertiges HTML anhand der aktuellen Route — für SEO und optimierte Ladezeiten.

Die Navigation innerhalb der App löst nur API-Aufrufe aus, ohne jedes Mal SSR anzustoßen. Ein Cache in der ssr-Collection minimiert die SSR-Last.

SSR-Details:

  • <title> und <meta description> kommen über <svelte:head> aus App.svelte → SSR injiziert sie in den <!--HEAD-->-Platzhalter von spa.html
  • <html lang> wird vom SSR-Hook (api/hooks/ssr/get_read.js) anhand der URL-Sprache gesetzt
  • SSR-Bundle wird mit yarn build:server erstellt und landet in api/hooks/lib/app.server.js

Der normale Frontend-Build yarn build erzeugt sowohl das Frontend-Bundle als auch das Admin-Modul admin.mjs.

S
Description
Starter Kit für SPAs mit Svelte und TibiCMS inkl. SSR
Readme MIT 601 MiB
Languages
TypeScript 46.9%
Svelte 33.1%
JavaScript 13.4%
Shell 3.2%
CSS 1.5%
Other 1.8%