Skip to content

Commit 2ef14f1

Browse files
authored
Merge branch 'main' into fix-install-process
2 parents 077bfe3 + 44f6eff commit 2ef14f1

File tree

11 files changed

+97
-15
lines changed

11 files changed

+97
-15
lines changed

.ai/boost/core.blade.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
- You must use this tool to search for Laravel-ecosystem documentation before falling back to other approaches.
2424
- Search the documentation before making code changes to ensure we are taking the correct approach.
2525
- Use multiple, broad, simple, topic based queries to start. For example: `['rate limiting', 'routing rate limiting', 'routing']`.
26+
- Do not add package names to queries, package information is already shared. Use `test resource table`, not `filament 4 test resource table`.
2627

2728
### Available Search Syntax
2829
- You can and should pass multiple queries at once. The most relevant results will be returned first.

.ai/filament/2/core.blade.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Filament 2
2+
3+
## Version 2 Changes To Focus On
4+
- Resources are located in `app/Filament/Resources/` directory.
5+
- Resource pages (List, Create, Edit) are auto-generated within the resource structure.
6+
- Forms use the `Forms\Components` namespace for form fields.
7+
- Tables use the `Tables\Columns` namespace for table columns.

.ai/filament/3/core.blade.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## Filament 3
2+
3+
## Version 3 Changes To Focus On
4+
- Resources are located in `app/Filament/Resources/` directory.
5+
- Resource pages (List, Create, Edit) are auto-generated within the resource's directory, i.e. `app/Filament/Resources/PostResource/Pages/`.
6+
- Forms use the `Forms\Components` namespace for form fields.
7+
- Tables use the `Tables\Columns` namespace for table columns.
8+
- New RichEditor component available (`Filament\Forms\Components\RichEditor`).
9+
- Form and table schemas now use fluent method chaining.
10+
- Added `php artisan filament:optimize` command for production optimization.
11+
- Requires implementing `FilamentUser` contract for production access control.

.ai/filament/4/core.blade.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,9 @@
99
- The `Form` & `Infolist` layout components have been moved to `Filament\Schemas\Components`, for example `Grid`, `Section`, `Fieldset`, `Tabs`, `Wizard`, etc.
1010
- A new `Repeater` component for Forms has been added.
1111
- Icons now use the `Filament\Support\Icons\Heroicon` Enum by default. Other options are available and documented.
12+
13+
### Organize Component Classes Structure
14+
- Schema components: `Schemas/Components/`
15+
- Table columns: `Tables/Columns/`
16+
- Table filters: `Tables/Filters/`
17+
- Actions: `Actions/`

.ai/filament/core.blade.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
- Filament is used by this application, check how and where to follow existing application conventions.
33
- Filament is a Server-Driven UI (SDUI) framework for Laravel. It allows developers to define user interfaces in PHP using structured configuration objects. It is built on top of Livewire, Alpine.js, and Tailwind CSS.
44
- You can use the `search-docs` tool to get information from the official Filament documentation when needed. This is very useful for Artisan command arguments, specific code examples, testing functionality, relationship management, and ensuring you're following idiomatic practices.
5+
- Utilize static `make()` methods for consistent component initialization.
56

67
### Artisan
78
- You must use the Filament specific Artisan commands to create new files or components for Filament. You can find these with the `list-artisan-commands` tool, or with `php artisan` and the `--help` option.
@@ -29,7 +30,7 @@
2930
</code-snippet>
3031
@endverbatim
3132

32-
### Testing
33+
## Testing
3334
- It's important to test Filament functionality for user satisfaction.
3435
- Ensure that you are authenticated to access the application within the test.
3536
- Filament uses Livewire, so start assertions with `livewire()` or `Livewire::test()`.

.github/ISSUE_TEMPLATE/1_Bug_report.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ body:
2727
required: true
2828
- type: input
2929
attributes:
30-
label: Database Driver & Version
31-
description: If applicable, provide the database driver and version you are using.
32-
placeholder: "MySQL 8.0.31 for macOS 13.0 on arm64 (Homebrew)"
30+
label: System Info
31+
description: Provide your system details including OS, PHP setup, and development environment.
32+
placeholder: "macOS 14.1 (M1) with Herd or Ubuntu 22.04 with Laravel Sail"
3333
validations:
34-
required: false
34+
required: true
3535
- type: textarea
3636
attributes:
3737
label: Description
@@ -44,4 +44,4 @@ body:
4444
description: Provide detailed steps to reproduce your issue. If necessary, please provide a GitHub repository to demonstrate your issue using `laravel new bug-report --github="--public"`.
4545
validations:
4646
required: true
47-
47+

CHANGELOG.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
11
# Release Notes
22

3-
## [Unreleased](https://github.com/laravel/boost/compare/v1.0.9...main)
3+
## [Unreleased](https://github.com/laravel/boost/compare/v1.0.11...main)
4+
5+
## [v1.0.11](https://github.com/laravel/boost/compare/v1.0.10...v1.0.11) - 2025-08-14
6+
7+
### What's Changed
8+
9+
* tools: report-feedback: strengthen language on privacy by [@ashleyhindle](https://github.com/ashleyhindle) in https://github.com/laravel/boost/pull/103
10+
11+
**Full Changelog**: https://github.com/laravel/boost/compare/v1.0.10...v1.0.11
12+
13+
## [v1.0.10](https://github.com/laravel/boost/compare/v1.0.9...v1.0.10) - 2025-08-14
14+
15+
### What's Changed
16+
17+
* fixes #70 - make sure foundational rules are composed by [@ashleyhindle](https://github.com/ashleyhindle) in https://github.com/laravel/boost/pull/84
18+
* Update the bug report template's system info section by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/boost/pull/98
19+
* Update Filament Guidelines by [@pushpak1300](https://github.com/pushpak1300) in https://github.com/laravel/boost/pull/35
20+
* Fix: Prevent autoloading non class-like files during discovery to avoid "FatalError: Cannot redeclare function" by [@zdearo](https://github.com/zdearo) in https://github.com/laravel/boost/pull/99
21+
22+
### New Contributors
23+
24+
* [@zdearo](https://github.com/zdearo) made their first contribution in https://github.com/laravel/boost/pull/99
25+
26+
**Full Changelog**: https://github.com/laravel/boost/compare/v1.0.9...v1.0.10
427

528
## [v1.0.9](https://github.com/laravel/boost/compare/v1.0.8...v1.0.9) - 2025-08-13
629

all.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public function packages(): \Laravel\Roster\PackageCollection
6060
$enumMapping = [
6161
'php' => \Laravel\Roster\Enums\Packages::LARAVEL, // Use Laravel as placeholder for php
6262
'laravel' => \Laravel\Roster\Enums\Packages::LARAVEL,
63+
'filament' => \Laravel\Roster\Enums\Packages::FILAMENT,
6364
'fluxui-free' => \Laravel\Roster\Enums\Packages::FLUXUI_FREE,
6465
'fluxui-pro' => \Laravel\Roster\Enums\Packages::FLUXUI_PRO,
6566
'inertia-laravel' => \Laravel\Roster\Enums\Packages::INERTIA_LARAVEL,

composer.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@
1212
"issues": "https://github.com/laravel/boost/issues",
1313
"source": "https://github.com/laravel/boost"
1414
},
15-
"repositories": [
16-
{
17-
"type": "git",
18-
"url": "[email protected]:laravel/mcp.git"
19-
}
20-
],
2115
"require": {
2216
"php": "^8.1|^8.2",
2317
"guzzlehttp/guzzle": "^7.9",

src/Install/GuidelineAssist.php

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,14 @@ private function discover(callable $cb): array
8080
);
8181

8282
try {
83+
$path = $appPath.DIRECTORY_SEPARATOR.$relativePath;
84+
85+
if (! $this->fileHasClassLike($path)) {
86+
continue;
87+
}
88+
8389
if (class_exists($className)) {
84-
self::$classes[$className] = $appPath.DIRECTORY_SEPARATOR.$relativePath;
90+
self::$classes[$className] = $path;
8591
}
8692
} catch (\Throwable) {
8793
// Ignore exceptions and errors from class loading/reflection
@@ -98,6 +104,38 @@ private function discover(callable $cb): array
98104
return $classes;
99105
}
100106

107+
public function fileHasClassLike(string $path): bool
108+
{
109+
static $cache = [];
110+
111+
if (isset($cache[$path])) {
112+
return $cache[$path];
113+
}
114+
115+
$code = file_get_contents($path);
116+
if ($code === false) {
117+
return $cache[$path] = false;
118+
}
119+
120+
if (stripos($code, 'class') === false
121+
&& stripos($code, 'interface') === false
122+
&& stripos($code, 'trait') === false
123+
&& stripos($code, 'enum') === false) {
124+
return $cache[$path] = false;
125+
}
126+
127+
$tokens = token_get_all($code);
128+
foreach ($tokens as $token) {
129+
if (is_array($token)) {
130+
if (in_array($token[0], [T_CLASS, T_INTERFACE, T_TRAIT, T_ENUM], true)) {
131+
return $cache[$path] = true;
132+
}
133+
}
134+
}
135+
136+
return $cache[$path] = false;
137+
}
138+
101139
public function shouldEnforceStrictTypes(): bool
102140
{
103141
if (empty($this->modelPaths)) {

0 commit comments

Comments
 (0)