PHPackages                             awcodes/filament-installer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. awcodes/filament-installer

ActiveProject[CLI &amp; Console](/categories/cli)

awcodes/filament-installer
==========================

Filament Admin Panel application installer.

v2.0.2(3y ago)14531MITPHPPHP ^8.0

Since Aug 4Pushed 3y ago1 watchersCompare

[ Source](https://github.com/awcodes/filament-installer)[ Packagist](https://packagist.org/packages/awcodes/filament-installer)[ Docs](https://github.com/awcodes/filament-installer)[ RSS](/packages/awcodes-filament-installer/feed)WikiDiscussions 2.x Synced 1mo ago

READMEChangelog (6)Dependencies (7)Versions (8)Used By (0)

**Quickly spin up a new Filament powered application.**

Filament Installer is a command-line tool that replaces the Laravel installer and wraps up the most common tasks you might take when creating a Filament app: opening it in your editor and your browser, initialize a git repository, tweak your `.env` and `.env.example`, and more.

Requirements
============

[](#requirements)

- PHP 8.0+
- (optional, but beneficial) [Laravel Valet](https://laravel.com/docs/valet)

Installation
============

[](#installation)

```
composer global require awcodes/filament-installer
```

Upgrading
=========

[](#upgrading)

```
composer global update awcodes/filament-installer
```

Usage
=====

[](#usage)

Make sure `~/.composer/vendor/bin` is in your terminal's path.

```
cd ~/
filament new my-cool-filament-app
```

What exactly does it do?
========================

[](#what-exactly-does-it-do)

- `filament new $PROJECTNAME`
- Initialize a git repo, add all the files, and, after some changes below, make a commit with the text "Initial commit."
- Replace the `.env` (and `.env.example`) database credentials with the default macOS MySQL credentials: database of `$PROJECTNAME`, user `root`, and empty password
- Replace the `.env` (and `.env.example`) `APP_URL` with `$PROJECTNAME.$YOURVALETTLD`
- Generate an app key
- Set up dark mode (if opted in)
- Scaffold custom theme assets (if opted in)
- Install and setup [Filament Breezy](https://filamentphp.com/plugins/breezy), [Filament Shield](https://filamentphp.com/plugins/shield), or [Filament Sentry](https://github.com/awcodes/filament-sentry) (if opted in)
- Open the project in your favorite editor
- Open `$PROJECTNAME.$YOURVALETTLD` in your browser

> Note: If your `$PROJECTNAME` has dashes (`-`) in it, they will be replaced with underscores (`_`) in the database name.

There are also a few optional behaviors based on the parameters you pass (or define in your config file), including creating a database, migrating, running Valet Link and/or Secure, and running a custom bash script of your definition after the fact.

Customizing Filament Installer
==============================

[](#customizing-filament-installer)

While the default actions Filament Installer provides are great, most users will want to customize at least a few of the steps. Thankfully, Filament Installer is built to be customized!

There are three ways to customize your usage of Filament Installer: command-line arguments, a config file, and an "after" file.

Most users will want to set their preferred configuration options once and then never think about it again. That's best solved by creating a config file.

But if you find yourself needing to change the way you interact with Filament Installer on a project-by-project basis, you may also want to use the command-line parameters to customize Filament Installer when you're using it.

Creating a config file
----------------------

[](#creating-a-config-file)

You can create a config file at `~/.filament/config` rather than pass the same arguments each time you create a new project.

The following command creates the file, if it doesn't exist, and edits it:

```
filament edit-config
```

The config file contains the configuration parameters you can customize, and will be read on every usage of Filament Installer.

Creating an "after" file
------------------------

[](#creating-an-after-file)

You can also create an after file at `~/.filament/after` to run additional commands after you create a new project.

The following command creates the file, if it doesn't exist, and edits it:

```
filament edit-after
```

The after file is interpreted as a bash script, so you can include any commands here, such as installing additional composer dependencies...

```
# Install additional composer dependencies as you would from the command line.
echo "Installing Composer Dependencies"
composer require awcodes/filament-quick-create spatie/laravel-ray
```

...or copying additional files to your new project.

```
# To copy standard files to new filament project place them in ~/.filament/includes directory.
echo "Copying Include Files"
cp -R ~/.filament/includes/ $PROJECTPATH
```

You also have access to variables from your config file such as `$PROJECTPATH` and `$CODEEDITOR`.

Using command-line parameters
-----------------------------

[](#using-command-line-parameters)

Any command-line parameters passed in will override Filament Installer's defaults and your config settings. See a [full list of the parameters you can pass in](#parameters).

Filament Installer Commands
===========================

[](#filament-installer-commands)

- `help` or `help-screen` show the help screen

- `edit-config` edits your config file (and creates one if it doesn't exist)

    ```
    filament edit-config
    ```
- `edit-after` edits your "after" file (and creates one if it doesn't exist)

    ```
    filament edit-after
    ```

Configurable parameters
=======================

[](#configurable-parameters)

You can optionally pass one or more of these parameters every time you use Filament Installer. If you find yourself wanting to configure any of these settings every time you run Filament Installer, that's a perfect use for the [config files](#config-files).

- `-e` or `--editor` to define your editor command. Whatever is passed here will be run as `$EDITOR .` after creating the project.

    ```
    # runs "subl ." in the project directory after creating the project
    filament new my-cool-filament-app --editor=subl
    ```
- `-p` or `--path` to specify where to install the application.

    ```
    filament new my-cool-filament-app --path=~/Sites
    ```
- `-m` or `--message` to set the first Git commit message.

    ```
    filament new my-cool-filament-app --message="This filament runs fast!"
    ```
- `-f` or `--force` to force install even if the directory already exists

    ```
    # Creates a new Laravel application after deleting ~/Sites/my-cool-filament-app
    filament new my-cool-filament-app --force
    ```
- `-d` or `--dev` to choose the `develop` branch instead of `master`, getting the beta install.

    ```
    filament new my-cool-filament-app --dev
    ```
- `-b` or `--browser` to define which browser you want to open the project in.

    ```
    filament new my-cool-filament-app --browser="/Applications/Google Chrome Canary.app"
    ```
- `-l` or `--link` to create a Valet link to the project directory.

    ```
    filament new my-cool-filament-app --link
    ```
- `-s` or `--secure` to secure the Valet site using https.

    ```
    filament new my-cool-filament-app --secure
    ```
- `--create-db` to create a new MySQL database which has the same name as your project. This requires `mysql` command to be available on your system.

    ```
    filament new my-cool-filament-app --create-db
    ```
- `--migrate-db` to migrate your database.

    ```
    filament new my-cool-filament-app --migrate-db
    ```
- `--dbuser` to specify the database username.

    ```
    filament new my-cool-filament-app --dbuser=USER
    ```
- `--dbpassword` specify the database password.

    ```
    filament new my-cool-filament-app --dbpassword=SECRET
    ```
- `--dbhost` specify the database host.

    ```
    filament new my-cool-filament-app --dbhost=127.0.0.1
    ```
- `--dark` to use the Filament dark mode by default.

    ```
    filament new my-cool-filament-app --dark
    ```
- `--themed` to scaffold out the assets needed for a custom Filament theme.

    ```
    filament new my-cool-filament-app --themed
    ```
- `--mix` to revert Laravel to Laravel Mix instead of Vite

    ```
    filament new my-cool-filament-app --mix
    ```
- `--breezy` to install and setup Filament Breezy (authentication plugin).

    ```
    filament new my-cool-filament-app --breezy
    ```
- `--shield` to install and setup Filament Shield (authorization plugin).

    ```
    filament new my-cool-filament-app --shield
    ```
- `--sentry` to install and setup Filament Sentry (authentication, with Breezy, authorization, with Shield and Filament User Resources plugin).

    ```
    filament new my-cool-filament-app --sentry
    ```
- `--full` to use `--create-db`, `--migrate-db`, `--link`, and `-secure`.

    ```
    filament new my-cool-filament-app --full
    ```

**GitHub Repository Creation**

**Important:** To create new repositories Filament Installer requires one of the following tools to be installed:

- the official [GitHub command line tool](https://github.com/cli/cli#installation)
- the [hub command line tool](https://github.com/github/hub#installation)

Filament Installer will give you the option to continue without GitHub repository creation if neither tool is installed.

- `-g` or `--github` to Initialize a new private GitHub repository and push your new project to it.

```
# Repository created at https://github.com//my-cool-filament-app
filament new my-cool-filament-app --github
```

- Use `--gh-public` with `--github` to make the new GitHub repository public.

```
filament new my-cool-filament-app --github --gh-public
```

- Use `--gh-description` with `--github` to initialize the new GitHub repository with a description.

```
filament Installer new my-cool-filament-app --github --gh-description='My cool Filament application'
```

- Use `--gh-homepage` with `--github` to initialize the new GitHub repository with a homepage url.

```
filament Installer new my-cool-filament-app --github --gh-homepage=https://example.com
```

- Use `--gh-org` with `--github` to initialize the new GitHub repository with a specified organization.

```
# Repository created at https://github.com/acme/my-cool-filament-app
filament new my-cool-filament-app --github --gh-org=acme
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Recently: every ~19 days

Total

7

Last Release

1303d ago

Major Versions

v1.1.0 → v2.0.02022-10-19

PHP version history (2 changes)1.0.0PHP ^8.0

v1.1.0PHP ^7.4|^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3596800?v=4)[Adam Weston](/maintainers/awcodes)[@awcodes](https://github.com/awcodes)

---

Top Contributors

[![awcodes](https://avatars.githubusercontent.com/u/3596800?v=4)](https://github.com/awcodes "awcodes (5 commits)")

---

Tags

cliconsolelaravelfilament

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/awcodes-filament-installer/health.svg)

```
[![Health](https://phpackages.com/badges/awcodes-filament-installer/health.svg)](https://phpackages.com/packages/awcodes-filament-installer)
```

###  Alternatives

[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.6k331.8M8.5k](/packages/nunomaduro-collision)[mehrancodes/laravel-harbor

A CLI tool to Quickly create On-Demand preview environment for your apps.

9989.0k](/packages/mehrancodes-laravel-harbor)[phpsa/filament-dadjokes

With DadJokes every time you load your control panel you'll be greeted by an epic dad joke on the dashboard.

1714.1k](/packages/phpsa-filament-dadjokes)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
