joshcirre / fission
An opinionated starter kit for building Laravel applications.
Installs: 235
Dependents: 0
Suggesters: 0
Security: 0
Stars: 188
Watchers: 4
Forks: 25
Open Issues: 6
Type:project
pkg:composer/joshcirre/fission
Requires
- php: ^8.2
- laravel/framework: ^12.0
- laravel/prompts: ^0.3
- laravel/tinker: ^2.0
- livewire/flux: ^2.0
- livewire/flux-pro: ^2.0
- livewire/livewire: ^4.0@beta
- nunomaduro/essentials: @dev
Requires (Dev)
- fakerphp/faker: ^1.23
- larastan/larastan: ^3.4
- laravel/boost: ^1.0
- laravel/pail: ^1.2.2
- laravel/pint: ^1.18
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- peckphp/peck: ^0.1.0
- pestphp/pest: ^3.2
- pestphp/pest-plugin-laravel: ^3.0
- rector/rector: ^2.0
- soloterm/solo: ^0.4.0
Suggests
- bentoproject/bento: Adds Bento to your project
- filament/filament: Adds Filament admin panel to your project
- pirsch-analytics/laravel: Adds Pirsch analytics to your project
- sentry/sentry-laravel: Adds Sentry error tracking to your project
- spatie/ray: Adds Spatie Ray for debugging
README
Important
This is an opinionated starter kit created by me (Josh Cirre) using Laravel Livewire and Livewire Flux. While PRs are welcome, this is designed to fit the needs of one person.
Tip
To get up and running quickly, use the new Laravel installer with the using option: laravel new my-project --using=joshcirre/fission
Why Does This Exist?
Up until Livewire Flux released, I used Breeze as a starting point for 99% of new projects that I would create. Typically, those new projects were built for demos on videos or starting points for tutorials. In addition, I would start side projects or app ideas with Breeze, as well.
Eventually I knew I wanted to create my own starting kit that worked well for what I needed in most scenarios. Authentication and a dashboard where I can start writing code.
Once Livewire Flux released, it was the perfect time to make this happen.
Flux License Required
A license for Flux (technically, "Flux Pro") is required to use Fission. Fission does not contain any of Flux's CSS, built CSS, or Blade components. However, if you do not have a license there are only two components used in the Flux Pro version (Toast and Card). Feel free to remove them from the starter kit.
Installation
Quick Start (Recommended)
laravel new my-project --using=joshcirre/fission
Manual Installation
composer create-project joshcirre/fission my-project
cd my-project
composer setup
Cloning the Repository
git clone https://github.com/joshcirre/fission.git my-project
cd my-project
composer install
composer setup
The composer setup command handles:
- Environment configuration (.env)
- Application key generation
- SQLite database creation
- Database migrations
- NPM dependency installation
- Asset building
Development
composer dev # Start server, queue, logs, and Vite
Code Quality
Fission enforces strict code quality through automated tooling:
composer fix # Fix everything: types, refactoring, formatting composer test # Run all checks: tests, linting, types, refactoring
| Command | Purpose |
|---|---|
composer fix |
PHPStan → Rector → Prettier → Pint |
composer test |
Typos → Pest → Lint check → PHPStan → Rector dry-run |
composer lint |
Pint + Prettier (quick format) |
composer refactor |
Rector only |
Individual Test Commands
composer test:unit # Pest tests (parallel) composer test:unit:coverage # Pest with coverage composer test:types # PHPStan analysis composer test:lint # Check formatting (no fix) composer test:refactor # Rector dry-run composer test:typos # Peck typo checker
Tooling Stack
- Pest - Testing framework
- PHPStan + Larastan - Static analysis (max level)
- Rector - Automated refactoring
- Pint - PHP code style (strict Laravel)
- Prettier - JS/CSS formatting
- Peck - Typo detection
License
The Fission starter kit is open-sourced software licensed under the MIT license.