{"_id":"@anguriatech/envy","_rev":"12-d5be95b5cd0a82a7c9892f2fb5395197","name":"@anguriatech/envy","dist-tags":{"latest":"0.5.1"},"versions":{"0.2.2":{"name":"@anguriatech/envy","version":"0.2.2","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.2.2","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"3359ef2cad8b7d7576773213e13a902e4428f158","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.2.2.tgz","fileCount":10,"integrity":"sha512-KVlKM8n/hY5dYl4R9zKPAyZ+BcJuQlg0OX3MYyvtHBBiSSFF94fm2Ia3z5CfjpQ/cUo9nye4syN0Dhr66Cg3xw==","signatures":[{"sig":"MEYCIQDoi7PA0wQ8MCfgAiG6WQ/zX7Zv0ZweWEly61KFCQgDNwIhAM6rs2x8H9z42yVKbiSyVlfQ0IXsuX2s2hW1uuqotLvw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47687},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-KVlKM8n/hY5dYl4R9zKPAyZ+BcJuQlg0OX3MYyvtHBBiSSFF94fm2Ia3z5CfjpQ/cUo9nye4syN0Dhr66Cg3xw==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.1","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.2.2"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.2.2_1775143061130_0.020581389073549783","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@anguriatech/envy","version":"0.2.3","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.2.3","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"93df2fc4b40f6435633859d1235bf00642b9bb86","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.2.3.tgz","fileCount":10,"integrity":"sha512-3SfQM6gSPZjKYDrW+jdyvx3koI/t0Az6UUb16/5sAEJC0XUpqRklcuxnbvq4oQyDs0q/iyBHJLeDfQw8rhTZDg==","signatures":[{"sig":"MEUCICtaIiasvG0poaIB78KSRi50dVBe4BXZAe1+mUGbzh2jAiEA3ryi+Q03Ss0snxVAWIf8Bd1sGDDgCcT+rvBla48TWHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47988},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-3SfQM6gSPZjKYDrW+jdyvx3koI/t0Az6UUb16/5sAEJC0XUpqRklcuxnbvq4oQyDs0q/iyBHJLeDfQw8rhTZDg==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.2.3"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.2.3_1775581978021_0.9897024048321152","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@anguriatech/envy","version":"0.2.4","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.2.4","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"bcab025d23276e3984c0359c42e9bbfea653b744","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.2.4.tgz","fileCount":10,"integrity":"sha512-jsF9o2l3DkCdKudVXYOuRFi9cCzhJQ9DFUivFUF/7/Fo0j2VNMBoYXnPUrJ9zKi6rzUxooWeKRJURnEAzSMbGg==","signatures":[{"sig":"MEUCIQDo1wWzQ7bchUBh+axNGxjuQ7bDiVujFkn0MsFJuTwVEQIgROFR+PuDUk4Sjkt+C3/ljYu+Jv+MCPablyAmuAXoN4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47988},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-jsF9o2l3DkCdKudVXYOuRFi9cCzhJQ9DFUivFUF/7/Fo0j2VNMBoYXnPUrJ9zKi6rzUxooWeKRJURnEAzSMbGg==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.2.4"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.2.4_1775583477220_0.5688508965609995","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@anguriatech/envy","version":"0.2.5","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.2.5","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"069a2fbf6ea84c6e028a563fd1f246049dd706d6","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.2.5.tgz","fileCount":10,"integrity":"sha512-qMnrjEjCyPlsNnHC0cMjUMT8fhMqQtkpLswi22LUXwDSD4WZIwbg5c9MedH6hahYvj0aCbhDZF1hXv49eHFg6g==","signatures":[{"sig":"MEYCIQDbjesCE8y9u3MpfhvCV7qE1HbGqB90PdhKFrG/hlHqqwIhAOc74GfCLbp2V9KUFAqirag/YD2sy4jVr27Grl72oJpF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47988},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-qMnrjEjCyPlsNnHC0cMjUMT8fhMqQtkpLswi22LUXwDSD4WZIwbg5c9MedH6hahYvj0aCbhDZF1hXv49eHFg6g==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.2.5"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.2.5_1775585915693_0.19312477669423056","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@anguriatech/envy","version":"0.2.6","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.2.6","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"69cbfd2cd5159f044b836557f3671d05a5ac7762","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.2.6.tgz","fileCount":10,"integrity":"sha512-xoLdukiL418zO1XBz5oaaZ1Xk2FJxKTctcGD7zSDmXBLNV7R3fSsjbR158H4DPCGJ4pEE0f9w3wgg1jMDgVWhw==","signatures":[{"sig":"MEUCIEDpQxHFrTwAN7fpnlrGpuIEDUSuznwMmLXOuawOpvggAiEAponDbvazKvt5oCvtJWAwSpyrDKBx8PYbEOnVmZ55iwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47988},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-xoLdukiL418zO1XBz5oaaZ1Xk2FJxKTctcGD7zSDmXBLNV7R3fSsjbR158H4DPCGJ4pEE0f9w3wgg1jMDgVWhw==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.2.6"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.2.6_1775588290452_0.19567606645577929","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@anguriatech/envy","version":"0.2.7","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.2.7","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"796acc333526c433b58f92c2267353f414b9d158","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.2.7.tgz","fileCount":10,"integrity":"sha512-aAUSQecKsUtj6QJOtr0vVkq2K8vZGvMPI7stJy+5h2d12HIu+H5vnJ0s/VsdJku/FYNJ3gMHjBUaxP3Hv3B09A==","signatures":[{"sig":"MEYCIQCC0zROibD8AWsMfbTSMaL+HZhjgKqYBD95IZ1VEUFV0gIhAKB7+Gt86ZtMU77nVEtK5IPwykrvVXe5TkIyv1cmQucT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47998},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-aAUSQecKsUtj6QJOtr0vVkq2K8vZGvMPI7stJy+5h2d12HIu+H5vnJ0s/VsdJku/FYNJ3gMHjBUaxP3Hv3B09A==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.2.7"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.2.7_1781024075790_0.8212430562487334","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@anguriatech/envy","version":"0.3.0","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.3.0","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"8ac4ac13a2a33efca598c1c3ee3bff07133b81d7","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.3.0.tgz","fileCount":10,"integrity":"sha512-lfLuBSJilLs2dPtse4j8ggSyrtRE16pO3t+etRmHYxDD1xHvr0T9e5qE+K8hEhaGLloO+mOCkweH+W2ibuJgPA==","signatures":[{"sig":"MEUCIQCA0EavEL6S+5xHxHOWLDgHVmjjmtSEUKxFMCyIh5pHEQIgKugZuapAd3zfYmnuRCcm74dgr1duPvj38YBrsECykhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49177},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-lfLuBSJilLs2dPtse4j8ggSyrtRE16pO3t+etRmHYxDD1xHvr0T9e5qE+K8hEhaGLloO+mOCkweH+W2ibuJgPA==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.3.0"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.3.0_1781191446083_0.7255092490489357","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@anguriatech/envy","version":"0.3.1","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.3.1","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"61f5df264015a2449b0a59d1a79b298568941b3b","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.3.1.tgz","fileCount":10,"integrity":"sha512-VAenIK8gQlr6xla2acP/gcKtFa34ndD0sB7uuPiU2f19SwxYsYT3IlsBlY3025+jtnK/5GlzHQM88AzJ7QH3dg==","signatures":[{"sig":"MEUCIQC+ViyKrPWTlmaNtpSMbq312WQODDoNtB/GmoreQInxmgIgDTrACDx4r9QTKsA8cdquuoZbMgwuKjpMNPx0g0c1oQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49841},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-VAenIK8gQlr6xla2acP/gcKtFa34ndD0sB7uuPiU2f19SwxYsYT3IlsBlY3025+jtnK/5GlzHQM88AzJ7QH3dg==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.3.1"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.3.1_1781634229530_0.5217697094585225","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@anguriatech/envy","version":"0.3.2","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.3.2","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"b08043632af901b8243d9574d52004b06c5b0a67","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.3.2.tgz","fileCount":10,"integrity":"sha512-mRIdplPR+MER500mK+1Aqgd8AcCuVWNb0vUkrtbPLx84fs/gYNIaOtMyTDH3kuQ7z5SbnNoXgXew/GFM7z1afw==","signatures":[{"sig":"MEUCIHNn+WKwp5UyzD1lJVMzfQIU4kQ4rzTfmnYHzUjIr0S7AiEAyLtXjIC4HdNE+YTivC7r+v954MVFwfyZps4/txTENVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50439},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-mRIdplPR+MER500mK+1Aqgd8AcCuVWNb0vUkrtbPLx84fs/gYNIaOtMyTDH3kuQ7z5SbnNoXgXew/GFM7z1afw==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.3.2"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.3.2_1781643216424_0.38478475090943176","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@anguriatech/envy","version":"0.4.0","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.4.0","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"c8764d5bc4efe7038113187fddadb5885b66359b","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.4.0.tgz","fileCount":10,"integrity":"sha512-L9AXcH+YLzEG5xNHYVikhvEdXb881K5ErU1BonruB6zrj2aUzZ6oTFrH6colavAPMNJ3FGlpCgPSTLMlZFqvRw==","signatures":[{"sig":"MEQCIFII3UUNR06U8JBBPOGPzQJXVHlWG0WrvyFV0d6+rBwKAiBuwGCnf1mu4KNq5pzY/PKxAidHYlHP8t3dthSezzX16A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54449},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-L9AXcH+YLzEG5xNHYVikhvEdXb881K5ErU1BonruB6zrj2aUzZ6oTFrH6colavAPMNJ3FGlpCgPSTLMlZFqvRw==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.4.0"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.4.0_1785347464300_0.38840304571173334","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@anguriatech/envy","version":"0.5.0","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"author":{"name":"Anguria Team"},"license":"MIT","_id":"@anguriatech/envy@0.5.0","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"homepage":"https://github.com/anguriatech/envy","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"bin":{"envy":"run-envy.js"},"dist":{"shasum":"621337bf484520f3c46e95585b80ebf21c1aa34a","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.5.0.tgz","fileCount":10,"integrity":"sha512-WjxiUHsOsYMFTz8NQwulgntYbK0iopgaSv1MCHLf9ZJ6Vfg/VWDfrHHIXQmPr+rBw+fptrreUUxKigdmMnvSsw==","signatures":[{"sig":"MEQCICkl9+ncDC8PzNcpxR349Cmb1TRsczMehFLS13bZQ1jAAiAGRC+w0q89zfN66c/gNGStlcO/MnDweUycYBZ3HdLvsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57873},"_from":"file:npm/envy-npm-package.tar.gz","volta":{"npm":"9.5.0","node":"18.14.1"},"engines":{"npm":">=6","node":">=14"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_integrity":"sha512-WjxiUHsOsYMFTz8NQwulgntYbK0iopgaSv1MCHLf9ZJ6Vfg/VWDfrHHIXQmPr+rBw+fptrreUUxKigdmMnvSsw==","repository":{"url":"git+https://github.com/anguriatech/envy.git","type":"git"},"_npmVersion":"10.8.2","description":"A secure, deterministic, and frictionless environment variable manager","directories":{},"_nodeVersion":"20.20.2","dependencies":{"axios":"^1.13.5","rimraf":"^6.1.3","detect-libc":"^2.1.2","console.table":"^0.10.0","axios-proxy-builder":"^0.1.2"},"glibcMinimum":{"major":2,"series":35},"_hasShrinkwrap":true,"devDependencies":{"prettier":"^3.8.1"},"preferUnplugged":true,"supportedPlatforms":{"x86_64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-apple-darwin.tar.xz"},"aarch64-apple-darwin":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-apple-darwin.tar.xz"},"x86_64-pc-windows-gnu":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"aarch64-pc-windows-msvc":{"bins":{"envy":"envy.exe"},"zipExt":".zip","artifactName":"envy-x86_64-pc-windows-msvc.zip"},"x86_64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz"},"aarch64-unknown-linux-gnu":{"bins":{"envy":"envy"},"zipExt":".tar.xz","artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz"}},"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.5.0"],"_npmOperationalInternal":{"tmp":"tmp/envy_0.5.0_1788446637289_0.6868599321497537","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"artifactDownloadUrls":["https://github.com/anguriatech/envy/releases/download/v0.5.1"],"author":{"name":"Anguria Team"},"bin":{"envy":"run-envy.js"},"dependencies":{"axios":"^1.13.5","axios-proxy-builder":"^0.1.2","console.table":"^0.10.0","detect-libc":"^2.1.2","rimraf":"^6.1.3"},"description":"A secure, deterministic, and frictionless environment variable manager","devDependencies":{"prettier":"^3.8.1"},"engines":{"node":">=14","npm":">=6"},"glibcMinimum":{"major":2,"series":35},"homepage":"https://github.com/anguriatech/envy","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"license":"MIT","name":"@anguriatech/envy","preferUnplugged":true,"repository":{"type":"git","url":"git+https://github.com/anguriatech/envy.git"},"scripts":{"fmt":"prettier --write **/*.js","fmt:check":"prettier --check **/*.js","postinstall":"node ./install.js"},"supportedPlatforms":{"aarch64-apple-darwin":{"artifactName":"envy-aarch64-apple-darwin.tar.xz","bins":{"envy":"envy"},"zipExt":".tar.xz"},"aarch64-pc-windows-msvc":{"artifactName":"envy-x86_64-pc-windows-msvc.zip","bins":{"envy":"envy.exe"},"zipExt":".zip"},"aarch64-unknown-linux-gnu":{"artifactName":"envy-aarch64-unknown-linux-gnu.tar.xz","bins":{"envy":"envy"},"zipExt":".tar.xz"},"x86_64-apple-darwin":{"artifactName":"envy-x86_64-apple-darwin.tar.xz","bins":{"envy":"envy"},"zipExt":".tar.xz"},"x86_64-pc-windows-gnu":{"artifactName":"envy-x86_64-pc-windows-msvc.zip","bins":{"envy":"envy.exe"},"zipExt":".zip"},"x86_64-pc-windows-msvc":{"artifactName":"envy-x86_64-pc-windows-msvc.zip","bins":{"envy":"envy.exe"},"zipExt":".zip"},"x86_64-unknown-linux-gnu":{"artifactName":"envy-x86_64-unknown-linux-gnu.tar.xz","bins":{"envy":"envy"},"zipExt":".tar.xz"}},"version":"0.5.1","volta":{"node":"18.14.1","npm":"9.5.0"},"_id":"@anguriatech/envy@0.5.1","bugs":{"url":"https://github.com/anguriatech/envy/issues"},"_integrity":"sha512-Uv7ex1vI83zogQ7Qjjo8puI2V4zkm4v8/Ub8Ml3R0jIer70EExaQKOxoMwjH9Zr/JMTOQYWvXorCGBo2uS4sRg==","_resolved":"/home/runner/work/envy/envy/npm/envy-npm-package.tar.gz","_from":"file:npm/envy-npm-package.tar.gz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Uv7ex1vI83zogQ7Qjjo8puI2V4zkm4v8/Ub8Ml3R0jIer70EExaQKOxoMwjH9Zr/JMTOQYWvXorCGBo2uS4sRg==","shasum":"02cafc32b90398f074ca70d34906ffa60acc385f","tarball":"https://registry.npmjs.org/@anguriatech/envy/-/envy-0.5.1.tgz","fileCount":10,"unpackedSize":58608,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDgJixiuv74PjzLpTzN7IIF6qdTQIWtuA28EdcLBnc80AiA1cXuQlp9f1JPqcJg6Qwz6spE9l26NuJ9BAkjkvgl3mQ=="}]},"_npmUser":{"name":"uriol-anguria","email":"oriol@anguria.tech"},"directories":{},"maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/envy_0.5.1_1788513482327_0.86179210932844"},"_hasShrinkwrap":true}},"time":{"created":"2026-04-02T15:17:41.025Z","modified":"2026-09-04T09:18:02.669Z","0.2.2":"2026-04-02T15:17:41.259Z","0.2.3":"2026-04-07T17:12:58.217Z","0.2.4":"2026-04-07T17:37:57.372Z","0.2.5":"2026-04-07T18:18:35.860Z","0.2.6":"2026-04-07T18:58:10.603Z","0.2.7":"2026-06-09T16:54:35.931Z","0.3.0":"2026-06-11T15:24:06.209Z","0.3.1":"2026-06-16T18:23:49.670Z","0.3.2":"2026-06-16T20:53:36.578Z","0.4.0":"2026-07-29T17:51:04.455Z","0.5.0":"2026-09-03T14:43:57.434Z","0.5.1":"2026-09-04T09:18:02.469Z"},"bugs":{"url":"https://github.com/anguriatech/envy/issues"},"author":{"name":"Anguria Team"},"license":"MIT","homepage":"https://github.com/anguriatech/envy","keywords":["command-line-utilities","cryptography","cli","env","secrets","security"],"repository":{"type":"git","url":"git+https://github.com/anguriatech/envy.git"},"description":"A secure, deterministic, and frictionless environment variable manager","maintainers":[{"name":"uriol-anguria","email":"oriol@anguria.tech"}],"readme":"<div align=\"center\">\n\n<!-- Replace with your logo -->\n<!-- <img src=\"docs/assets/logo.svg\" alt=\"Envy\" width=\"120\" /> -->\n\n# envy\n\n### Encrypted secrets, zero friction.\n\n**Local-first secret management for teams who take security seriously.**\nNo SaaS. No internet. No plaintext — ever.\n\n[![CI](https://github.com/anguriatech/envy/actions/workflows/ci.yml/badge.svg)](https://github.com/anguriatech/envy/actions/workflows/ci.yml)\n[![Latest Release](https://img.shields.io/github/v/release/anguriatech/envy)](https://github.com/anguriatech/envy/releases/latest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n```bash\nbrew install anguriatech/tap/envy\n```\n\n```bash\nnpm install -g @anguriatech/envy\n```\n\n</div>\n\n---\n\n<div align=\"center\">\n  <img src=\"docs/assets/demo.gif\" alt=\"Envy demo\" width=\"100%\" />\n</div>\n\n---\n\n## The Problem\n\nEvery project starts with a `.env` file. Every `.env` file eventually ends up somewhere it shouldn't.\n\n- **Committed to git** — accidentally or by a junior dev following a tutorial\n- **Pasted in Slack** — \"hey, can you check this config?\" becomes a security incident\n- **Left on disk** — cloned repos, CI artifacts, and Docker image layers carry your secrets forever\n- **Shared as plaintext** — emailed, screenshot, airdropped, or typed into a Google Doc\n\nThe tools meant to solve this — hosted vaults, secrets managers, SaaS platforms — trade one risk for another: now your secrets live on someone else's server, behind their authentication, subject to their breach.\n\n**There is no good reason for production secrets to ever exist in plaintext.** Envy makes that guarantee practical.\n\n---\n\n## Why Envy\n\n<table>\n<tr>\n<td width=\"50%\" valign=\"top\">\n\n### 🔐 Zero-Trust Storage\n\nSecrets are encrypted with AES-256-GCM before they touch the database. The database itself is encrypted with SQLCipher. The master key lives exclusively in your OS Keychain — never written to any file, never exposed to the filesystem.\n\nStealing your `~/.envy/vault.db` gets an attacker nothing without the OS credential entry. Stealing your OS credential entry gets them nothing without the encrypted database. **Defense in depth, not defense by hope.**\n\n</td>\n<td width=\"50%\" valign=\"top\">\n\n### 🧠 Memory-Safe Secret Injection\n\n`envy run -- your-app` decrypts secrets in RAM and passes them to your process via `std::process::Command::envs()`. When the process exits, the memory is zeroed. Nothing is written to disk, shell history, or environment exports.\n\nAll secret values are wrapped in Rust's `Zeroizing<T>` — backing memory is overwritten to zero on drop, even if the program panics.\n\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n\n### 🌿 GitOps-Native\n\n`envy encrypt` produces `envy.enc` — a single JSON file sealed with Argon2id + AES-256-GCM. It contains **no key names, no values, no project identifiers**. Commit it to your public repo. Post it on Twitter. It is pure ciphertext.\n\n`envy decrypt` on any machine restores your vault from the artifact. Onboarding a new team member is a `git pull` and one passphrase.\n\n</td>\n<td width=\"50%\" valign=\"top\">\n\n### 🔬 Pre-Encrypt Audit Trail\n\n`envy diff` shows exactly what will change before you seal — additions, deletions, and modifications — with `diff(1)` exit codes for CI/CD gating. Values are hidden by default. `--reveal` requires explicit opt-in with a stderr warning.\n\nKnow exactly what you're committing to the artifact before you commit it.\n\n</td>\n</tr>\n<tr>\n<td width=\"50%\" valign=\"top\">\n\n### 🏢 Multi-Team Progressive Disclosure\n\nSeal `development`, `staging`, and `production` with separate passphrases. A developer with the dev key imports their environment; `production` is listed as skipped — **not an error, not a prompt, not an alarm**. Access follows the passphrase, not a permissions UI.\n\n</td>\n<td width=\"50%\" valign=\"top\">\n\n### 🤖 CI/CD Native, Zero Config\n\nSet `ENVY_PASSPHRASE_<ENV>` in your pipeline's secret store. Envy detects it and goes fully headless — no TTY, no prompts, no code changes required. Works with GitHub Actions, GitLab CI, CircleCI, Jenkins, and any shell that supports environment variables.\n\n</td>\n</tr>\n</table>\n\n> **SOC 2 / Compliance note**: Envy eliminates the most common source of secret leakage — plaintext `.env` files in version control, chat logs, and build artifacts. It does not replace a full secrets management platform for regulated workloads, but it is a substantial step toward auditability: every secret change is a vault write, every seal is a committed `envy.enc` diff.\n\n---\n\n## Quickstart\n\n**Step 1 — Install and initialise**\n\n```bash\n# Homebrew (macOS & Linux)\nbrew install anguriatech/tap/envy\n\n# NPM (all platforms)\nnpm install -g @anguriatech/envy\n```\n\n> Windows, curl, or build-from-source? See the [Installation](#installation) section below.\n\n```bash\ncd my-project\nenvy init       # creates envy.toml (safe to commit)\n```\n\n**Step 2 — Store secrets and run your app**\n\n```bash\nenvy set DATABASE_URL=postgres://localhost/myapp\nenvy set API_KEY=sk_live_abc123\n\nenvy run -- npm run dev\n# secrets injected into the child process, never written to disk\n```\n\n**Step 3 — Seal and share with your team**\n\n```bash\n# Preview what you're about to commit\nenvy diff\n#   + API_KEY\n#   + DATABASE_URL\n# 2 changes: 2 added, 0 removed, 0 modified\n\nenvy encrypt      # prompts for a passphrase (or set ENVY_PASSPHRASE in CI)\n\ngit add envy.enc envy.toml\ngit commit -m \"chore: add encrypted secrets\"\ngit push\n```\n\nA teammate pulls the repo and runs `envy decrypt`. Done. No Slack messages, no shared spreadsheets, no plaintext ever leaving your encrypted vault.\n\n### Interactive TUI\n\n<div align=\"center\">\n  <img src=\"docs/assets/tui-demo.gif\" alt=\"Envy TUI demo\" width=\"100%\" />\n</div>\n\nRun `envy` without a subcommand from an interactive terminal to open the full-screen vault\nworkstation: a three-panel console showing your project tree, the selected environment's\nmasked secrets, and an inspector column with sync state and metadata — all without changing\nthe output contract of existing commands. Launching from a project directory focuses that\nproject's entry in the tree.\n\nThe TUI is **workspace-scoped**: the tree shows the projects whose `envy.toml` manifests sit\nat or below the directory where you launched `envy` (full depth, `.gitignore` respected), and\nevery project carries its own artifact path and rotation threshold. Projects from the rest of\nthe vault stay out of the way — launch from your monorepo root or from a single project, and\nonly what you can reach gets shown.\n\nThe gradient banner opens expanded on terminals tall enough (32+ rows); otherwise — or after\npressing `B` — it collapses to a one-line identity strip with the current version and\nworkspace name, so the brand is present without eating screen space.\n\n| Key | Panel | Action |\n|---|---|---|\n| `↑↓` / `j` `k` | both | Move selection |\n| `Tab` | both | Switch between Projects and Secrets |\n| `Enter` / `→` / `←` | tree | Expand/select or collapse |\n| `Space` | secrets | Reveal selected value (re-masks on move) |\n| `Y` | secrets | Copy value to clipboard (clears 30s after last copy) |\n| `N` / `E` / `D` | secrets | Create, edit, or delete a secret |\n| `F` | secrets | Filter keys (filter persists, shown in the title) |\n| `S` | both | Seal project into `envy.enc` (preview confirmation) |\n| `T` / `G` | tree | Status / diff against `envy.enc` |\n| `Y` | tree | Import environment from `envy.enc` (confirms) |\n| `R` | tree | Rotate environment passphrase in-place |\n| `X` | tree | Delete selected project (exact-name confirmation) |\n| `B` | both | Toggle banner (full gradient logo or compact strip) |\n| `L` / `U` | both | Lock or unlock the vault |\n| `:` | both | Command palette — every action, searchable |\n| `?` | both | Full help (scrollable) |\n| `Q` / `Ctrl+C` | both | Quit and restore terminal |\n\nThe bottom legend always shows the keys of the focused panel, so nothing has to be\nmemorized. The inspector column on the right shows sync state (in sync / modified / never\nsealed), secret counts, stale secrets, and the artifact location for whatever is selected;\nit hides automatically on terminals narrower than 100 columns.\n\nColor is functional: brand violet marks the focused panel, green means in sync, amber means\ndrift (needs re-seal), red marks errors and destructive confirmations. Set `NO_COLOR=1` for\na plain presentation. The TUI never starts for subcommands such as `envy run -- command`;\nwhen stdout is piped, bare `envy` prints help to stderr and exits successfully, keeping\nscripts and CI safe.\nThe footer intentionally shows only primary navigation. Press `?` for complete grouped help;\nlong project trees and project-picker results scroll while keeping the current selection visible.\n\n#### Nested projects (monorepo / multi-project support)\n\nSince v0.3.2, `envy init` works in subdirectories of existing envy projects. Each project gets its own UUID in the vault and its own `envy.toml` + `envy.enc`. Commands resolve the closest `envy.toml` automatically — running `envy list` from a child directory shows the child's secrets, not the parent's.\n\n```\n/monorepo/\n  envy.toml     ← org-wide credentials\n  envy.enc\n  /project-a/\n    envy init   ← project-specific credentials (different UUID)\n    envy.toml\n    envy.enc\n  /project-b/\n    envy init\n    envy.toml\n    envy.enc\n```\n\n---\n\n## Sync Status at a Glance\n\n`envy status` tells you the state of every environment — no passphrase, no decryption.\n\n```\n$ envy status\n\n+-------------+---------+------------------+----------------+-----------+\n| Environment | Secrets | Last Modified    | Status         | Rotation  |\n+=======================================================================+\n| development | 4       | 2 minutes ago    | ⚠ Modified     | ✓ Fresh   |\n| production  | 3       | 3 days ago       | ✓ In Sync      | ⚠ 1 due   |\n| staging     | 2       | 1 week ago       | ✗ Never Sealed | ✓ Fresh   |\n+-------------+---------+------------------+----------------+-----------+\n\nArtifact: ./envy.enc  (last written: 3 days ago)\n  Sealed environments: production\n```\n\nSee **Modified**? Run `envy diff` to see exactly what changed, then `envy encrypt` to seal.\n\n---\n\n## CI/CD Integration\n\n```yaml\n# .github/workflows/deploy.yml\n- name: Decrypt secrets\n  env:\n    ENVY_PASSPHRASE_PRODUCTION: ${{ secrets.ENVY_PASSPHRASE_PRODUCTION }}\n  run: envy decrypt\n\n# Gate on exact artifact state before deploying\n- name: Assert no unsealed drift\n  env:\n    ENVY_PASSPHRASE_PRODUCTION: ${{ secrets.ENVY_PASSPHRASE_PRODUCTION }}\n  run: |\n    envy diff -e production          # exit 1 if vault ≠ artifact\n    echo \"✓ Artifact matches vault\"\n\n- name: Deploy\n  run: envy run -e production -- ./scripts/deploy.sh\n```\n\nThe `ENVY_PASSPHRASE_<ENV>` env var is the only config change required. Your application code and deploy scripts are untouched.\n\n---\n\n<details>\n<summary><strong>📐 Architecture & Cryptography</strong></summary>\n\n## How It Works\n\n```\nLocal development:\n\n  envy.toml             ~/.envy/vault.db              OS Keyring\n  (project UUID)  →     (SQLCipher-encrypted DB)  ←   (32-byte master key)\n                        AES-256-GCM per-secret\n                        sync_markers (sealed_at per env)\n\nTeam sync via Git:\n\n  ~/.envy/vault.db  →[envy encrypt]→  envy.enc (Argon2id + AES-256-GCM)\n                                            │\n                                       git commit/push\n                                            │\n                    ←[envy decrypt]←  envy.enc\n```\n\n### The Two-Key Model\n\n| | Vault master key | Artifact passphrase |\n|---|---|---|\n| **Purpose** | Encrypts secrets at rest in `vault.db` | Encrypts `envy.enc` for sharing |\n| **Stored in** | OS Keychain / Secret Service (never on disk) | Not stored — entered by user or `ENVY_PASSPHRASE` |\n| **Scope** | Per machine, per user | Per team, per project |\n| **Format** | 32 random bytes | Human-readable string |\n\nThese keys are entirely independent. Knowing the passphrase does not help with the vault. Copying the vault without the OS credential entry is useless.\n\n### Cryptography Stack\n\n```\nPassphrase (user input)\n    │\n    ▼  Argon2id  (64 MiB memory, 3 iterations, parallelism 4)\n256-bit derived key\n    │\n    ▼  AES-256-GCM  (random 96-bit nonce per seal)\nCiphertext + 128-bit authentication tag\n    │\n    ▼  base64ct  (constant-time Base64)\nenvy.enc  →  git commit\n```\n\n**Argon2id** is the Password Hashing Competition winner (2015). Memory-hard and side-channel resistant — GPU-based brute-force against the passphrase requires 64 MiB of RAM per attempt.\n\n**AES-256-GCM** provides authenticated encryption — any modification to the ciphertext is detected before a single byte of plaintext is returned. This is what makes Progressive Disclosure safe: a wrong passphrase fails authentication silently, it never returns garbage data.\n\n**Fresh nonce per seal** — re-sealing the same secrets produces different ciphertext every time. Ciphertext comparison attacks are not possible.\n\n### The `envy.enc` Structure\n\n```json\n{\n  \"version\": 1,\n  \"environments\": {\n    \"development\": {\n      \"ciphertext\": \"<base64>\",\n      \"nonce\":      \"<base64>\",\n      \"kdf\": {\n        \"algorithm\":    \"argon2id\",\n        \"memory_kib\":   65536,\n        \"time_cost\":    3,\n        \"parallelism\":  4,\n        \"salt\":         \"<base64>\"\n      }\n    }\n  }\n}\n```\n\nEvery envelope is self-describing — it carries its own KDF parameters. You can decrypt any envelope without external metadata or a version registry. The `environments` map is a `BTreeMap` so JSON keys are always alphabetically ordered, producing deterministic `git diff` output.\n\n### Memory Safety\n\nEvery secret value travels through the codebase in `zeroize::Zeroizing<String>`. When the container is dropped (on function return, scope exit, or panic), the backing memory is overwritten to zero by the OS. Secret values are never stored in a plain `String`.\n\n</details>\n\n---\n\n<details>\n<summary><strong>📋 Full Command Reference</strong></summary>\n\n| Command | Alias | Description |\n|---------|-------|-------------|\n| [`envy init`](docs/commands/envy-init.md) | — | Create `envy.toml`, register project in vault |\n| [`envy set KEY=VALUE [-e ENV] [--stdin]`](docs/commands/envy-set.md) | — | Store or update a secret |\n| [`envy get KEY [-e ENV]`](docs/commands/envy-get.md) | — | Print a single decrypted value to stdout |\n| [`envy list [-e ENV]`](docs/commands/envy-list.md) | `ls` | List all key names (values never printed by default) |\n| [`envy rm KEY [-e ENV]`](docs/commands/envy-rm.md) | `remove`, `unset` | Delete a secret |\n| [`envy run [-e ENV] -- CMD`](docs/commands/envy-run.md) | — | Inject secrets and run a child process |\n| [`envy migrate FILE [-e ENV]`](docs/commands/envy-migrate.md) | — | Import all `KEY=VALUE` pairs from a `.env` file |\n| [`envy encrypt [-e ENV]`](docs/commands/envy-encrypt.md) | `enc` | Seal vault into `envy.enc` (strict: passphrase must match an existing envelope — use `envy rotate` to change it) |\n| [`envy decrypt`](docs/commands/envy-decrypt.md) | `dec` | Unseal `envy.enc` and restore secrets |\n| [`envy export [-e ENV] [--format]`](docs/commands/envy-export.md) | — | Print all secrets to stdout (dotenv / JSON / shell) |\n| [`envy diff [-e ENV] [--reveal]`](docs/commands/envy-diff.md) | `df` | Compare vault against `envy.enc` before encrypting |\n| [`envy status`](docs/commands/envy-status.md) | `st` | Show sync status dashboard, including a rotation reminder (no passphrase required) |\n| [`envy rotate [-e ENV]`](docs/commands/envy-rotate.md) | — | Re-seal an envelope with a new passphrase (verifies current first) |\n| [`envy scan [-e ENV] [--reveal]`](docs/commands/envy-scan.md) | — | Scan the working tree for plaintext copies of vault secrets |\n| [`envy audit [-e ENV] [--limit N]`](docs/commands/envy-audit.md) | `au` | Show the local history of `set`/`get`/`rm`/`run` actions |\n| [`envy hooks install [--force]`](docs/commands/envy-hooks.md) | — | Install a pre-commit hook that blocks commits leaking a vault secret |\n| [`envy completions SHELL`](docs/commands/envy-completions.md) | — | Print shell completion script to stdout |\n\n### Output Formats\n\nMost read commands accept `--format` (or `-f`):\n\n| Format | Description |\n|--------|-------------|\n| `table` | Human-readable (default) |\n| `json` | Machine-readable JSON |\n| `dotenv` | `KEY=value` pairs |\n| `shell` | `export KEY='value'` — safe for `eval $(...)` |\n\n### `envy diff` — the pre-encrypt review loop\n\n```bash\n# Table output (key names only, colored)\nenvy diff [-e ENV]\n\n# With values (stderr warning emitted first)\nenvy diff [-e ENV] --reveal\n\n# JSON for scripts — old_value/new_value absent without --reveal\nenvy diff [-e ENV] --format json\n```\n\n**Exit codes for `envy diff`**: `0` = no differences, `1` = differences found, `2+` = error.\n\n### Shell Autocompletion\n\n```bash\nenvy completions bash   >> ~/.bash_completion\nenvy completions zsh    >  ~/.zfunc/_envy      # then: autoload -Uz compinit && compinit\nenvy completions fish   >  ~/.config/fish/completions/envy.fish\nenvy completions powershell >> $PROFILE\n```\n\n### Legacy Migration\n\n```bash\nenvy migrate .env              # import development secrets\nenvy migrate .env.staging -e staging\nenvy list                      # verify\nrm .env .env.staging\necho '.env*' >> .gitignore\n```\n\n### Multi-Environment with Separate Passphrases\n\n```bash\nenvy enc -e development    # dev passphrase\nenvy enc -e staging        # staging passphrase\nenvy enc -e production     # prod passphrase (restricted)\n\n# Smart Merge: each seal preserves the other envelopes untouched\ngit add envy.enc && git commit -m \"chore: rotate secrets\"\n```\n\n```bash\n# Junior dev — has only the dev key\nenvy decrypt\n#   ✓  development   (4 secrets upserted)\n#   ⚠  production    skipped — different passphrase or key\n# exit code: 0  ← partial access is success\n```\n\n#### Rotating a passphrase\n\nUse `envy rotate` as the safe path for key rotation. Unlike `envy encrypt`, it verifies the current passphrase against the existing envelope before accepting a new one — a typo can never silently change the envelope's passphrase.\n\n```bash\nenvy rotate -e production\n# Passphrase for 'production':    <old-pass>\n# New passphrase for 'production': <new-pass>\n# Confirm new passphrase:          <new-pass>\n#   ✓  'production' rotated. Passphrase changed.\n#      Previous passphrase can no longer decrypt this artifact.\n```\n\nIn CI / headless mode, set both `ENVY_PASSPHRASE_<ENV>` and `ENVY_PASSPHRASE_<ENV>_NEW`:\n\n```bash\nENVY_PASSPHRASE_PRODUCTION=old-pass \\\nENVY_PASSPHRASE_PRODUCTION_NEW=new-pass \\\n  envy rotate -e production\n```\n\nThe rotation is **forward-only** — the old passphrase can no longer decrypt the artifact, and any other `envy.enc` sealed with the old passphrase can never be decrypted. The team's responsibility is to distribute the new passphrase through a secure channel (1Password, password manager, secure Slack DM, etc.).\n\n#### Strict `envy encrypt` — no silent key rotation\n\nSince v0.3.1, `envy encrypt` is strict: the passphrase you provide must either match the existing envelope (re-seal) or be the first time you're creating the envelope. If neither condition holds, `envy encrypt` fails with:\n\n```\nerror: passphrase input failed: passphrase does not match the existing envelope.\nhint: use `envy rotate -e ENV` to change the envelope's passphrase.\n```\n\nExit code 2. The artifact is left unchanged. Use `envy rotate -e ENV` to change the passphrase — `envy encrypt` will not do it for you.\n\n### Rotation reminder\n\n`envy status` flags secrets that haven't been touched in a while — no decryption involved, just `updated_at` timestamps:\n\n```\n$ envy status\n...\n| production  | 3       | 3 days ago       | ✓ In Sync      | ⚠ 1 due   |\n\n⚠ Rotation reminder (no changes in over 90 days):\n  production: LEGACY_API_KEY\n```\n\nThe threshold defaults to 90 days and is configurable per project in `envy.toml`:\n\n```toml\nrotation_reminder_days = 30\n```\n\n### Vault-leak scanner\n\n`envy scan` walks the working tree looking for **exact** occurrences of secret values already stored in the vault — not a generic regex-based secrets scanner, so false positives are essentially zero: a hit means a value you're already managing with envy was also pasted in plaintext somewhere in the repo (`.env` files included — dotfiles are scanned on purpose).\n\n```bash\nenvy scan               # masked output, exit 1 if anything is found\nenvy scan --reveal      # show the matched value (stderr warning first)\nenvy scan --format json # for CI\n```\n\nRespects `.gitignore`. Exit codes follow the `diff(1)` convention (0 clean, 1 found, 2+ error), so it composes with CI or `envy hooks install` below.\n\n### Local audit trail\n\n`envy audit` lists the local history of `set`/`get`/`rm`/`run` actions — key names and timestamps only, never values:\n\n```bash\nenvy audit                 # newest first, all environments\nenvy audit -e production   # filter to one environment\n```\n\nSync/crypto actions (`encrypt`/`decrypt`/`rotate`) aren't recorded here; that history already lives in `envy.enc`'s git log and `envy status`.\n\n### Pre-commit hook\n\n`envy hooks install` writes a `pre-commit` hook that runs `envy scan` on every commit — attempting to commit a leaked secret is blocked, not just logged:\n\n```bash\nenvy hooks install\ngit commit -m \"...\"\n# envy: blocked -- a vault secret's plaintext value was found in a file\n# you're about to commit. Run 'envy scan --reveal' for details.\n```\n\nIt also prints a non-blocking warning when `envy status` shows unsealed drift. Nothing leaves the machine. A pre-existing hook envy didn't install is never overwritten without `--force`, and even then the previous file is backed up first.\n\n### Rotation reminder\n\n`envy status` flags secrets that haven't been touched in over `rotation_reminder_days` days (default 90, configurable in `envy.toml`):\n\n```toml\n# envy.toml\nrotation_reminder_days = 120\n```\n\nWhen any secret exceeds the threshold, a `⚠ Rotation reminder` section lists the affected key names — values are never shown. Set `rotation_reminder_days = 0` to disable the reminder entirely. This is read-only and never decrypts anything; it simply compares `updated_at` timestamps against the current wall-clock time.\n\n### Passphrase strength hint\n\nWhen you type a passphrase by hand during interactive `envy encrypt` or `envy rotate` prompts, a non-blocking strength estimate is printed:\n\n```\n  ℹ passphrase strength: weak (~36 bits estimated)\n    hint: press Enter on an empty prompt next time to accept envy's suggested Diceware phrase.\n```\n\nThis is purely informational — a low score never blocks or rejects a passphrase. Security rests on Argon2id + AES-256-GCM, not on this heuristic. The hint nudges you toward envy's built-in Diceware passphrase generator (press Enter on an empty prompt).\n\n</details>\n\n---\n\n## Documentation\n\n- [Per-command reference](docs/commands/) — one page per command: what it does, syntax, exit codes, and related commands\n- [Examples](examples/) — copy-pasteable, CI-verified workflows (basic, team-sync, CI/CD, monorepo)\n- [Developer guide](docs/developer-guide.md) — architecture, module map, and contribution notes\n- [Demo videos](docs/assets/) — terminal walkthroughs of quickstart, team sync, CI/CD, and the interactive TUI (generated with VHS)\n\n---\n\n<details>\n<summary><strong>🔢 Exit Codes</strong></summary>\n\n| Code | Meaning |\n|------|---------|\n| `0` | Success; partial decrypt (≥ 1 env imported); `envy diff`/`envy scan` — no differences/leaks found |\n| `1` | Not found (manifest, secret, `envy.enc`, `.git`); zero envs imported; `envy diff` — differences found; `envy scan` — leak(s) found |\n| `2` | Invalid input (key name, assignment format, empty or wrong passphrase) |\n| `3` | Initialisation conflict; environment not found in vault or artifact; `envy hooks install` — conflict |\n| `4` | Vault or crypto failure |\n| `5` | `envy.enc` unreadable (malformed JSON or unsupported schema version) |\n| `127` | Child binary not found (`envy run`) |\n| `N` | Child process exit code (proxied exactly by `envy run`) |\n\nNote: `envy diff` and `envy scan` follow the `diff(1)` convention — exit 1 means \"differences/leaks exist\", not \"an error occurred\". This makes it safe to use in shell pipelines with `||` without masking real errors.\n\n</details>\n\n---\n\n## Installation\n\n**Homebrew (macOS & Linux)**\n\n```bash\nbrew install anguriatech/tap/envy\n```\n\n**NPM (Cross-platform wrapper)**\n\n```bash\nnpm install -g @anguriatech/envy\n# or run without installing:\nnpx @anguriatech/envy\n```\n\n**macOS & Linux (shell installer)**\n\n```bash\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/anguriatech/envy/releases/latest/download/envy-installer.sh | sh\n```\n\n**Windows (PowerShell)**\n\n```powershell\nirm https://github.com/anguriatech/envy/releases/latest/download/envy-installer.ps1 | iex\n```\n\n**Build from source** (requires Rust 1.85+)\n\n```bash\ngit clone https://github.com/anguriatech/envy.git\ncd envy && cargo install --path .\n```\n\n---\n\n## Roadmap\n\nEnvy has completed **Phase 1** (encrypted local vault), **Phase 2** (GitOps sync & CI/CD), **Phase 2.x** (multi-env encrypt, output formats, sync status, pre-encrypt diff), and **Phase 2.y** (rotation reminders, passphrase strength hints, local audit trail, vault-leak scanner, pre-commit hook).\n\n**Phase 3 — Ecosystem & GUI**: An official VS Code Extension to make secret management visual and seamless, without leaving the editor.\n\n---\n\n<div align=\"center\">\n\nBuilt with Rust, SQLCipher, AES-256-GCM, and Argon2id by [Anguria Tech](https://github.com/anguriatech).\nMIT License — audit the code, fork it, ship it.\n\n</div>\n","readmeFilename":"README.md"}