Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
af1de6a
Prepared perfect run
FabianWesner Feb 16, 2026
1752db5
Prepared perfect run
FabianWesner Feb 16, 2026
e9b5a69
Final preparation
FabianWesner Feb 16, 2026
7603a49
Final preparation
FabianWesner Feb 16, 2026
f36ee13
Phase 1: Foundation - models, migrations, middleware, auth
FabianWesner Feb 16, 2026
ebbaf1c
Phase 1: Foundation - models, migrations, middleware, auth
FabianWesner Feb 16, 2026
6563e3f
Phase 2: Catalog - products, variants, inventory, collections, media
FabianWesner Feb 16, 2026
a54267b
Phase 3: Themes, pages, navigation, storefront layout
FabianWesner Feb 16, 2026
6120b8a
Phase 4-5: Cart, checkout, payments, orders, fulfillment
FabianWesner Feb 16, 2026
eb52fde
Phase 6-7: Customer accounts and admin panel
FabianWesner Feb 16, 2026
6d66038
Phase 8-10: Search, analytics, apps, webhooks
FabianWesner Feb 16, 2026
4a23f6f
Phase 11-12: Seeders, API routes, test suite
FabianWesner Feb 16, 2026
217cbda
Fix test failures - clean up old tests, fix routes and middleware
FabianWesner Feb 16, 2026
9ebda09
Fix storefront components to load real data from database
FabianWesner Feb 16, 2026
3f2ee12
Add quality gate configs and fix auth redirect
FabianWesner Feb 16, 2026
a12c60a
Fix Livewire store resolution on update requests
FabianWesner Feb 16, 2026
0d16d2c
Fix PHPStan errors - 0 errors at max level
FabianWesner Feb 16, 2026
f97690f
Fix P0/P1 bugs found during E2E testing
FabianWesner Feb 16, 2026
2460893
Fix critical/major findings from code review (Phase 6)
FabianWesner Feb 16, 2026
6aee82b
Update progress.md with Phase 6 completion status
FabianWesner Feb 16, 2026
2767573
Fix CI test failures: force test env vars in phpunit.xml
FabianWesner Feb 16, 2026
cc27a46
Fix CI: override database cache/session with array in workflow
FabianWesner Feb 16, 2026
c2eb932
Fix CI: set APP_URL=shop.test and use Host header in auth tests
FabianWesner Feb 16, 2026
a0309df
Reduce code duplication for SonarCloud compliance
FabianWesner Feb 16, 2026
702b933
Extract admin card component to reduce blade template duplication
FabianWesner Feb 16, 2026
e9bf1e9
Phase 8: Fix E2E bugs - discount UI, checkout country, card validatio…
FabianWesner Feb 16, 2026
fed2f92
Fix remaining E2E bugs: discount calc, order links, checkout retry, s…
FabianWesner Feb 16, 2026
4ba2d75
Fix dashboard order links and checkout discount display
FabianWesner Feb 16, 2026
1731493
Add final E2E retest results - all fixes verified
FabianWesner Feb 16, 2026
65a2c29
Update progress.md - all phases complete
FabianWesner Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
44 changes: 29 additions & 15 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,31 @@
{
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": [
"laravel-boost",
"herd"
],
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true
},
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)"
]
}
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"WebFetch(domain:example.com)"
]
},
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": [
"laravel-boost",
"herd"
],
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true
},
"hooks": {
"SessionStart": [
{
"matcher": "compact",
"hooks": [
{
"type": "command",
"command": "cat README.md"
}
]
}
]
}
}
116 changes: 116 additions & 0 deletions .claude/skills/developing-with-fortify/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---
name: developing-with-fortify
description: Laravel Fortify headless authentication backend development. Activate when implementing authentication features including login, registration, password reset, email verification, two-factor authentication (2FA/TOTP), profile updates, headless auth, authentication scaffolding, or auth guards in Laravel applications.
---

# Laravel Fortify Development

Fortify is a headless authentication backend that provides authentication routes and controllers for Laravel applications.

## Documentation

Use `search-docs` for detailed Laravel Fortify patterns and documentation.

## Usage

- **Routes**: Use `list-routes` with `only_vendor: true` and `action: "Fortify"` to see all registered endpoints
- **Actions**: Check `app/Actions/Fortify/` for customizable business logic (user creation, password validation, etc.)
- **Config**: See `config/fortify.php` for all options including features, guards, rate limiters, and username field
- **Contracts**: Look in `Laravel\Fortify\Contracts\` for overridable response classes (`LoginResponse`, `LogoutResponse`, etc.)
- **Views**: All view callbacks are set in `FortifyServiceProvider::boot()` using `Fortify::loginView()`, `Fortify::registerView()`, etc.

## Available Features

Enable in `config/fortify.php` features array:

- `Features::registration()` - User registration
- `Features::resetPasswords()` - Password reset via email
- `Features::emailVerification()` - Requires User to implement `MustVerifyEmail`
- `Features::updateProfileInformation()` - Profile updates
- `Features::updatePasswords()` - Password changes
- `Features::twoFactorAuthentication()` - 2FA with QR codes and recovery codes

> Use `search-docs` for feature configuration options and customization patterns.
## Setup Workflows

### Two-Factor Authentication Setup

```
- [ ] Add TwoFactorAuthenticatable trait to User model
- [ ] Enable feature in config/fortify.php
- [ ] Run migrations for 2FA columns
- [ ] Set up view callbacks in FortifyServiceProvider
- [ ] Create 2FA management UI
- [ ] Test QR code and recovery codes
```

> Use `search-docs` for TOTP implementation and recovery code handling patterns.
### Email Verification Setup

```
- [ ] Enable emailVerification feature in config
- [ ] Implement MustVerifyEmail interface on User model
- [ ] Set up verifyEmailView callback
- [ ] Add verified middleware to protected routes
- [ ] Test verification email flow
```

> Use `search-docs` for MustVerifyEmail implementation patterns.
### Password Reset Setup

```
- [ ] Enable resetPasswords feature in config
- [ ] Set up requestPasswordResetLinkView callback
- [ ] Set up resetPasswordView callback
- [ ] Define password.reset named route (if views disabled)
- [ ] Test reset email and link flow
```

> Use `search-docs` for custom password reset flow patterns.
### SPA Authentication Setup

```
- [ ] Set 'views' => false in config/fortify.php
- [ ] Install and configure Laravel Sanctum
- [ ] Use 'web' guard in fortify config
- [ ] Set up CSRF token handling
- [ ] Test XHR authentication flows
```

> Use `search-docs` for integration and SPA authentication patterns.
## Best Practices

### Custom Authentication Logic

Override authentication behavior using `Fortify::authenticateUsing()` for custom user retrieval or `Fortify::authenticateThrough()` to customize the authentication pipeline. Override response contracts in `AppServiceProvider` for custom redirects.

### Registration Customization

Modify `app/Actions/Fortify/CreateNewUser.php` to customize user creation logic, validation rules, and additional fields.

### Rate Limiting

Configure via `fortify.limiters.login` in config. Default configuration throttles by username + IP combination.

## Key Endpoints

| Feature | Method | Endpoint |
|------------------------|----------|---------------------------------------------|
| Login | POST | `/login` |
| Logout | POST | `/logout` |
| Register | POST | `/register` |
| Password Reset Request | POST | `/forgot-password` |
| Password Reset | POST | `/reset-password` |
| Email Verify Notice | GET | `/email/verify` |
| Resend Verification | POST | `/email/verification-notification` |
| Password Confirm | POST | `/user/confirm-password` |
| Enable 2FA | POST | `/user/two-factor-authentication` |
| Confirm 2FA | POST | `/user/confirmed-two-factor-authentication` |
| 2FA Challenge | POST | `/two-factor-challenge` |
| Get QR Code | GET | `/user/two-factor-qr-code` |
| Recovery Codes | GET/POST | `/user/two-factor-recovery-codes` |
89 changes: 89 additions & 0 deletions .claude/skills/fluxui-development/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
name: fluxui-development
description: "Develops UIs with Flux UI Free components. Activates when creating buttons, forms, modals, inputs, dropdowns, checkboxes, or UI components; replacing HTML form elements with Flux; working with flux: components; or when the user mentions Flux, component library, UI components, form fields, or asks about available Flux components."
license: MIT
metadata:
author: laravel
---

# Flux UI Development

## When to Apply

Activate this skill when:

- Creating UI components or pages
- Working with forms, modals, or interactive elements
- Checking available Flux components

## Documentation

Use `search-docs` for detailed Flux UI patterns and documentation.

## Basic Usage

This project uses the free edition of Flux UI, which includes all free components and variants but not Pro components.

Flux UI is a component library for Livewire built with Tailwind CSS. It provides components that are easy to use and customize.

Use Flux UI components when available. Fall back to standard Blade components when no Flux component exists for your needs.

<!-- Basic Button -->
```blade
<flux:button variant="primary">Click me</flux:button>
```

## Available Components (Free Edition)

Available: avatar, badge, brand, breadcrumbs, button, callout, checkbox, dropdown, field, heading, icon, input, modal, navbar, otp-input, profile, radio, select, separator, skeleton, switch, text, textarea, tooltip

## Icons

Flux includes [Heroicons](https://heroicons.com/) as its default icon set. Search for exact icon names on the Heroicons site - do not guess or invent icon names.

<!-- Icon Button -->
```blade
<flux:button icon="arrow-down-tray">Export</flux:button>
```

For icons not available in Heroicons, use [Lucide](https://lucide.dev/). Import the icons you need with the Artisan command:

```bash
php artisan flux:icon crown grip-vertical github
```

## Common Patterns

### Form Fields

<!-- Form Field -->
```blade
<flux:field>
<flux:label>Email</flux:label>
<flux:input type="email" wire:model="email" />
<flux:error name="email" />
</flux:field>
```

### Modals

<!-- Modal -->
```blade
<flux:modal wire:model="showModal">
<flux:heading>Title</flux:heading>
<p>Content</p>
</flux:modal>
```

## Verification

1. Check component renders correctly
2. Test interactive states
3. Verify mobile responsiveness

## Common Pitfalls

- Trying to use Pro-only components in the free edition
- Not checking if a Flux component exists before creating custom implementations
- Forgetting to use the `search-docs` tool for component-specific documentation
- Not following existing project patterns for Flux usage
Loading