@thisisamank/noenv-cli 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +57 -2
  2. package/dist/noenv.js +2062 -0
  3. package/package.json +41 -4
package/README.md CHANGED
@@ -1,3 +1,58 @@
1
- # Temporary Holding Version
1
+ # @thisisamank/noenv-cli
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ The command-line client for [noenv](https://github.com/thisisamank/noenv): encrypted environment variables that load when you `cd` into a repo, and unload when you leave.
4
+
5
+ ![A teammate saves a new secret version in the dashboard, and the terminal picks it up at the next prompt](https://raw.githubusercontent.com/thisisamank/noenv/main/docs/demo.gif)
6
+
7
+ [Website](https://noenv.thisisamank.in) · [40-second demo](https://noenv.thisisamank.in/assets/tour.mp4)
8
+
9
+ ```console
10
+ $ cd ~/code/backend
11
+ noenv: loaded 12 secrets for github.com/acme/backend (development)
12
+ $ npm run dev # your app sees DATABASE_URL, STRIPE_KEY, …
13
+ $ cd .. # and they are gone again
14
+ ```
15
+
16
+ You need a noenv server. It runs on your own Cloudflare account; see [deploy noenv](https://github.com/thisisamank/noenv#get-started).
17
+
18
+ ## Install
19
+
20
+ ```sh
21
+ npm install -g @thisisamank/noenv-cli
22
+ ```
23
+
24
+ Requires Node.js 22 or newer.
25
+
26
+ ## Connect your shell
27
+
28
+ Add these lines to `~/.zshrc` or `~/.bashrc`, using your server's URL:
29
+
30
+ ```sh
31
+ export NOENV_URL="https://<your-worker>.workers.dev"
32
+ eval "$(noenv shell zsh)" # or: noenv shell bash
33
+ ```
34
+
35
+ Open a new terminal and `cd` into a git repo. The first time, your browser opens so you can approve the terminal with your passkey.
36
+
37
+ ## Commands
38
+
39
+ | Command | What it does |
40
+ |---|---|
41
+ | `noenv status` | Show the server, your account, and the current project |
42
+ | `noenv init` | Create a project for this repo and its first environment |
43
+ | `noenv secret set KEY` | Save a secret (the value is read without echo) |
44
+ | `noenv secret list` | List the secrets in this environment |
45
+ | `noenv secret history KEY` | List the versions of a secret |
46
+ | `noenv secret rollback KEY VERSION` | Restore an older version |
47
+ | `noenv migrate` | Move this repo's `.env` files into noenv |
48
+ | `noenv grant EMAIL ROLE` | Give someone access and share the key |
49
+ | `noenv revoke EMAIL` | Remove someone from this project |
50
+ | `noenv auth` | Sign in again |
51
+
52
+ The repo's git `origin` decides the project. The environment is `development` unless a `.noenv` file in the repo sets `environment = "staging"`, or you set `NOENV_ENVIRONMENT=staging` for one shell.
53
+
54
+ Changes made anywhere (this terminal, the dashboard, or a teammate) load at your next prompt.
55
+
56
+ ## Security
57
+
58
+ Values are encrypted and decrypted on your machine. Your key lives in `~/.config/noenv`. The server stores only ciphertext.