diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..4e9f12b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,73 @@ +# AGENTS.md + +## Project Overview + +This is the **Bytemalte.de** website — a portfolio/landing page showcasing open source projects by Bytemalte. It's a SvelteKit 2 app with Svelte 5 (Runes), TypeScript, and a dark theme design system. + +The site displays projects dynamically loaded from a static JSON file, with a hero section, project cards grid, navbar, and footer. + +## Key Directories & Files + +``` +src/ +├── app.css # Global styles + design system (colors, typography, spacing) +├── app.html # HTML shell (fonts, meta tags) +├── lib/ +│ ├── assets/favicon.svg # Favicon +│ ├── components/ # All UI components +│ │ ├── Hero.svelte # Landing hero with gradient text & CTA buttons +│ │ ├── Navbar.svelte # Fixed navbar, transparent→solid on scroll +│ │ ├── ProjectCard.svelte # Single project card (image, title, desc, actions) +│ │ ├── ProjectsSection.svelte # Grid that fetches & renders ProjectCards +│ │ └── Footer.svelte # Site footer with branding & links +│ └── index.ts # $lib barrel export (currently empty) +├── routes/ +│ ├── +layout.svelte # Root layout (imports app.css, sets favicon) +│ └── +page.svelte # Single page: Navbar → Hero → ProjectsSection → Footer +static/ +├── projects.json # Project data array (id, title, description, urls) +└── robots.txt +BYTEMALTE.md # Design system spec (German) — colors, typography, component rules +``` + +## Tech Details + +- **Svelte 5 Runes** — Components use `$state()`, `$props()`, `$effect()` (not legacy Svelte 4 reactivity) +- **Scoped CSS** — Each component has its own `