You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Replace Bun with pnpm in GitHub workflows (lint & tests)
- Update composer.json scripts to use pnpm commands
- Add @css alias to vite.config.ts and tsconfig.json
- Update .oxlintrc.json to ignore generated type files
- Fix app.ts import to use @css alias
- Add new index.vue page
- Update CLAUDE.md and README.md documentation
- Remove bun.lock, add pnpm-lock.yaml
- Move auto-imports.d.ts and components.d.ts to resources/js/types/
Copy file name to clipboardExpand all lines: CLAUDE.md
+31-23Lines changed: 31 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,27 +9,29 @@ The Laravel Boost guidelines are specifically curated by Laravel maintainers for
9
9
10
10
This application is a Laravel application and its main Laravel ecosystems package & versions are below. You are an expert with them all. Ensure you abide by these specific packages & versions.
This project has domain-specific skills available. You MUST activate the relevant skill whenever you work in that domain—don't wait until you're stuck.
29
31
30
32
-`wayfinder-development` — Activates whenever referencing backend routes in frontend components. Use when importing from @/actions or @/routes, calling Laravel routes from TypeScript, or working with Wayfinder route functions.
31
33
-`pest-testing` — Tests applications using the Pest 4 PHP framework. Activates when writing tests, creating unit or feature tests, adding assertions, testing Livewire components, browser testing, debugging test failures, working with datasets or mocking; or when the user mentions test, spec, TDD, expects, assertion, coverage, or needs to verify functionality works.
32
-
-`inertia-vue-development` — Develops Inertia.js v2 Vue client-side applications. Activates when creating Vue pages, forms, or navigation; using <Link>, <Form>, useForm, or router; working with deferred props, prefetching, or polling; or when user mentions Vue with Inertia, Vue pages, Vue forms, or Vue navigation.
34
+
-`inertia-vue-development` — Develops Inertia.js v2 Vue client-side applications. Activates when creating Vue pages, forms, or navigation; using <Link>, <Form>, useForm, or router; working with deferred props, prefetching, or polling; or when user mentions Vue with Inertia, Vue pages, Vue forms, or Vue navigation.
33
35
34
36
## Conventions
35
37
@@ -48,7 +50,7 @@ This project has domain-specific skills available. You MUST activate the relevan
48
50
49
51
## Frontend Bundling
50
52
51
-
- If the user doesn't see a frontend change reflected in the UI, it could mean they need to run `bun run build`, `bun run dev`, or `composer run dev`. Ask them.
53
+
- If the user doesn't see a frontend change reflected in the UI, it could mean they need to run `pnpm run build`, `pnpm run dev`, or `composer run dev`. Ask them.
52
54
53
55
## Documentation Files
54
56
@@ -64,18 +66,23 @@ This project has domain-specific skills available. You MUST activate the relevan
64
66
65
67
- Laravel Boost is an MCP server that comes with powerful tools designed specifically for this application. Use them.
66
68
67
-
## Artisan
69
+
## Artisan Commands
68
70
69
-
- Use the `list-artisan-commands` tool when you need to call an Artisan command to double-check the available parameters.
71
+
- Run Artisan commands directly via the command line (e.g., `php artisan route:list`, `php artisan tinker --execute "..."`).
72
+
- Use `php artisan list` to discover available commands and `php artisan [command] --help` to check parameters.
70
73
71
74
## URLs
72
75
73
76
- Whenever you share a project URL with the user, you should use the `get-absolute-url` tool to ensure you're using the correct scheme, domain/IP, and port.
74
77
75
-
## Tinker / Debugging
78
+
## Debugging
76
79
77
-
- You should use the `tinker` tool when you need to execute PHP to debug code or query Eloquent models directly.
78
80
- Use the `database-query` tool when you only need to read from the database.
81
+
- Use the `database-schema` tool to inspect table structure before writing migrations or models.
82
+
- To execute PHP code for debugging, run `php artisan tinker --execute "your code here"` directly.
83
+
- To read configuration values, read the config files directly or run `php artisan config:show [key]`.
84
+
- To inspect routes, run `php artisan route:list` directly.
85
+
- To check environment variables, read the `.env` file directly.
79
86
80
87
## Reading Browser Logs With the `browser-logs` Tool
81
88
@@ -106,20 +113,22 @@ This project has domain-specific skills available. You MUST activate the relevan
106
113
## Constructors
107
114
108
115
- Use PHP 8 constructor property promotion in `__construct()`.
109
-
-<code-snippet>public function \_\_construct(public GitHub $github) { }</code-snippet>
116
+
-`public function __construct(public GitHub $github) { }`
110
117
- Do not allow empty `__construct()` methods with zero parameters unless the constructor is private.
111
118
112
119
## Type Declarations
113
120
114
121
- Always use explicit return type declarations for methods and functions.
115
122
- Use appropriate PHP type hints for method parameters.
116
123
117
-
<code-snippetname="Explicit Return Types and Method Params"lang="php">
124
+
<!-- Explicit Return Types and Method Params -->
125
+
126
+
```php
118
127
protected function isAccessible(User $user, ?string $path = null): bool
- Inertia creates fully client-side rendered SPAs without modern SPA complexity, leveraging existing server-side patterns.
141
-
- Components live in `resources/js/Pages` (unless specified in `vite.config.js`). Use `Inertia::render()` for server-side routing instead of Blade views.
150
+
- Components live in `resources/js/pages` (unless specified in `vite.config.js`). Use `Inertia::render()` for server-side routing instead of Blade views.
142
151
- ALWAYS use `search-docs` tool for version-specific Inertia documentation and updated code examples.
143
152
- IMPORTANT: Activate `inertia-vue-development` when working with Inertia Vue client-side patterns.
144
153
145
-
=== inertia-laravel/v2 rules ===
146
-
147
154
# Inertia v2
148
155
149
156
- Use all Inertia features from v1 and v2. Check the documentation before making changes to ensure the correct approach.
150
-
- New features: deferred props, infinite scrolling (merging props + `WhenVisible`), lazy loading on scroll, polling, prefetching.
157
+
- New features: deferred props, infinite scroll, merging props, polling, prefetching, once props, flash data.
151
158
- When using deferred props, add an empty state with a pulsing or animated skeleton.
152
159
153
160
=== laravel/core rules ===
154
161
155
162
# Do Things the Laravel Way
156
163
157
-
- Use `php artisan make:` commands to create new files (i.e. migrations, controllers, models, etc.). You can list available Artisan commands using the `list-artisan-commands` tool.
164
+
- Use `php artisan make:` commands to create new files (i.e. migrations, controllers, models, etc.). You can list available Artisan commands using `php artisan list` and check their parameters with `php artisan [command] --help`.
158
165
- If you're creating a generic PHP class, use `php artisan make:class`.
159
166
- Pass `--no-interaction` to all Artisan commands to ensure they work without user input. You should also pass the correct `--options` to ensure correct behavior.
- When creating new models, create useful factories and seeders for them too. Ask the user if they need any other things, using `list-artisan-commands` to check the available options to `php artisan make:model`.
178
+
- When creating new models, create useful factories and seeders for them too. Ask the user if they need any other things, using `php artisan make:model --help` to check the available options.
- If you receive an "Illuminate\Foundation\ViteException: Unable to locate file in Vite manifest" error, you can run `bun run build` or ask the user to run `bun run dev` or `composer run dev`.
213
+
- If you receive an "Illuminate\Foundation\ViteException: Unable to locate file in Vite manifest" error, you can run `pnpm run build` or ask the user to run `pnpm run dev` or `composer run dev`.
207
214
208
215
=== laravel/v12 rules ===
209
216
@@ -246,8 +253,8 @@ Wayfinder generates TypeScript functions for Laravel routes. Import from `@/acti
246
253
247
254
# Laravel Pint Code Formatter
248
255
249
-
-You must run `vendor/bin/pint --dirty` before finalizing changes to ensure your code matches the project's expected style.
250
-
- Do not run `vendor/bin/pint --test`, simply run `vendor/bin/pint` to fix any formatting issues.
256
+
-If you have modified any PHP files, you must run `vendor/bin/pint --dirty --format agent` before finalizing changes to ensure your code matches the project's expected style.
257
+
- Do not run `vendor/bin/pint --test --format agent`, simply run `vendor/bin/pint --format agent` to fix any formatting issues.
251
258
252
259
=== pest/core rules ===
253
260
@@ -266,4 +273,5 @@ Wayfinder generates TypeScript functions for Laravel routes. Import from `@/acti
266
273
Vue components must have a single root element.
267
274
268
275
- IMPORTANT: Activate `inertia-vue-development` when working with Inertia Vue client-side patterns.
0 commit comments