@thisisamank/noenv-cli 0.0.0-stage → 0.2.0

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,31 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0 — 2026-11-13
4
+
5
+ Coding agents and CI get their secrets with one command, secrets push to Cloudflare Workers, one CLI works with several teams, and `cd` is fast again.
6
+
7
+ ### Added
8
+
9
+ - `noenv exec -- CMD` runs a command with the secrets of the repository in the current directory. It is for coding agents, scripts, and CI, where the `cd` hook does not run. It removes secrets that your shell loaded for another repository first.
10
+ - `noenv wrangler [KEY...]` pushes secrets to your Worker with `wrangler secret bulk`. Without keys, it shows a list to pick from.
11
+ - A `[wrangler]` section in `.noenv` pushes the listed keys after each `secret set` and `secret rollback`.
12
+ - `noenv account add NAME URL [PREFIX...]` saves a deployment as a named account. Repositories under a prefix such as `github.com/acme` use it.
13
+ - `noenv account list`, `account default`, and `account remove`.
14
+ - `noenv auth NAME` signs in to one account.
15
+ - When you `cd` from a repository of one account to a repository of another, noenv unloads the first set of secrets and loads the second.
16
+
17
+ ### Changed
18
+
19
+ - A `cd` decrypts the last bundle on your machine and makes no network request. Before, each `cd` into a repository waited about one second for the Worker. A background refresh loads newer values when they arrive. zsh prints the result as soon as it lands. bash prints it at the next prompt.
20
+ - The shell hook does not start noenv when you `cd` inside the same repository or between directories outside a repository.
21
+ - `noenv init` creates a `.noenv` file. Commit it, so access problems show as messages instead of silence.
22
+
23
+ ## 0.1.1 — 2026-11-01
24
+
25
+ ### Added
26
+
27
+ - The CLI is on npm as `@thisisamank/noenv-cli`. The command stays `noenv`.
28
+
29
+ ### Changed
30
+
31
+ - nenv is now noenv.
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.