From 8b09fd7fab0f783ecba0a600a19167079b7385d2 Mon Sep 17 00:00:00 2001 From: Snider Date: Fri, 13 Mar 2026 13:38:02 +0000 Subject: [PATCH] docs: add CLAUDE.md project instructions Co-Authored-By: Virgil --- CLAUDE.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..e9f6b82 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,43 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +Laravel package providing the authenticated SaaS customer dashboard (`Core\Front\Client`). Extracted from the `core/php` monorepo. Part of a frontend tier hierarchy: + +- `Core\Front\Web` — public/anonymous +- **`Core\Front\Client` — authenticated customer (this package)** +- `Core\Front\Admin` — privileged admin +- `Core\Hub` — SaaS operator control plane + +**Domain concepts:** A **Namespace** is a user identity tied to a URI/handle. A **Workspace** is a management container (org/agency). A personal workspace maps 1:1 to a namespace for solo users. + +## Commands + +```bash +composer install # Install dependencies +``` + +No test suite, linter, or static analysis is configured in this package. Quality tooling is inherited from the `lthn/php` dependency in the monorepo context. + +## Architecture + +**Namespace:** `Core\Front\Client` (PSR-4 mapped from `src/Core/Front/Client/`) + +**Boot.php** — Laravel ServiceProvider that: +- Registers a `'client'` middleware group (session, CSRF, auth, `Core\Headers\SecurityHeaders`) +- Loads Blade views under the `'client'` namespace from `Blade/` +- Fires `ClientRoutesRegistering` lifecycle event so other packages can lazily register routes + +**Routes/client.php** — Defines `GET /dashboard` pointing to the `Dashboard` Livewire component. Additional routes are injected via `LifecycleEventProvider::fireClientRoutes()`. + +**View/Dashboard.php** — Livewire component rendering `client::dashboard` inside `client::layouts.app`. + +**Blade/layouts/app.blade.php** — Master layout using Tailwind CSS (dark theme), Flux UI components, and Font Awesome icons. + +## Key Dependencies + +- `lthn/php` — core framework package (provides Laravel, Livewire, Flux, shared middleware) +- PHP ^8.2 +- EUPL-1.2 licensed