Push and pull your Heroku configs to your local environment.
⚠️ Disclaimer ⚠️
Running this code has the potential to delete your configurations if misused.
-o flag will overwrite values at the destination. Only use that if the source has more up to date info and you're feeling brave. Otherwise, this merges configs and is fairly safe. Just thought you should know.
-c flag will delete values that didn't exist locally when you pushed. Only use it if you know that.
You can install the package by running
% heroku plugins:install heroku-config
This package includes two commands:
heroku config:pull: Writes the contents of
heroku configinto a local file
heroku config:push: Writes the contents of a local file into
As of version 1.6.0, the
heroku-config supports modifying pipeline config variables with the
heroku help config:pull and
heroku help config:push to see a full list of flags.
There's a lot of flexibility when it comes to how you can format your file. Key capitalization can go either way and there can be spacing around the
= on one, both, or neither side. There can also be a leading
export if you want to use the same file to populate your local environment. Since Heroku runs on linux, variable names must conform to those valid in unix. If you want to use unsupported characters in your var names, run commands with the
-e flag. There's also support both unix and windows-style newlines (though only one type per file).
Multiline variables are fine as long as they're surrounded by
All of the following are valid lines:
#comment NODE_ENV= test source =local job = programming DB_STRING=mongo://firstname.lastname@example.org:4567 export THING=3 multiline="this can have as many lines # comments are still ignored as it wants"
The following are all invalid lines:
# comment with leading space bad_key=nono key with-dash=andspace multiline='bad because it uses single quotes'
After cloning, follow these instructions to run locally! I welcome pull requests with fixes or new features.