Bug Reports
Community⭐️ A Filament plugin to collect in-app bug reports and push validated ones to GitHub issues. Collect bug reports from inside your Filament panel, and push the ones you confirm are real straight to GitHub as issues.
Author:
CerealKiller97
Package health
BetaAutomated checks of this plugin's Composer package
13 checks
- Skipped: Current Laravel version supported
- Skipped: Current PHP version supported
- Skipped: Current Symfony version supported
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 1 days ago; last release 3 days ago.
- Skipped: composer.lock not committed by library
- Skipped: Dist archive is lean
- Failed: GitHub Actions pinned to SHA — View details on Plumb
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Failed: Dependabot or Renovate configured — No dependency updater configuration found. View details on Plumb
- Skipped: Dependency update cooldown configured
- Failed: Provides a security policy — View details on Plumb
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
Get instant feedback from the people actually using your app. Collect bug reports from inside your Filament panel, and push the ones you confirm are real straight to GitHub as issues.
Feedback arrives the moment a user hits the problem — not days later through a support email, a Slack thread, or a screenshot with no context. Your users get a Report a bug button in the panel's topbar and a short, plain-language form — no Markdown, no issue templates, no GitHub account. You get a triage table where a single click turns a report into a proper GitHub issue, and the issue's state (open/closed) is mirrored back onto the report automatically.
| Dark | Light |
|---|---|
![]() |
![]() |
#How it works
- Anyone in the panel reports a bug. They describe the problem, list the steps that led to it, and optionally attach a screenshot. The report is stamped with the reporter, their role and the running app version — they aren't asked for any of it.
- A manager triages. Reports land in a table only managers can see. Noise gets deleted; the real ones get Mark as real.
- A GitHub issue is created, with the steps and screenshot formatted into the body. The issue number and URL are stored on the report.
- State syncs back. An hourly command checks each linked issue: closed becomes Resolved, reopened flips back to In progress.
#Requirements
- PHP 8.3+
- Laravel 13.x
- Filament 5.x
#Installation
composer require cerealkiller97/filament-bug-reports
Publish and run the migration:
php artisan vendor:publish --tag=bug-reports-migrations
php artisan migrat
Optionally publish the config file:
php artisan vendor:publish --tag=bug-reports-config
Then register the plugin on the panel you want it in:
use CerealKiller97\FilamentBugReports\BugReportsPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
BugReportsPlugin::make()
->authorizeManagementUsing(fn (User $user): bool => $user->isAdmin()),
);
}
That single authorizeManagementUsing call matters: management defaults to nobody. Until you opt someone in, no one can see the report list — though everyone can still file a report.
Finally, point it at a repository with a token that has the repo (or issues:write) scope:
BUG_REPORTS_GITHUB_TOKEN=ghp_xxxxxxxxxxxx
BUG_REPORTS_GITHUB_REPOSITORY=acme/platform
See the installation guide for the rest.
#Documentation
| Authorization | Who can file a report, and who can triage one. |
| Reporting a bug | The topbar button and the form behind it. |
| The triage table | The stats, the grouping, and marking a report as real. |
| The GitHub issue | What the created issue looks like, and which options GitHub honours. |
| Keeping reports in sync | Mirroring issue state back onto the report. |
| Configuration | Every key in config/bug-reports.php. |
| Translations | Changing the wording. |
#Testing
composer test # Pest
composer lint # Pint
composer analyse # PHPStan
composer type-coverage # Pest type coverage (must stay at 100%)
#Contributing
Pull requests are welcome — bug fixes, new features, better docs, or just a typo you spotted. See the contributing guide for the workflow, and open the PR even if you're unsure about it.
#License
Apache License 2.0. See LICENSE.md.
Proudly made by Stefan Bogdanović.
The author
I’m an experienced Software Developer focused on building web applications and microservices. I prioritize clean, simple, and testable code that is easy to maintain and understand.
I actively contribute to open-source projects and support the open-source community. I’m also the proud owner of the BrosSquad organization.
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight/Raycast like Command Palette to your Filament Panel.
Dennis Koch

