# CLAUDE.md

> Auto-generated by [Laravel Brain](https://github.com/laramint/laravel-brain) on 2026-05-21T17:28:57+00:00.
> Re-run `php artisan brain:generate-rules --target=claude` after code changes.

This file provides guidance to Claude Code when working with the **Laravel** codebase.

## Tech Stack
- **Backend:** PHP ^8.3 · Laravel ^13.0
- **Frontend:** Vite · Tailwind CSS

## Architecture
- 99 Routes
- 86 Actions
- 9 Services
- 2 Validation requests
- 38 Models
- 4 Events
- 1 Commands
- Flow: **Route → Middleware → Controller → Service → Model**

## Routes (top 15)
| Method | URI | Controller |
|--------|-----|-----------|
| DELETE | `/admin/artists/{artist}` | DELETE /admin/artists/{artist} |
| DELETE | `/admin/artworks/{artwork}` | DELETE /admin/artworks/{artwork} |
| DELETE | `/admin/exhibitions/{exhibition}` | DELETE /admin/exhibitions/{exhibition} |
| DELETE | `/admin/tickets/{ticket}` | DELETE /admin/tickets/{ticket} |
| DELETE | `/artworks/{artwork}` | DELETE /artworks/{artwork} |
| DELETE | `/comment/{id}` | DELETE /comment/{id} |
| DELETE | `/exhibitions/{exhibition}` | DELETE /exhibitions/{exhibition} |
| DELETE | `/profile` | DELETE /profile |
| DELETE | `/tickets/{ticket}` | DELETE /tickets/{ticket} |
| DELETE | `/transactions/{transaction}` | DELETE /transactions/{transaction} |
| GET | `/about` | GET /about |
| GET | `/admin/artists/{artist}/edit` | GET /admin/artists/{artist}/edit |
| GET | `/admin/artists/{artist}` | GET /admin/artists/{artist} |
| GET | `/admin/artists/create` | GET /admin/artists/create |
| GET | `/admin/artists` | GET /admin/artists |

## Complexity Hotspots
> Methods with high cyclomatic complexity — review before modifying.

| Class / Method | Cyclomatic | Lines |
|---------------|-----------|-------|
| ArtworkController@index | 7 | 91 |
| AdminTicketController@index | 4 | 42 |
| AdminArtworkController@index | 3 | 33 |
| TicketController@index | 3 | 46 |
| VerifyEmailController@__invoke | 3 | 12 |
| AdminArtworkController@update | 3 | 25 |
| AdminExhibitionController@update | 3 | 13 |
| AdminExhibitionController@store | 3 | 40 |
| AdminArtworkController@destroy | 2 | 12 |
| AdminExhibitionController@destroy | 2 | 8 |

## Code Smells
- 🧱 **Fat Method** `AdminArtworkController@index`
- 🧱 **Fat Method** `AdminTicketController@index`
- 🧱 **Fat Method** `ArtworkController@index`
- 🧱 **Fat Method** `TransactionController@downloadTicket`
- 🧱 **Fat Method** `TicketController@index`
- 🧱 **Fat Method** `HomeController@index`
- 🧱 **Fat Method** `AdminExhibitionController@store`
- 🧱 **Fat Method** `TransactionController@store`
- 🧱 **Fat Method** `NewPasswordController@store`
- 🧱 **Fat Method** `TransactionController@reserve`

## Backend Packages
| Package | Version | Dev |
|---------|---------|-----|
| `barryvdh/laravel-dompdf` | ^3.1 |  |
| `fakerphp/faker` | ^1.23 | ✓ |
| `laramint/laravel-brain` | ^2.2 | ✓ |
| `laravel/breeze` | ^2.4 | ✓ |
| `laravel/framework` | ^13.0 |  |
| `laravel/pail` | ^1.2.5 | ✓ |
| `laravel/pao` | ^1.0.6 | ✓ |
| `laravel/pint` | ^1.27 | ✓ |
| `laravel/tinker` | ^3.0 |  |
| `mockery/mockery` | ^1.6 | ✓ |
| `nunomaduro/collision` | ^8.6 | ✓ |
| `phpunit/phpunit` | ^12.5.12 | ✓ |
| `realrashid/sweet-alert` | ^7.3 |  |
| `simplesoftwareio/simple-qrcode` | ^4.2 |  |

## Frontend Packages
| Package | Version | Dev |
|---------|---------|-----|
| `@tailwindcss/forms` | ^0.5.2 | ✓ |
| `@tailwindcss/vite` | ^4.3.0 |  |
| `alpinejs` | ^3.4.2 | ✓ |
| `autoprefixer` | ^10.5.0 | ✓ |
| `axios` | ^1.16.1 |  |
| `concurrently` | ^9.0.1 | ✓ |
| `laravel-vite-plugin` | ^3.0.0 | ✓ |
| `postcss` | ^8.5.15 | ✓ |
| `tailwindcss` | ^4.3.0 |  |
| `vite` | ^8.0.0 | ✓ |

## Development Commands

```bash
php artisan brain:scan               # Re-analyse project architecture
php artisan brain:generate-rules     # Regenerate all AI context files
php artisan brain:export-context     # Export focused AI context for a route or node
```