# AGENTS.md - AI Assistant Context Dieses Dokument hilft AI-Assistenten (Amp, Copilot, etc.) das Projekt zu verstehen. ## Projekt-Überblick **dgray.io** ist eine Kleinanzeigen-PWA mit Monero-Bezahlung. - **Status**: Early Development (Frontend-only) - **Ziel**: Anonyme, dezentrale Marktplatz-Alternative ## Tech-Stack | Layer | Technologie | |-------|-------------| | Frontend | Vanilla JS, Web Components, CSS Custom Properties | | Routing | Hash-basierter Client-Side Router (`js/router.js`) | | i18n | Custom System (`js/i18n.js`), JSON-Dateien in `/locales/` | | Theming | CSS Variables, Dark/Light Mode | | Backend | Directus (`api.dgray.io`) | | Auth | UUID-basiert, anonym (`js/services/auth.js`) | ## Häufige Befehle ```bash # Lokaler Entwicklungsserver python3 -m http.server 8080 # Oder mit Live-Reload npx live-server # Git Push (Token in URL) git push origin master ``` ## Dateistruktur ``` js/ ├── app.js # Entry, lädt i18n, dann Shell ├── router.js # Hash-Router mit :params ├── i18n.js # t('key'), subscribe(), updateDOM() ├── services/ │ ├── directus.js # Directus API Client │ ├── auth.js # UUID-basierte Authentifizierung │ └── currency.js # XMR/Fiat Umrechnung └── components/ ├── app-shell.js # Layout, registriert Routes ├── app-header.js # Header (Theme-Toggle, Lang-Dropdown) ├── app-footer.js # Footer ├── auth-modal.js # Login/Register Modal └── pages/ # Seiten als Web Components css/ ├── fonts.css # @font-face Definitionen (Inter, Space Grotesk) ├── variables.css # CSS Custom Properties (Farben, Spacing) ├── base.css # Reset, Container └── components.css # UI-Komponenten (Buttons, Cards, etc.) assets/ └── fonts/ # Self-hosted Fonts (Inter, Space Grotesk) locales/ ├── de.json # Deutsch (Fallback) ├── en.json └── fr.json ``` ## Konventionen ### JavaScript - **Keine Semikolons** am Zeilenende (außer in for-loops, CSS) - **Englische Kommentare** im Code - ES Modules mit `import/export` ### Web Components - Custom Elements mit `class extends HTMLElement` - Styles als `