PHPackages                             fourkitchens/fire - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. fourkitchens/fire

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

fourkitchens/fire
=================

3.0.2(1mo ago)015.9k↓25%2[22 issues](https://github.com/fourkitchens/fire/issues)[5 PRs](https://github.com/fourkitchens/fire/pulls)PHPPHP ^8.3

Since Aug 28Pushed 1mo ago10 watchersCompare

[ Source](https://github.com/fourkitchens/fire)[ Packagist](https://packagist.org/packages/fourkitchens/fire)[ RSS](/packages/fourkitchens-fire/feed)WikiDiscussions 3.x Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (30)Used By (0)

FIRE

```
   )
  ) \
 / ) (
 \(_)/

```

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

**F**ast **I**nitialization and **R**ebuilding of **E**nvironments.

FIRE is a standardized set of commands to run local [Drupal](https://www.drupal.org/) environments, regardless of which Docker wrapper you use ([Lando](https://lando.dev/) or [DDEV](https://ddev.com/)), and regardless of where the live site is hosted ([Pantheon](https://pantheon.io/) or [Acquia](https://www.acquia.com/solutions/drupal-hosting)). 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
=======

[](#install)

1. Install the FIRE Launcher on your computer (Recommended but optional)

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](./ProjectREADME.md)
    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
=====

[](#usage)

**With FIRE laucher installed:**

Example:

```
fire build

```

**Without the FIRE launcher installed:**

Example:

```
./vendor/bin/fire build

```

Available commands:
-------------------

[](#available-commands)

- `init`: Triggers a wizard that help you initialize the fire.yml file.

    alias: `i`
- `env:start`: Starts the local Docker based env (lando, ddev).

    alias: `start`
- `env:stop`: Stops the local Docker based env (lando, ddev).

    alias: `stop`
- `env:poweroff`: Stops the local Docker and the proxy based env (lando, ddev).

    alias: `poweroff`
- `env:switch`: A project can have both environments configured: Lando and DDev, so the "switch" command helps you to "hot swap" between local dev environments (Lando or DDev).

    alias: `env-switch|switch|sw`
- `local:build`: Builds your Drupal Site from the scratch.

    Alias: `local-build, build`

    Options:

    `--no-db-import`: Ignores the database import process (Download &amp; Import).

    `--no-db-download`: Ignores ONLY the DB download, data will be imported from your existing db backup file.

    `-f, --get-files`: Gets the Files from the remote server.
- `local:build:drush-commands`: Drush Build commands - updb , cr, cim , cr, deploy:hook

    Alias `build-drush`
- `local:build:js`: Builds Project JS Dependencies (Projects Root).

    Alias: `build-js`
- `local:build:php`: Builds Project PHP Dependencies.

    Alias: `build-php`
- `local:build:theme`: Builds Projects theme.

    Alias `build-theme`
- `local:configure:export`: Exports sites configuration - none interaction required.

    Alias: `configure-export|configure_export|cex`
- `local:configure:import`: Imports sites configuration - none interaction required.

    Alias: `configure-import|configure_import|cim`
- `local:composer`: Composer proxy for local envs.

    Alias: `c, composer`

    Arguments:

    ```
    `args`: The composer command you would like to execute.

    ```

    Usage Example:

    ```
    fire composer install
    fire composer install -- --ignore-platform-reqs
    fire composer update drupal/core -- -W
    fire composer require 'drupal/devel:^5.1'
    fire composer require fourkitchens/fire -- --dev

    ```
- `local:drush`: Drush proxy for local envs.

    Alias: `drush`

    Arguments:

    `args`: drush you would like to execute.
- `local:get-db`: Get the database for local env.

    Alias: `get-db|db-get|getdb|dbget|get_db|db_get|local:db:get|local:get:db`
- `local:get-files`: Downloads the sites files from the remote source (Pantheon, acquia).

    Alias: `get-files|files-get|getfiles|filesget|get_files|files_get|pull-files|pull_files|local:file:get|local:get:files`

    Options:

    `--no-download`: Reuse your existing files copy in the reference folder and placing them in the files folder (Pantheon only).
- `local:import-db`: Import database for local envs.

    Alias: `import-db|db-import|importdb|dbimport|import_db|db_import`
- `local:lint:php`: Runs and configure Phpcs for you local env.

    Alias: `phpcs`
- `local:setup`: Setups your project from scratch (lando, ddev), all your data will be destroy and rebuild.

    Alias: `setup`

    Options:

    `--no-db-import`: Ignores the database import process (Download &amp; Import).

    `--no-db-download`: Ignores ONLY the DB download, data will be imported from your existing db backup file.

    `-f, --get-files`: Gets the Files from the remote server.
- `xdebug:enable`: Configures your local envs Xdebug to work with your prefered Code editor.

    Alias: `xd-en`
- `vrt:generate-backstop-config`: Creates a basic Backstop.json for you.

    Alias: `vgc`
- `vrt:init`: Configure your local enviroment from scratch to use VRT testing.

    Alias: `vinit`
- `vrt:local-env-config`: Alters your local enviroment so you can use backstop.

    Alias: `vlec`
- `vrt:reference`: Takes new reference screeshots from the reference URL.

    Alias: `vref`
- `vrt:run`: Runs your VRT testing.

    Alias: `vrun`
- `vrt:testing-setup`: Setups the Testing and reference sites for VRT testing. Alias: `vts`
- `command:add`: This command allow you to create a custom command in your project.

    Alias: `ca, cadd`
- `command:overwrite`: This command allow you to overwrite the default fire command in your project.

    Alias: `co, coverride`

    There are two types of overwrite:

    **1. Partial:** It first runs the original command and then allows you to add new functionality.

    **2. Full:** It replaces all existing code and allows you to write the command from scratch.

    You can also create a new command, just choice the "Custom" option at the prompt when it ask you for for the command you want to overwrite, then respond to the questions, now a new command should have been created in the custom path, by default only a task is added to cleans the Drupal cache, but from this file, you can add your custom tasks.
- `platform:uli`: This command allows you to generate a one-time login URL for any environment hosted on Pantheon, Acquia, or Platform.sh.

    Alias: `puli`

Configuration
-------------

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

[](#configuration-variables)

- `local_environment` : **Optional setting**, the system will automatically detected your local env, currently available: ddev, lando.
- `local_fe_theme_name`: **Optional setting**, the system will try to automatically get your theme, but you can always specify the theme you require to use.
- `local_theme_build_script`: NPM script you are using to build your theme.
- `remote_platform`: Your Sites Remote platform. Currently available: pantheon, acquia
- `remote_sitename`: Remote plaform Sites machine name.
- `remote_canonical_env`: Remote platform canonical env (The env to pull files and database from).

Development
===========

[](#development)

- Install the FIRE package from the source.

```
composer require fourkitchens/fire --dev --prefer-install=source

```

If you already have FIRE installed into your project please first uninstalled it and then try the command up top again.

Passing Arguments wrapped commands (i.e drush)
----------------------------------------------

[](#passing-arguments-wrapped-commands-ie-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
-------------

[](#dev-backgroud)

We are using [Robo](https://robo.li/) as Framework to develop this tool.

- Commmands examples:
- Robo as Framework Documentation:

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance90

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 62.2% 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 ~52 days

Recently: every ~86 days

Total

19

Last Release

52d ago

Major Versions

1.0.0 → 2.0.12023-08-30

1.0.1 → 2.0.22024-02-09

1.x-dev → 2.0.32024-06-15

2.0.9 → 3.0.02025-02-04

2.x-dev → 3.0.12025-06-09

### Community

Maintainers

![](https://www.gravatar.com/avatar/c0e61c319d853fdc35670358f4d441cfc1167a8e0fbce4f075ca707c916a3fe8?d=identicon)[fourkitchens](/maintainers/fourkitchens)

---

Top Contributors

[![rigoucr](https://avatars.githubusercontent.com/u/2217827?v=4)](https://github.com/rigoucr "rigoucr (148 commits)")[![edwtorba](https://avatars.githubusercontent.com/u/2343393?v=4)](https://github.com/edwtorba "edwtorba (61 commits)")[![dalin-](https://avatars.githubusercontent.com/u/1127349?v=4)](https://github.com/dalin- "dalin- (16 commits)")[![Yuvania](https://avatars.githubusercontent.com/u/48867897?v=4)](https://github.com/Yuvania "Yuvania (6 commits)")[![unklCharlos](https://avatars.githubusercontent.com/u/42010204?v=4)](https://github.com/unklCharlos "unklCharlos (4 commits)")[![laura-johnson](https://avatars.githubusercontent.com/u/1652730?v=4)](https://github.com/laura-johnson "laura-johnson (1 commits)")[![hkorik](https://avatars.githubusercontent.com/u/4753855?v=4)](https://github.com/hkorik "hkorik (1 commits)")[![generalredneck](https://avatars.githubusercontent.com/u/526491?v=4)](https://github.com/generalredneck "generalredneck (1 commits)")

### Embed Badge

![Health badge](/badges/fourkitchens-fire/health.svg)

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

###  Alternatives

[ec-europa/toolkit

Toolkit packaged for Drupal projects based on Robo.

38244.6k16](/packages/ec-europa-toolkit)[globalis/robo-task

Robo task common collection

1225.4k2](/packages/globalis-robo-task)

PHPackages © 2026

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