Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c2f62bc
chore(deps): update version and dependencies for improved compatibility
Barata-Ribeiro Feb 7, 2026
2d0b537
fix(styles): update CSS imports and enhance base styles for improved …
Barata-Ribeiro Feb 7, 2026
32445ab
fix(components): update style to 'radix-maia' and add menuColor and m…
Barata-Ribeiro Feb 7, 2026
ce8b1a7
fix(deps): reorder and update devDependencies for consistency
Barata-Ribeiro Feb 7, 2026
5f423d9
chore(plugins): configure React plugin with Babel settings for enhanc…
Barata-Ribeiro Feb 7, 2026
48a1186
chore(deps): add radix-ui dependency for enhanced UI components
Barata-Ribeiro Feb 7, 2026
338467b
refactor(ui): update components for improved styling and functionality
Barata-Ribeiro Feb 7, 2026
dd6c289
fix(components): adjust class order for consistent styling across com…
Barata-Ribeiro Feb 7, 2026
a32797d
chore(deps): update Laravel dependencies for improved compatibility a…
Barata-Ribeiro Feb 7, 2026
b0ac43d
feat: add foundational guidelines and skills for Laravel Boost applic…
Barata-Ribeiro Feb 7, 2026
68b1e1b
docs(ide-helper): update ide helpers
Barata-Ribeiro Feb 7, 2026
7cccc67
chore(pint): format document with Pint
Barata-Ribeiro Feb 7, 2026
13800b2
chore(deps): update dependencies for improved compatibility and perfo…
Barata-Ribeiro Feb 7, 2026
79772df
remove(ui): remove unused components from shadcn-io directory
Barata-Ribeiro Feb 7, 2026
e4f034b
feat(ui): add animated modal, image zoom, marquee, and tags components
Barata-Ribeiro Feb 7, 2026
014790b
refactor(ui): update imports to use new component paths and remove un…
Barata-Ribeiro Feb 7, 2026
60bf30c
refactor(models): update property types for rate and amount to numeric
Barata-Ribeiro Feb 7, 2026
6fa78e1
chore(deps): downgrade recharts dependency to version 2.15.4
Barata-Ribeiro Feb 7, 2026
2d72d28
refactor(app): wrap App component in StrictMode and update hydration …
Barata-Ribeiro Feb 7, 2026
9212d92
refactor(prettier): reorganize tailwind functions and plugins for cla…
Barata-Ribeiro Feb 7, 2026
a55868d
refactor(ui): improve styling and structure of various components for…
Barata-Ribeiro Feb 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 116 additions & 0 deletions .github/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` |
Loading