{"_id":"@ankastudio/envar","_rev":"6-86a170a798be6f66eb0418f1124a1617","name":"@ankastudio/envar","dist-tags":{"latest":"0.3.2"},"versions":{"0.1.0":{"name":"@ankastudio/envar","version":"0.1.0","keywords":["cloudflare","env","secrets","gleam"],"author":"","license":"MIT","_id":"@ankastudio/envar@0.1.0","maintainers":[{"name":"wailinaung","email":"wailin.me@icloud.com"}],"bin":{"envar":"bin/envar.js"},"dist":{"shasum":"e67cfa5e0db088cdcda0fa8d22562ef016ccf6a5","tarball":"https://registry.npmjs.org/@ankastudio/envar/-/envar-0.1.0.tgz","fileCount":236,"integrity":"sha512-fnqPEyYkSx5Nx24R4y6gFQ2EB6pJZtK7dRFZvIMOajgJehFfpAIPl/9XtyqmdDpYLmvqRS5KPk+BhR9wK12Tyg==","signatures":[{"sig":"MEYCIQD0mmzuC9nSJbRUkIhhDZyomxdOeiwJtlL4LRnqbNBwhAIhAKle2rFJHWPGvROzWfvfTE4aYKnNoXf5p6ae0F4fn54F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2658164},"engines":{"node":">=18.0.0"},"gitHead":"1db0b9fcca9dff54a2bc40e2cf633dd076c817d4","scripts":{"build":"gleam build --target javascript && rm -rf lib && cp -r build/dev/javascript lib","prepublishOnly":"npm run build"},"_npmUser":{"name":"wailinaung","email":"wailin.me@icloud.com"},"_npmVersion":"11.16.0","description":"Encrypted environment variable manager for Cloudflare Workers","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envar_0.1.0_1782657152394_0.41628639604117335","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ankastudio/envar","version":"0.2.0","keywords":["cloudflare","env","secrets","gleam"],"author":"","license":"MIT","_id":"@ankastudio/envar@0.2.0","maintainers":[{"name":"wailinaung","email":"wailin.me@icloud.com"}],"bin":{"envar":"bin/envar.js"},"dist":{"shasum":"d53cbf2742f53aad5d20ba8eaf059eb35e96cf78","tarball":"https://registry.npmjs.org/@ankastudio/envar/-/envar-0.2.0.tgz","fileCount":236,"integrity":"sha512-gH4bsKrXTz5EXyYXyw/NPGq+lPbvpXOaKphcy2URetE1MJLW4lsVto16S7MCbgDUDSrMPrOWr2Ecwqhq0zmLUQ==","signatures":[{"sig":"MEQCIATiFbkr+WwsDrfZSiMvwV/yrporNBz6QJ90G9yYx8JqAiAb2W4Ovna+tAKoDrEqDtjj3ov6bV+/hiA14SO3WDuKCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2666235},"engines":{"node":">=18.0.0"},"gitHead":"cf7fa108c88fcc0e84ac5e629c97977e6c4c9900","scripts":{"build":"gleam build --target javascript && rm -rf lib && cp -r build/dev/javascript lib","prepublishOnly":"npm run build"},"_npmUser":{"name":"wailinaung","email":"wailin.me@icloud.com"},"_npmVersion":"11.16.0","description":"Encrypted environment variable manager for Cloudflare Workers","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envar_0.2.0_1782658908736_0.6091308390058843","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ankastudio/envar","version":"0.2.1","keywords":["cloudflare","env","secrets","gleam"],"author":"","license":"MIT","_id":"@ankastudio/envar@0.2.1","maintainers":[{"name":"wailinaung","email":"wailin.me@icloud.com"}],"bin":{"envar":"bin/envar.mjs"},"dist":{"shasum":"b050687b4174da10bebe06d4272921de3575d41a","tarball":"https://registry.npmjs.org/@ankastudio/envar/-/envar-0.2.1.tgz","fileCount":236,"integrity":"sha512-F7LChImgVZAKUtOQTrw55l5ggl70lX8XsOfxorF7ZDypLgJq9DKuvQcasljkvyUcH/8lM/1CgbSznTcingpbjA==","signatures":[{"sig":"MEUCIAOz5daBQria1OVdNt1GkqfBQuVb1j2Jo9xtvUgURpXiAiEAyC4kIGKIZ7j0xCjyij1CRf5X3+zSKRYi5uqKnUynhKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2665420},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"cf7fa108c88fcc0e84ac5e629c97977e6c4c9900","scripts":{"build":"gleam build --target javascript && rm -rf lib && cp -r build/dev/javascript lib","prepublishOnly":"npm run build"},"_npmUser":{"name":"wailinaung","email":"wailin.me@icloud.com"},"_npmVersion":"11.16.0","description":"Encrypted environment variable manager for Cloudflare Workers","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envar_0.2.1_1782705963721_0.07229871432809887","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ankastudio/envar","version":"0.3.0","keywords":["cloudflare","env","secrets","gleam"],"author":"","license":"MIT","_id":"@ankastudio/envar@0.3.0","maintainers":[{"name":"wailinaung","email":"wailin.me@icloud.com"}],"bin":{"envar":"bin/envar.mjs"},"dist":{"shasum":"ead223527eba600cfc6dd8c83d822f9a2a3e2775","tarball":"https://registry.npmjs.org/@ankastudio/envar/-/envar-0.3.0.tgz","fileCount":236,"integrity":"sha512-BdD+p8vuJS0DkDPaqOTsv6dKUfsRphLE/zw2V/lbC4O6BOr34lybKJFVpLSVNS758MPtO3KcZRtNmz4xOI42Ig==","signatures":[{"sig":"MEUCIHl4EI60+CUGWR+LqHi2fvjzgc3FYPw7BfV/ZuG19wnnAiEAjS6A4feDlhYFjflDZ9OGEv/KJZ7dfCtjiS/OWWSXxok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2666828},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"b2826f0128db118ece4e55e1b29a8255af1b8106","scripts":{"build":"gleam build --target javascript && rm -rf lib && cp -r build/dev/javascript lib","prepublishOnly":"npm run build"},"_npmUser":{"name":"wailinaung","email":"wailin.me@icloud.com"},"_npmVersion":"11.16.0","description":"Encrypted environment variable manager for Cloudflare Workers","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envar_0.3.0_1782708104062_0.25973193045284204","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@ankastudio/envar","version":"0.3.1","keywords":["cloudflare","env","secrets","gleam"],"author":"","license":"MIT","_id":"@ankastudio/envar@0.3.1","maintainers":[{"name":"wailinaung","email":"wailin.me@icloud.com"}],"bin":{"envar":"bin/envar.mjs"},"dist":{"shasum":"298d1c9599cbdb3defc51e0b63daf5e35397a609","tarball":"https://registry.npmjs.org/@ankastudio/envar/-/envar-0.3.1.tgz","fileCount":236,"integrity":"sha512-3gt2uZ+APSvpOGB3eeBlR7Xq1HoM8OlPYlJF0OiIG76q97WuV+krhk8iml3JZEqIBV9tAbHRlVp/DpATPS9CcA==","signatures":[{"sig":"MEYCIQDlAfNZ6V4IGmSjLp45OSiqT93m/dg9ZHwo0iGtfKITjgIhAKeV9WI+IKC4DER6Cc76fxl5qQi+uiKHpC0tVvOre7pA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2666847},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"bad5d9ffd406f5779282cb74817ca6cb4e5ada89","scripts":{"build":"gleam build --target javascript && rm -rf lib && cp -r build/dev/javascript lib","prepublishOnly":"npm run build"},"_npmUser":{"name":"wailinaung","email":"wailin.me@icloud.com"},"_npmVersion":"11.16.0","description":"Encrypted environment variable manager for Cloudflare Workers","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envar_0.3.1_1782708976087_0.1846238069766477","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@ankastudio/envar","version":"0.3.2","description":"Encrypted environment variable manager for Cloudflare Workers","type":"module","bin":{"envar":"bin/envar.mjs"},"scripts":{"build":"gleam build --target javascript && rm -rf lib && cp -r build/dev/javascript lib","prepublishOnly":"npm run build"},"keywords":["cloudflare","env","secrets","gleam"],"author":"","license":"MIT","engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"gitHead":"94332a1aa3038c98402a70a0f4c00abf0d9b3f91","_id":"@ankastudio/envar@0.3.2","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-H1Rfrj18ineJVzspM4yVtk72dQ/fEZ/Vn4fdLUzQWfFp/2aN/2A1gKpYSzW9am2/JrYzm+20VnEF5J72A4HNoQ==","shasum":"b45a7c45960cc9f3946b9001b1e59cd64cd15d90","tarball":"https://registry.npmjs.org/@ankastudio/envar/-/envar-0.3.2.tgz","fileCount":236,"unpackedSize":2667029,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGwmKR11V6H3KMe/HqSAgkoROkpD74lf0AtKasX5NZ+0AiAcQ3EYEDgzsBzVvt2Wjk8XvQNJmABNgt8dYUoI/+epWw=="}]},"_npmUser":{"name":"wailinaung","email":"wailin.me@icloud.com"},"directories":{},"maintainers":[{"name":"wailinaung","email":"wailin.me@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/envar_0.3.2_1782710421038_0.12907793927981048"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T14:32:32.282Z","modified":"2026-06-29T05:20:21.334Z","0.1.0":"2026-06-28T14:32:32.568Z","0.2.0":"2026-06-28T15:01:48.954Z","0.2.1":"2026-06-29T04:06:03.870Z","0.3.0":"2026-06-29T04:41:44.234Z","0.3.1":"2026-06-29T04:56:16.253Z","0.3.2":"2026-06-29T05:20:21.177Z"},"license":"MIT","keywords":["cloudflare","env","secrets","gleam"],"description":"Encrypted environment variable manager for Cloudflare Workers","maintainers":[{"name":"wailinaung","email":"wailin.me@icloud.com"}],"readme":"# @ankastudio/envar\n\nEncrypted environment variable manager for Cloudflare Workers.\n\n## Installation\n\n```bash\nnpm install -g @ankastudio/envar\n```\n\n## Quick Start\n\n```bash\n# 1. Create a project (requires master key)\nenvar --api-url=https://your-worker.workers.dev \\\n     --master-key=your-master-key \\\n     project create myproject\n\n# 2. Create an environment\nenvar --api-url=https://your-worker.workers.dev \\\n     --api-key=sk_xxx \\\n     --prj=myproject \\\n     env create uat\n\n# 3. Set secrets (encrypted client-side)\nenvar --api-url=https://your-worker.workers.dev \\\n     --api-key=sk_xxx \\\n     --enc-key=your-encryption-key \\\n     --prj=myproject \\\n     --env=uat \\\n     set DB_URL=postgres://localhost/mydb \\\n         API_KEY=abc123\n\n# 4. Run command with secrets as env vars\nenvar --api-url=https://your-worker.workers.dev \\\n     --api-key=sk_xxx \\\n     --enc-key=your-encryption-key \\\n     --prj=myproject \\\n     --env=uat \\\n     run -- npm run deploy:uat\n\n# 5. Or write a .env file\nenvar --api-url=https://your-worker.workers.dev \\\n     --api-key=sk_xxx \\\n     --enc-key=your-encryption-key \\\n     --prj=myproject \\\n     --env=uat \\\n     --as=.env\n```\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `envar project create <name>` | Create a new project |\n| `envar env create <name>` | Create a new environment |\n| `envar set KEY=VALUE` | Set a secret (encrypted) |\n| `envar get KEY` | Get a secret (decrypted) |\n| `envar run -- <command>` | Run command with secrets as env vars |\n| `envar --as=.env` | Write secrets to .env file |\n\n## Global Options\n\n| Option | Env Var | Description |\n|--------|---------|-------------|\n| `--api-url` | `ENVAR_API_URL` | Server URL (required) |\n| `--api-key` | `ENVAR_API_KEY` | Project API key |\n| `--master-key` | `ENVAR_MASTER_KEY` | Master key (for project creation) |\n| `--enc-key` | `ENVAR_ENCRYPTION_KEY` | Encryption key |\n| `--prj` | `ENVAR_PROJECT` | Project name |\n| `--env` | `ENVAR_ENV` | Environment name |\n| `--as` | — | Write to .env file instead of running |\n\n## Configuration\n\nYou can set defaults in `~/.config/envar/config.toml`:\n\n```toml\n[default]\napi_url = \"https://your-worker.workers.dev\"\nmaster_key = \"your-master-key\"\napi_key = \"sk_xxx\"\nencryption_key = \"your-encryption-key\"\n```\n\nOr use environment variables:\n\n```bash\nexport ENVAR_API_URL=\"https://your-worker.workers.dev\"\nexport ENVAR_API_KEY=\"sk_xxx\"\nexport ENVAR_MASTER_KEY=\"your-master-key\"\nexport ENVAR_ENCRYPTION_KEY=\"your-encryption-key\"\n```\n\n**Priority order:** flag > environment variable > config file\n\n## CI/CD Usage\n\n```yaml\n# GitLab CI example\ndeploy:\n  script:\n    - npm install -g @ankastudio/envar\n    - envar --prj=myproject --env=prod run -- npm run deploy\n  variables:\n    ENVAR_API_URL: $ENVAR_API_URL\n    ENVAR_API_KEY: $ENVAR_API_KEY\n    ENVAR_ENCRYPTION_KEY: $ENVAR_ENCRYPTION_KEY\n```\n\n## Security\n\n- Secrets are encrypted client-side with ChaCha20-Poly1305\n- Server never sees plaintext secrets\n- Each project has its own API key\n- Master key is required for project creation only\n","readmeFilename":"README.md"}