# Fiberportal – AI Rules

Disse reglene skal følges av AI-assistenter som genererer kode eller forslag for prosjektet.

## Arkitekturregler
- Prosjektet er et modulært SaaS-system
- Multi-tenant er obligatorisk
- All tenant-spesifikk data må ha `tenant_id`
- Kjernetabeller bruker prefix `fp_`
- Modultabeller bruker prefix `fp_mod_<module>_`
- Nye moduler skal ikke blandes inn i kjernetabeller uten god grunn

## Databaseregler
- Bruk `BIGINT UNSIGNED AUTO_INCREMENT` som primærnøkkel
- Bruk `uuid` på objekter som eksponeres i API/URL
- Bruk `created_at`, `updated_at`
- Bruk `deleted_at` på sentrale tabeller der soft delete er relevant
- Status skal ligge i egne statustabeller, ikke hardkodes i hovedtabellene

## Koderegler
- Controllers håndterer request/response
- Services håndterer business logic
- Models håndterer database
- Ikke skriv all logikk i én fil
- Ikke skriv kundespesifikk logikk direkte i kjernen

## Modulregler
- Hver modul skal kunne aktiveres/deaktiveres per tenant
- Hver modul skal ha egne permissions
- Hver modul skal ha egen dokumentasjon
- Hver modul skal ha egen mappe under `/modules`

## Viktige dokumenter å lese først
- docs/architecture.md
- docs/database.md
- docs/project_structure.md
- docs/module_blueprint.md
- docs/coding_guidelines.md
- docs/ai_context.md
