# Maintenance Platform — Working Rules

This is a Laravel 13 app built on an internal "Laravel Base" architecture
(Clean Architecture, CQRS-light services, RBAC, pipeline-based CRUD). The
business requirements live in `../brd/` (see `brd/files/01-BRD-Maintenance-Platform.md`
and `05-Gap-Analysis-and-Open-Questions.md` for unresolved decisions —
do not guess on billing, VAT, or technician payout logic, it's tracked there).

## Before writing or changing any code in this repo

Read `.kiro/steering/*.md` — these are mandatory project rules, not
background reading:

- `architecture.md` — request lifecycle, file structure, response format
  (`json()` helper only, never `ApiResponse::` directly)
- `crud-conventions.md` — controller/service/form-request template every
  CRUD entity must follow exactly
- `code-standards.md` — PHPDoc, section separators, naming conventions,
  strict types
- `base-project-style.md` — resource conventions, translation output shape
- `pre-completion-checklist.md` — final checklist (translations, form
  requests, clean code, structure) to run before calling any task done

Treat these as the source of truth over general Laravel conventions. When in
doubt, find the closest existing entity (e.g. `Category`, `FAQ`) and mirror
its pattern instead of inventing a new one.
