Skip to content

Commit

Permalink
chore: Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
schpet committed Sep 24, 2024
1 parent 5fd4815 commit 39af1f5
Showing 1 changed file with 25 additions and 14 deletions.
39 changes: 25 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,66 @@
# 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 [cargo](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 things are normally very annoying to add, 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
```

## 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.

0 comments on commit 39af1f5

Please sign in to comment.