Skip to content
Administration tool for development and devops, according to the 12factor principles as applied by @grrr-amsterdam.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status Greenkeeper badge Dependencies

Administration tool for development and devops, according to the 12factor principles as applied by Grrr


$ npm install -g 12g


Display help

$ 12g -h [command] [subcommand]


Create a template .env file

$ 12g env template

This will create a copy of your local .env file, named .env.template, with all values emptied.

Get variable from a .env file

$ 12g env get -e [target environment name] --var=DB_HOST

This will print the value from the environment variable set in the .env file on the target. Will return undefined if the variable is not set.

List variables from a .env file

$ 12g env list -e [target environment name]

This will list the variables from the .env file on the target, without quotes or comments. Target environment is probably development, staging, production, etcetera, depending on your setup.

If the targeted environment is remote, an SSH connection will be attempted, if Capistrano configuration can be found.


Default the values will be pretty-printed, but listing in JSON is also possible:

$ 12g env list -e [target environment name] -o json

-o or --output sets the output format.

Current environment

$ 12g env name

This will print out the name of the current environment.

Docker shortcut

Use 12g dock [command] to execute a Docker command directly on your Docker Compose webserver. It has to be running and it will have to adhere to the naming standards as we use them at @grrr-amsterdam, which is basically calling your httpd service 'web'.


$ 12g dock bash
$ 12g dock g spawn
$ 12g dock g snippet create


You can use shorthand syntax in the provided argument for common environment names:

  • p becomes production
  • s becomes staging
  • i becomes integration
  • d becomes development
  • t becomes testing

For instance:

$ 12g env list -e s

To list the environment for staging.

You can’t perform that action at this time.