fourkitchens / fire

FIRE is a commands standardization tool
0 stars 0 forks source link

FIRE

   )
  ) \
 / ) (
 \(_)/

=================

Fast Initialization and Rebuilding of Environments.

FIRE is a standardized set of commands to run local Drupal environments, regardless of which Docker wrapper you use (Lando or DDEV), and regardless of where the live site is hosted (Pantheon or Acquia). This means that every site that you work on will use the same commands for things like getting a fresh database (fire get-db). This makes it quicker and easier to get new people working on any of your sites.

Install

  1. Install the FIRE Launcher on your computer (Recommended but optional)\ https://github.com/fourkitchens/fire-launcher

  2. Install the commands package into your project\ composer require fourkitchens/fire --dev

  3. Create your fire.yml config file for the project\ fire init

  4. Edit fire.yml and adjust the configuration.

  5. Check if fire is working\ If you have installed the FIRE Launcher:

    fire

    otherwise:

    ./vendor/bin/fire

    It should show you all the available FIRE commands.

  6. Edit your project's README.md file and point to our Project Documentation\ If your project has other requirements to run FIRE commands (e.g. does your project also require Node and NVM?), then be sure to also list those in your project's README.md.

Usage

With FIRE laucher installed:

Example:

fire build

Without the FIRE launcher installed:

Example:

./vendor/bin/fire build

Available commands:

Configuration

Into your project root create a file called: fire.yml and iside of it speficify your global project settings.

If you need to override some of the global settings latter for a specific env you can create fire.local.yml and there override as many variables as you want.

Configuration variables:

Development

Passing Arguments wrapped commands (i.e drush)

When using Fire to run a wrapped command like Drush, you can indeed pass arguments by using a double hyphen (--). This signals that all subsequent parameters should be treated as arguments for the wrapped command. Here's how you can structure it:

fire drush cex -- -y

Dev backgroud

We are using Robo as Framework to develop this tool.