PHPackages                             awcodes/hydro - 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/hydro

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

awcodes/hydro
=============

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.

v0.2.1(3y ago)13231MITPHPPHP ^8.1CI passing

Since Mar 2Pushed 3mo ago1 watchersCompare

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

READMEChangelog (4)Dependencies (5)Versions (8)Used By (0)

Hydro
=====

[](#hydro)

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.

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

[](#requirements)

- PHP 8.0+

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

[](#installation)

```
composer global require awcodes/hydro
```

Upgrading
=========

[](#upgrading)

```
composer global update awcodes/hydro
```

Usage
=====

[](#usage)

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

```
cd ~/
hydro new AwesomePlugin
```

Customizing Hydro
=================

[](#customizing-hydro)

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.

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

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

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.

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

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

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](#parameters).

Hydro Commands
==============

[](#hydro-commands)

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

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

    ```
    hydro edit-config
    ```

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

[](#configurable-parameters)

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](#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:

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

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//awesome-plugin
hydro new AwesomePlugin --github
```

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

```
hydro new AwesomePlugin --github --gh-public
```

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

```
hydro new AwesomePlugin --github --gh-description='My awesome Filament plugin'
```

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

```
hydro new AwesomePlugin --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/awesome-plugin
hydro new AwesomePlugin --github --gh-org=acme
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance53

Moderate activity, may be stable

Popularity14

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~8 days

Total

4

Last Release

1149d ago

### 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 (25 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (18 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (10 commits)")

---

Tags

plugincliconsolefilament

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[nunomaduro/collision

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

4.6k331.8M8.5k](/packages/nunomaduro-collision)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)[mehrancodes/laravel-harbor

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

9989.0k](/packages/mehrancodes-laravel-harbor)

PHPackages © 2026

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