This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Hero Draft is a web application for generating superhero cards using AI image generation APIs (Stability AI). Built with Laravel 12 + Vue 3 + TypeScript using Inertia.js for seamless SSR.
composer dev # Starts server, queue, logs, and Vite concurrently
composer dev:ssr # SSR development modecomposer test # Full test suite (clears config, lint check, PHPUnit)
php artisan test # PHPUnit only
php artisan test --filter=TestName # Run specific testcomposer lint # Fix PHP code style with Pint
composer test:lint # Check PHP code stylenpm run lint # ESLint fix
npm run format # Prettier format
npm run format:check # Check formattingnpm run build # Production build
npm run build:ssr # SSR production buildcomposer setup # Full setup: install deps, env, migrate, build- Backend: Laravel 12 with Fortify authentication (includes 2FA)
- Frontend: Vue 3 with Inertia.js for SSR
- Styling: Tailwind CSS v4 with Reka UI component library
- Build: Vite with hot module reloading
app/Http/Controllers/- Route controllersapp/Http/Controllers/Settings/- User settings endpointsresources/js/pages/- Inertia page componentsresources/js/components/- Reusable Vue componentsresources/js/layouts/- Page layouts (AppLayout, AuthLayout, SettingsLayout)resources/js/composables/- Vue composablesroutes/web.php- Main routesroutes/settings.php- Settings routes
- Client:
resources/js/app.ts - Server (SSR):
resources/js/ssr.ts - Styles:
resources/css/app.css
Default SQLite for development. Migrations in database/migrations/.
- PHP: Laravel Pint with Laravel preset
- TypeScript/Vue: ESLint + Prettier (2-space indentation, single quotes, no semicolons)
- Path alias:
@/maps toresources/js/