From ebc0142a00007e03f4fc7c1f4cfdd9967c22d5aa Mon Sep 17 00:00:00 2001 From: Peter Schilling Date: Mon, 23 Sep 2024 19:45:42 -0700 Subject: [PATCH] chore: Update README --- README.md | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 0703714..925089a 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,60 @@ # envset -`envset` is a CLI for setting environment variables in .env files. this is something you may have never considered needing a specialized tool for. and you don't. but just like updating a git config it's just more fun doing it with a command. +`envset` is a CLI for setting environment variables in .env files. + +this is something you may have never considered needing a specialized tool for. +and you don't. +but just like updating a git config it's more fun with a command. ## installation -available on homebrew and cargo: +currently available on homebrew and [crates.io](https://crates.io/crates/envset) ```bash brew install schpet/tap/envset ``` + ```bash cargo install envset ``` ## usage -### set variables +### set vars ```bash -# basic usage +# basic usage, FYI that it prints a diff of the changes to stdout envset KEY1=value1 KEY2=value2 +# some env vars are normally very annoying to set, like json or multiline strings. +# but envset has your back! +envset JSON="$(cat credentials.json)" PRIVATE_KEY="$(openssl genrsa -out /dev/stdout 2048)" + # pipe in stdin, useful for copying stuff from one env to another echo -e "KEY1=value1\nKEY2=value2" | envset -# .env in the cwd is default, but you can use a different path -envset --file .env.test KEY1=value1 +# heroku users can easily copy parts of their config +heroku config -s | grep "^AWS_" | envset -# avoid clobbering existing values -envset --no-overwrite KEY1=newvalue1 +# override the default path to a .env file +envset -f .env.test KEY1=value1 ``` -### get variables +### read vars ```bash -# print all key value pairs +# a few ways to print the current .env envset +envset print --json -# print a single value +# grab a single value envset get KEY1 -# print all keys +# keys only, thanks envset keys ``` -### delete variables +### delete vars ```bash envset delete KEY1 KEY2 @@ -52,4 +62,5 @@ envset delete KEY1 KEY2 ## about -this cli was thrown together quickly with [aider](https://aider.chat/), i also put up [a blog post](https://schpet.com/linklog/envset-updates-env-files) explaining why i made this. +this cli was thrown together quickly with [aider](https://aider.chat/), +i also put up [a blog post](https://schpet.com/linklog/envset-updates-env-files) explaining why i made this.