mandant-crm/CLAUDE.md
Tim Stollberg e5e0be57da feat(frontend): scaffold Nuxt 3 CSR SPA with full auth + client/history UI
- Nuxt 3 CSR (ssr:false), @nuxtjs/tailwindcss, dev proxy to backend
- useAuth composable: CSRF cookie, XSRF token, login/logout/fetchUser
- auth middleware: redirects to /login if no session
- Login page, client list with search + create modal
- Client detail with editable name, dynamic notes (JSON), history feed
- History form with type select, inline edit/delete per entry
- Print layout at /clients/:id/print (calls window.print on mount)
- TypeScript interfaces: User, Client, HistoryEntry, PaginatedResponse
- German UI labels throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 17:33:39 +07:00

34 lines
1.3 KiB
Markdown

# Mandant CRM — Monorepo
## Layout
- `backend/` — Laravel 10 API + Filament admin
- `frontend/` — Nuxt 3 CSR SPA
- `docker/` — Docker Compose, nginx, PHP Dockerfile
## Dev commands (run from repo root)
```
make dev # docker compose up -d
make stop # docker compose down
make test # composer test inside backend container
make lint # composer static-analysis inside backend container
make migrate # php artisan migrate
make fresh # migrate:fresh --seed
make shell-php # bash into backend container
make shell-node # sh into frontend container
```
## Agent scope rules
- Backend feature → edit only `backend/`
- Frontend feature → edit only `frontend/`
- Auth / Docker / infra → root + both apps
- New module → follow scaffold in `.claude/skills/new-module.md`
- New history type → follow `.claude/skills/new-history-type.md`
## Commit style
feat/fix/chore/refactor/test/docs — conventional commits
Examples: `feat(client): add search endpoint`, `fix(history): soft delete cascade`
### Telegram Channel Guidelines
- Before calling any write_file, edit_file, or bash tools that trigger system permission prompts, you MUST send a Telegram text message summarizing exactly what you are about to modify and why.
- Never trigger a tool call blindly without explaining the context to the user first.