happytodev/larafil

A Laravel Zero based CLI to install Laravel and Filament easily

Fund package maintenance!
happytodev
Ko Fi

Installs: 9

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 1

Forks: 0

Open Issues: 0

Type:project

v0.6.2 2024-05-08 17:15 UTC

README

Total Downloads Latest Stable Version License

Larafil was created by HappyToDev and was inspired by a Povilas Korop's tweet.

In one line, you can install Laravel and FilamenPHP :

Exemple :

larafil install myNewAwesomeProject --create-user --filament-url=batcave --mysql --serve

With this single line, Larafil

  • will install Laravel (last version) in a directory called myNewAwesomeProject
  • change default SQLite database by a MySQL database in your .env file, create the MySQL database, launch migrations, remove database.sqlite database
  • will install FilamentPHP
  • ask you to create the first Filament user
  • ask you if you want to install some Filament Plugins (For now, only these plugins are supported as a proof of concept : 'None (default)', 'Breezy', 'Curator', 'Shield', 'Spatie Role Permissions')
  • change the FilamentPHP admin URL to batcave
  • start the integrated server

Every option is optional.

If you don't provide the name of the application, Larafil will ask you for it, so you can perfectly use this command instead of that above :

larafil install --create-user --filament-url=batcave --mysql --serve

when Larafil will ask you for the name of the project, it wiil be up to you to give you the name.

How to use Larafil

Get it on Packagist

composer global require happytodev/larafil

and just use it :

larafil install

It will ask you the name of your future application.

Customize FilamentPHP admin url

You can change the default '/admin' url to the url you want. You have just to pass the option with your new value :

larafil install --filament-url=batcave

Once the installation finished, you can access to your dashboard with <url.of.your.project>/batcave>

Create a Filament user

You can ask for a Filament user creation at the end of the installation :

larafil install --create-user

Serve your application

You can also ask to launch Laravel integrated server after the installation :

larafil install --serve

Of course, you can combine the two options together :

larafil install --create-user --serve

Use MySQL database instead SQLite default one

If you want to use MySQL database instead the sqlite default one, you can use the --mysql option :

larafil install --create-user --mysql --serve

Use Laravel 10 instead of Laravel 11

If you want to use Laravel 10 instead Laravel 11, you can pass the l10 option during installation :

larafil install --create-user --laravel-version=previous --serve

Nota : you can't use l10 and mysql option together. That's because Laravel 10 use mysql by default. For Laravel 11, it's SQLite by default. If you try to use both together, you will have an error and the install stops.

The purpose of Larafil was to play with Laravel Zero from Nuno Maduro.

How to build Larafil

  1. git clone
git clone https://github.com/happytodev/larafil.git larafil
  1. Composer install
composer install
  1. Build the app
php larafil app:build
  1. It's ready
./builds/larafil -V

Support the development

I don't know if there is another thing to develop for Larafil but tell me. It will be my pleasure to develop some good ideas for this little project.

Do you like this project? Support it by donating

Interested by Laravel 11 ?

Get my free ebook about news in Laravel 11

License

Larafil is an open-source software licensed under the MIT license.