# 00 — Documentation Index & Build Status

BAMS Legal — Legal Practice Management System (greenfield). Update the status
column as modules complete.

> **Stack reality (decided in Phase 0).** The app is built on the **Laravel
> React Starter Kit**: Inertia.js + React + TypeScript + **shadcn/ui** on
> Tailwind v4, Laravel 13 / PHP 8.3+, **Fortify** (session auth + TOTP 2FA +
> passkeys), **Pest** tests, **MariaDB 10.4** (XAMPP) in dev. Docs 02/05 were
> written for Blade/Alpine; where they say "Blade view / x-component", read
> "Inertia React page / shadcn component" (see `05a-TEMPLATE-MAP.md`). All other
> rules (layering, FirmScope tenancy, RBAC, security, test-first) hold as written.

## Core documents

| # | Document | Purpose |
|---|---|---|
| 01 | PRODUCT-OVERVIEW | Vision, personas, module catalogue, glossary |
| 02 | ARCHITECTURE | Stack, layering, conventions, scalability |
| 03 | DATA-MODEL | ERD, table conventions, indexing |
| 04 | SECURITY | Threat model, RBAC, OWASP mapping, data protection |
| 05 | UI-UX | Design system, navigation, page & interaction patterns |
| 05a | TEMPLATE-MAP | (generated in Phase 0) inventory of the chosen template |
| 06 | DEVELOPMENT-PLAN | Phases, definition of done, testing, git |

## Module specifications & status

Each module has two documents: a build **spec** (architecture/migrations/
Actions/acceptance criteria, for Claude Code to build from) and an API
**README** (schema/routes/request-response examples/validation, in the
newsletter-style model-reference format, for day-to-day API reference once built).

| Module | Spec | API README | Phase | Status |
|---|---|---|---|---|
| M01 Foundation & Administration | modules/M01-foundation.md | readmes/M01-foundation-README.md | 0 | ☑ Done (80 tests green; Pint + PHPStan L7 clean) |
| M02 Contacts & Clients | modules/M02-contacts-clients.md | readmes/M02-contacts-clients-README.md | 1 | ☑ Done (130 tests green; Pint + PHPStan L7 + tsc/ESLint clean) |
| M03 Matters | modules/M03-matters.md | readmes/M03-matters-README.md | 1 | ☑ Done (130 tests green; Pint + PHPStan L7 + tsc/ESLint clean) |
| M04 Litigation: Hearings, Roster & Deadlines | modules/M04-litigation.md | readmes/M04-litigation-README.md | 2 | ☑ Done (hearings + adjournment chain, roster + clash detection + signed iCal + queued cause-list PDF, deadline/limitation engine with idempotent reminders + red banner; 168 tests green, Pint + PHPStan L7 + tsc/ESLint clean) |
| M05 Tasks & Workflow | modules/M05-tasks.md | readmes/M05-tasks-README.md | 2 | ☑ Done (task_templates/items + tasks + comments, GenerateTasksFromTemplate auto-wired into RegisterMatter, My Tasks + matter Tasks tab + template admin; 168 tests green, Pint + PHPStan L7 + tsc/ESLint clean) |
| M06 Time & Billing | modules/M06-time-billing.md | readmes/M06-time-billing-README.md | 3 | ☑ Done |
| M07 Finance: Ledger, Trust & Disbursements | modules/M07-finance.md | readmes/M07-finance-README.md | 3 | ☑ Done |
| M08 Documents & Evidence | modules/M08-documents.md | readmes/M08-documents-README.md | 4 | ☑ Done |
| M09 Communication & Notifications | modules/M09-communication.md | readmes/M09-communication-README.md | 4 | ☑ Done |
| M10 Dashboards & Reports | modules/M10-reporting.md | readmes/M10-reporting-README.md | 5 | ☑ Done |
| M11 Client Portal | modules/M11-client-portal.md | readmes/M11-client-portal-README.md | 6 | ◐ |
| M12 People (HR-lite) & System Admin | modules/M12-people-admin.md | readmes/M12-people-admin-README.md | 5 | ☑ Done |

Status legend: ☐ Not started · ◐ In progress · ☑ Done (all acceptance criteria + tests green)
