CLI for creating new Filament plugins
A Hydro CLI Tool.
This is a command-line tool that replaces the need to use Filament's Plugin Skeleton through GitHub by allowing local setup of your plugin from the start.
composer global require awcodes/hydro
composer global update awcodes/hydro
Make sure ~/.composer/vendor/bin
is in your terminal's path.
cd ~/<working-directory>
hydro new AwesomePlugin
While the default actions Hydro provides are great, most users will want to customize at least a few of the steps. Thankfully, Hydro is built to be customized!
There are three ways to customize your usage of Hydro: command-line arguments or a config 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 Hydro on a project-by-project basis, you may also want to use the command-line parameters to customize Hydro when you're using it.
You can create a config file at ~/.hydro/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:
hydro edit-config
The config file contains the configuration parameters you can customize, and will be read on every usage of Hydro.
Any command-line parameters passed in will override Hydro's defaults and your config settings. See a full list of the parameters you can pass in.
help
or help-screen
show the help screenedit-config
edits your config file (and creates one if it doesn't exist)
hydro edit-config
You can optionally pass one or more of these parameters every time you use Hydro. If you find yourself wanting to configure any of these settings every time you run Hydro, that's a perfect use for the config files.
-e
or --editor
to define your editor command. Whatever is passed here will be run as $EDITOR .
after creating the project.
# runs "code ." in the project directory after creating the project
hydro new AwesomePlugin --editor=code
-p
or --path
to specify where to install the application.
hydro new AwesomePlugin --path=~/Sites
-m
or --message
to set the first Git commit message.
hydro new AwesomePlugin --message="This filament plugin runs fast!"
-f
or --force
to force install even if the directory already exists
# Creates a new scaffolding after deleting ~/Sites/awesome-plugin
hydro new AwesomePlugin --force
GitHub Repository Creation
Important: To create new repositories Hydro requires one of the following tools to be installed:
Hydro 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/<your_github_username>/awesome-plugin
hydro new AwesomePlugin --github
--gh-public
with --github
to make the new GitHub repository public.hydro new AwesomePlugin --github --gh-public
--gh-description
with --github
to initialize the new GitHub repository with a description.hydro new AwesomePlugin --github --gh-description='My awesome Filament plugin'
--gh-homepage
with --github
to initialize the new GitHub repository with a homepage url.hydro new AwesomePlugin --github --gh-homepage=https://example.com
--gh-org
with --github
to initialize the new GitHub repository with a specified organization.# Repository created at https://github.com/acme/awesome-plugin
hydro new AwesomePlugin --github --gh-org=acme