9e7c85c2b3
- Implemented a new route for managing Einnahmen Kategorien. - Added auto-seeding of default Einnahmen Kategorien if none exist. - Integrated category usage tracking to prevent deletion of in-use categories. - Enhanced Einnahmen page to link to the new Kategorien management. - Updated Prisma schema and seed script to include default categories. - Added a modal for detailed view of Einnahmen by category and month. - Refactored existing Einnahmen page to accommodate new category structure. - Introduced PostCSS configuration for Tailwind CSS support. - Created a new migration to update existing category labels in the database. - Added TypeScript configuration for stricter type checking. - Set up Vite configuration for improved development experience with React Router.
3.7 KiB
3.7 KiB
Annas Rechnungsmanager (CLAUDE onboarding)
1. Projektüberblick
Annas Rechnungsmanager ist ein Buchhaltungs- und Rechnungsverwaltungssystem für Steuerberater und Buchhalter mit Mandantenverwaltung. Funktionalitäten:
- Mandantenverwaltung (CRUD, Archiv, Papierkorb)
- Rechnungsverwaltung (Erstellen, PDF-/XML-Export, Zahlung eintragen)
- Kundenverwaltung (Stammdaten pro Mandant)
- Steuerberichte (USt-Voranmeldung, Monats-/Quartalsreport)
- Benutzerverwaltung mit Rollen (ADMIN, USER)
- Audit-Log (Aktionen + IP + Benutzer)
2. Tech Stack (Schlüsseltechnologien)
Node.js 22+,TypeScript- REMIX/React Router v7 (Server-/Client-CSS, SSR, file-based routing)
Prisma+MariaDB(MySQL-kompatibel)- Authentifizierung: cookie-basierte Sessions,
bcryptjs - UI:
Tailwind CSS v4,shadcn/ui, Remix components - PDF:
@react-pdf/renderer - Deployment:
Docker,docker-compose, optionalk8s
3. Repository-Architektur
app/- Remiх/React-Router-Quellcodecomponents/- shared UI und Domain-Komponenten (company,invoice,layout,ui)lib/- Datenbank, Logik, Helpersroutes/- Datei-Routing-Endpunkte und APIssession.server.ts- Session/Auth-Handlingtypes/index.ts- globale Typen
prisma/- Schema, Migrationen, Seederscripts/- CLI-Hilfs-Skripte (setup-admin,reset-password)docker-compose.yml,Dockerfile,k8s.yml- Deployment & Infrastruktur
4. Schlüsseldateien
app/root.tsx- Root-Layout und Fehlergrenzenapp/entry.server.tsx- Server-Entry (SSR)app/routes/index.tsx(home,dashboard,login,settings)app/routes/api.*- REST-API-Endpunkte für CRUD (companies, invoices, etc.)app/lib/prisma.server.ts- Prisma-Client-Initialisierungapp/lib/logger.server.ts,rate-limiter.server.ts- Infrastrukturprisma/schema.prisma- Datenmodellpackage.jsonundtsconfig.json- Build / Lint / Types
5. Konventionen & Code-Richtlinien
- FS-basierte React Router v7 Routen
- Server-Endpunkte in
app/routes/api.*als Remix-Loaders/Actions - Mutationen und Datenzugriffe in
app/lib(Prisma, Tax, utils) - Typescript-sicher und null-safe; bevorzugt
unknown/guard-Checks für externe Daten - UI-Toolkit: shadcn-Komponenten + Tailwind Utility-Klassen
- Error-Handling mit Remix
redirect,json,badRequest
6. Häufige Aufgaben und Workflows
- Lokale Entwicklung:
npm install,.envkonfigurieren,npx prisma migrate deploy,npm run dev - DB initialisieren/seeden:
npm run db:seed;npm run db:migrate - Admin einrichten:
npm run setup-admin(oder via Docker-EnvADMIN_PASSWORDbeim Start) - Passwort reset:
npm run reset-password - Automatische Migration beim Containerstart (Production)
7. Spezielle Hinweise für Claude
- Bevorzuge präzise Änderungen in bestehendem Code (letzte Routen und Libs).
- Halte Backward-Kompatibilität: bestehende API-Contracts in
api.*sollen intakt bleiben. - Dokumentiere bei komplexen Änderungen Business-Logik (Steuern, Rechnungscodes, UStG §14).
- Vollständige Test:
npm run typecheck, ggf.npm run lint(falls eingerichtet).
8. Agent-Persona (optional)
- Rolle: Full-stack Remix / TypeScript-Fachkraft für deutsche Rechnungssoftware
- Fokus: Feature-Implementierung im Domain-Kontext (Invoices, Reports, Clients)
- Toolpräferenzen:
read_file,grep_search,replace_string_in_fileundrun_in_terminalfür Verifikation - Vermeide: ungetestete massive Refactorings ohne vorhandenen Abdeckungsstatus
9. Weiteres
CLAUDE.mdwird als Projekt-spezifisches Onboarding für ChatGPT/Claude-Agenten genutzt.- Für Dev-Workflows und PR-Beschreibungen, bitte auf
README.mdundpackage.jsonverweisen.