{"_id":"@chengyixu/dotenv-vault-cli","name":"@chengyixu/dotenv-vault-cli","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@chengyixu/dotenv-vault-cli","version":"1.0.0","description":"Encrypted .env file management for teams. Encrypt, decrypt, diff, audit, and share .env files safely.","main":"dist/index.js","bin":{"dotenv-vault":"dist/index.js"},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["dotenv","vault","encrypt","decrypt","env","environment","secrets","security","teams","cli"],"author":{"name":"chengyixu"},"license":"MIT","engines":{"node":">=16.0.0"},"devDependencies":{"@types/node":"^25.5.0","typescript":"^5.9.3"},"types":"./dist/index.d.ts","_id":"@chengyixu/dotenv-vault-cli@1.0.0","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-3URZvAbqKN5eNj1bDAli8VX+pQszs0up6wBwDDliFTZed/NVfCCV83tysuOBQgjotswWT9+u9P9DhuRwtVItEg==","shasum":"77962c8c5d8e94f6d592df763d5ab4cb430df39f","tarball":"https://registry.npmjs.org/@chengyixu/dotenv-vault-cli/-/dotenv-vault-cli-1.0.0.tgz","fileCount":22,"unpackedSize":67116,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD2Ze6mjiXk36uFzuRCOfjgTqLT72djsf+TpDtqYoG84QIhANUILNPk1os3OrqWb6W6Qvb3ULeeGN9oHHNxDmoXVZrH"}]},"_npmUser":{"name":"chengyixu","email":"Chengyi_xu@outlook.com"},"directories":{},"maintainers":[{"name":"chengyixu","email":"Chengyi_xu@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dotenv-vault-cli_1.0.0_1773982628235_0.5902089562037209"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T04:57:08.182Z","1.0.0":"2026-03-20T04:57:08.396Z","modified":"2026-03-20T04:57:08.567Z"},"maintainers":[{"name":"chengyixu","email":"Chengyi_xu@outlook.com"}],"description":"Encrypted .env file management for teams. Encrypt, decrypt, diff, audit, and share .env files safely.","keywords":["dotenv","vault","encrypt","decrypt","env","environment","secrets","security","teams","cli"],"author":{"name":"chengyixu"},"license":"MIT","readme":"# dotenv-vault-cli\n\nEncrypted `.env` file management for teams. Encrypt, decrypt, diff, audit, and share environment files safely.\n\n## Install\n\n```bash\nnpm install -g dotenv-vault-cli\n```\n\n## Quick Start\n\n```bash\n# Generate an encryption key\ndotenv-vault keygen\n\n# Encrypt your .env file (safe to commit .env.vault to git)\ndotenv-vault encrypt .env --key <your-key>\n\n# Decrypt it back\ndotenv-vault decrypt .env.vault --key <your-key>\n```\n\n## Commands\n\n### `keygen` — Generate encryption key\n\n```bash\ndotenv-vault keygen\n```\n\nGenerates a 256-bit hex key for AES-256-GCM encryption.\n\n### `encrypt` — Encrypt a .env file\n\n```bash\ndotenv-vault encrypt .env --key <key>\ndotenv-vault encrypt .env.production --key <key> --out .env.vault.production\n```\n\nCreates an encrypted `.env.vault` file that is safe to commit to git.\n\n### `decrypt` — Decrypt a vault file\n\n```bash\ndotenv-vault decrypt .env.vault --key <key>\ndotenv-vault decrypt .env.vault --key <key> --out .env\n```\n\n### `diff` — Compare two encrypted vault files\n\n```bash\ndotenv-vault diff .env.vault.staging .env.vault.prod --key <key>\n```\n\nShows added, removed, and changed variables between two encrypted environments.\n\n### `rotate` — Rotate encryption key\n\n```bash\ndotenv-vault rotate .env.vault --key <old-key>\ndotenv-vault rotate .env.vault --key <old-key> --new-key <new-key>\n```\n\nRe-encrypts a vault file with a new key. Generates a new key if `--new-key` is not provided.\n\n### `audit` — Security audit\n\n```bash\ndotenv-vault audit .env\n```\n\nChecks for:\n- Weak values (password, admin, 123456, etc.)\n- Empty sensitive keys\n- Duplicate keys\n- Short passwords\n- Production keys pointing to localhost\n\n### `export` — Convert .env format\n\n```bash\ndotenv-vault export .env --format json\ndotenv-vault export .env --format yaml\ndotenv-vault export .env --format shell\ndotenv-vault export .env --format json --out config.json\n```\n\n### `validate` — Validate against schema\n\n```bash\ndotenv-vault validate .env --schema .env.schema\n```\n\nSchema format (`.env.schema`):\n\n```\nDATABASE_URL=required,type:url\nAPI_KEY=required,minLength:10\nPORT=required,type:number\nDEBUG=type:boolean\nNODE_ENV=required,enum:development|staging|production\n```\n\nSupported types: `string`, `number`, `boolean`, `url`, `email`\n\n## Key Management\n\nThe encryption key is resolved in this order:\n\n1. `--key` flag\n2. `DOTENV_VAULT_KEY` environment variable\n3. `.env.key` file in current directory\n\n**Never commit your `.env.key` file.** Add it to `.gitignore`.\n\n## Security\n\n- **Algorithm:** AES-256-GCM (authenticated encryption)\n- **Key derivation:** PBKDF2 with SHA-512, 100,000 iterations\n- **Random salt and IV** per encryption operation\n- **Authentication tag** prevents tampering\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-99644dacaae20d8b08410d9925f66f0a"}