{"_id":"@arshtiwari/envguard","_rev":"7-901badaffb98c0acd42941cef90fe095","name":"@arshtiwari/envguard","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"@arshtiwari/envguard","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@arshtiwari/envguard@1.0.0","maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"dist":{"shasum":"a799a4a1a058a59529c224d714eccc27f4560ae6","tarball":"https://registry.npmjs.org/@arshtiwari/envguard/-/envguard-1.0.0.tgz","fileCount":24,"integrity":"sha512-8FibETgTSKtHQVWBuzCh9tnmgH+ARRLXOBGjJ9RJVH5LV4LxaU66cuPhzR7ul0MmVhbH+rkR3po8DrtbRSiWgw==","signatures":[{"sig":"MEYCIQCdTZ4fHSQ9gjdzAIC8MRIghZ2nZNP6gHkgKHaoBo6dywIhALtjeOYaW9pYVG4G4aLvhPDNP+Ss0Wu3HxHRKEMXJltJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159148},"main":"index.js","gitHead":"d73430b450084ba5a8d016e290166fed928784fc","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"},"_npmVersion":"10.5.0","directories":{},"_nodeVersion":"20.12.2","dependencies":{"yargs":"^17.7.2","dotenv":"^16.5.0","fs-extra":"^11.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envguard_1.0.0_1746836957207_0.304950133291608","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@arshtiwari/envguard","version":"1.0.3","keywords":["environment-variables","validation","devops","cli","nodejs"],"author":{"name":"Arsh Tiwari","email":"your.email@example.com"},"license":"MIT","_id":"@arshtiwari/envguard@1.0.3","maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"homepage":"https://github.com/arishtiwari/envguard#readme","bugs":{"url":"https://github.com/arishtiwari/envguard/issues"},"bin":{"envguard":"src/cli/cli.js"},"dist":{"shasum":"d8868ccff11d98db5ecf1e97b290f5358f10dced","tarball":"https://registry.npmjs.org/@arshtiwari/envguard/-/envguard-1.0.3.tgz","fileCount":9,"integrity":"sha512-C7l+TYPBXrJ8bISZvipN/fRrW0Tb4yQ+CC7eIxOoQadIKpOD+kU7IjEof/SM+oPZOhIHVcDqpwWuKySuG8p6UQ==","signatures":[{"sig":"MEYCIQC4cY7yQw28CghmUSC2wAKIR+euhxlgPKXiei5F5F8TpAIhAPTc/tyaaChunWM2iYT2pQra+GLqnul5Z8/jsQmDeGpN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7056},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"e1711be23c131ae502e1c21f9b45b56081556eb2","scripts":{"ui":"cd ui && npm run dev","lint":"eslint .","test":"jest --coverage","server":"node server/server.js"},"_npmUser":{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"},"repository":{"url":"git+https://github.com/arishtiwari/envguard.git","type":"git"},"_npmVersion":"10.5.0","description":"Zero-config environment variable validation toolkit with CLI and UI dashboard","directories":{},"_nodeVersion":"20.12.2","dependencies":{"yargs":"^17.7.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","supertest":"^6.3.4"},"_npmOperationalInternal":{"tmp":"tmp/envguard_1.0.3_1746960085384_0.7867035667444278","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@arshtiwari/envguard","version":"1.0.4","keywords":["environment-variables","validation","devops","cli","nodejs"],"author":{"name":"Arsh Tiwari","email":"arshtiwari12345@gmail.com"},"license":"MIT","_id":"@arshtiwari/envguard@1.0.4","maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"homepage":"https://github.com/ArshTiwari2004/envguard#readme","bugs":{"url":"https://github.com/ArshTiwari2004/envguard/issues"},"bin":{"envguard":"src/cli/cli.js"},"dist":{"shasum":"be30ddb2415d7b87fb191b4bceb32f5826541ee5","tarball":"https://registry.npmjs.org/@arshtiwari/envguard/-/envguard-1.0.4.tgz","fileCount":9,"integrity":"sha512-xg3shpxAoJmRs37+pIp5GL6+U5/4DgbLH0B4ON1elfJTtvlB7Tdx6+Pou4NYNb9AAVMwnQd6JwPck1QQCi3+DQ==","signatures":[{"sig":"MEQCIBZaFlS5fJAZldyCoDTHbXrYLL3UpOPQjlhQ98v516SDAiBP99Fz8XJ/3eIpn+hOKy4frIad83x3AA43dMWLVkLlqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7062},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"58043d25135ad27dbfe0de6fc135ccc9193c938b","scripts":{"ui":"cd ui && npm run dev","lint":"eslint .","test":"jest --coverage","server":"node server/server.js"},"_npmUser":{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"},"repository":{"url":"git+https://github.com/ArshTiwari2004/envguard.git","type":"git"},"_npmVersion":"10.5.0","description":"Zero-config environment variable validation toolkit with CLI and UI dashboard","directories":{},"_nodeVersion":"20.12.2","dependencies":{"yargs":"^17.7.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","supertest":"^6.3.4"},"_npmOperationalInternal":{"tmp":"tmp/envguard_1.0.4_1747046651293_0.298241876552066","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@arshtiwari/envguard","version":"1.0.5","keywords":["environment-variables","validation","devops","cli","nodejs"],"author":{"name":"Arsh Tiwari","email":"arshtiwari12345@gmail.com"},"license":"MIT","_id":"@arshtiwari/envguard@1.0.5","maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"homepage":"https://envguard.vercel.app/","bugs":{"url":"https://github.com/ArshTiwari2004/envguard/issues"},"bin":{"envguard":"src/cli/cli.js"},"dist":{"shasum":"6731a0e09b00fef8ea91f7d3f3a9fdde355007be","tarball":"https://registry.npmjs.org/@arshtiwari/envguard/-/envguard-1.0.5.tgz","fileCount":9,"integrity":"sha512-r7Mc5Qvxa/MenqoDHmqR8QZPEHWATh1aL2iO+Ag2F+qd/7HsiyaMT/mdB7jcxZu03wwDYtuMVD4kiq/n1WXJLQ==","signatures":[{"sig":"MEUCIQDDGHR2qBNoqNBQZaJ1a8T8avgOuAlAtf+CoT6CPwXsxAIgf8FrQKLBCC3SWLYudlym7bYIFfaL/8b+sqR6YkzAlA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7108},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"8cb531cfc1c87b2acd3b53981e862e26dc931d55","scripts":{"ui":"cd ui && npm run dev","lint":"eslint .","test":"jest --coverage","server":"node server/server.js"},"_npmUser":{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"},"repository":{"url":"git+https://github.com/ArshTiwari2004/envguard.git","type":"git"},"_npmVersion":"10.5.0","description":"Zero-config environment variable validation toolkit with CLI and UI dashboard","directories":{},"_nodeVersion":"20.12.2","dependencies":{"yargs":"^17.7.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","supertest":"^6.3.4"},"_npmOperationalInternal":{"tmp":"tmp/envguard_1.0.5_1747046851510_0.7487605723431299","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@arshtiwari/envguard","version":"1.0.6","keywords":["environment-variables","validation","devops","cli","nodejs"],"author":{"name":"Arsh Tiwari","email":"arshtiwari12345@gmail.com"},"license":"MIT","_id":"@arshtiwari/envguard@1.0.6","maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"homepage":"https://envguard.vercel.app/","bugs":{"url":"https://github.com/ArshTiwari2004/envguard/issues"},"bin":{"envguard":"src/cli/cli.js"},"dist":{"shasum":"59dd77f8553762325242f3bf1a62a06fe7219ae7","tarball":"https://registry.npmjs.org/@arshtiwari/envguard/-/envguard-1.0.6.tgz","fileCount":10,"integrity":"sha512-sU2ZIH74WcJk9+ICaVAnMVHGktqw5t1SbevhOOJV8F9jGVyHkG+PxQsPq/oLGNHCYZhVDivcYtp1jaQKoA5G4g==","signatures":[{"sig":"MEQCIE6pD3f80wtQoWbmgi2G6jZF4NAlrnFZjKMYDzxIu/bTAiAT2nbPdA/PoqUyw6ke8i6NTylttThLWVfYwKZTk0VeuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11671},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"76a7873d384add691460c7b54c0bd39d504a8331","scripts":{"ui":"cd ui && npm run dev","lint":"eslint .","test":"jest --coverage","server":"node server/server.js"},"_npmUser":{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"},"repository":{"url":"git+https://github.com/ArshTiwari2004/envguard.git","type":"git"},"_npmVersion":"10.5.0","description":"Zero-config environment variable validation toolkit with CLI and UI dashboard","directories":{},"_nodeVersion":"20.12.2","dependencies":{"yargs":"^17.7.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","supertest":"^6.3.4"},"_npmOperationalInternal":{"tmp":"tmp/envguard_1.0.6_1747047187031_0.5745149610892275","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@arshtiwari/envguard","version":"1.0.7","keywords":["environment-variables","validation","devops","cli","nodejs"],"author":{"name":"Arsh Tiwari","email":"arshtiwari12345@gmail.com"},"license":"MIT","_id":"@arshtiwari/envguard@1.0.7","maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"homepage":"https://envguard.vercel.app/","bugs":{"url":"https://github.com/ArshTiwari2004/envguard/issues"},"bin":{"envguard":"src/cli/cli.js"},"dist":{"shasum":"09ecccb1787a7989b59e152e32d2767ed6c37f26","tarball":"https://registry.npmjs.org/@arshtiwari/envguard/-/envguard-1.0.7.tgz","fileCount":10,"integrity":"sha512-vivuFgadGAg1Z7KUnEYwea+feo//77FEXiVNdrDObWbsuO7n/sdUNyh8QB9fxBaHeCfOaf/oTQOwPR59p5JTiA==","signatures":[{"sig":"MEUCIQDpTMlwHFrG0u8vuIhe5oRxqeZ6vgCb535je+HJtmqsRwIgKvRbMJfWvAJBlqozVK88Ae2/VOmHdOXmJt/7oa0LQ7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11671},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"e917b9bd613b358e7436783b73439f4ff8866649","scripts":{"ui":"cd ui && npm run dev","lint":"eslint .","test":"jest --coverage","server":"node server/server.js"},"_npmUser":{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"},"repository":{"url":"git+https://github.com/ArshTiwari2004/envguard.git","type":"git"},"_npmVersion":"10.5.0","description":"Zero-config environment variable validation toolkit with CLI and UI dashboard","directories":{},"_nodeVersion":"20.12.2","dependencies":{"yargs":"^17.7.2","express":"^5.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.56.0","supertest":"^6.3.4"},"_npmOperationalInternal":{"tmp":"tmp/envguard_1.0.7_1747056769674_0.6069470464193611","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@arshtiwari/envguard","version":"1.0.8","homepage":"https://envguard.vercel.app/","description":"Zero-config environment variable validation toolkit with CLI and UI dashboard","main":"src/index.js","bin":{"envguard":"src/cli/cli.js"},"scripts":{"test":"jest --coverage","server":"node server/server.js","ui":"cd ui && npm run dev","lint":"eslint ."},"keywords":["environment-variables","validation","devops","cli","nodejs"],"author":{"name":"Arsh Tiwari","email":"arshtiwari12345@gmail.com"},"license":"MIT","dependencies":{"express":"^5.1.0","yargs":"^17.7.2"},"devDependencies":{"eslint":"^8.56.0","jest":"^29.7.0","supertest":"^6.3.4"},"engines":{"node":">=18.0.0"},"repository":{"type":"git","url":"git+https://github.com/ArshTiwari2004/envguard.git"},"_id":"@arshtiwari/envguard@1.0.8","gitHead":"77cecaf96fa47dce9d21b616e9e714bd486faee6","bugs":{"url":"https://github.com/ArshTiwari2004/envguard/issues"},"_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-SxvclhgH343Rf+pPW5EsF/JTz3tN24IEpAi77L0K9H7r8TY8Qini7GBKo00zKZ2iAZxKxkVO1y6x1H/I4Z427A==","shasum":"b63e2bbcf064c34b541c47cb77920d829c14621d","tarball":"https://registry.npmjs.org/@arshtiwari/envguard/-/envguard-1.0.8.tgz","fileCount":10,"unpackedSize":13410,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIClhaxg91B803eosVcCU4pihqvBBA0KOUlqjfuu/OlpxAiAIfC65AqBeMhVFLH0/c4fKjbwzEgKuCgX8lF5bRmuNbw=="}]},"_npmUser":{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"},"directories":{},"maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/envguard_1.0.8_1747056867534_0.8645561956220127"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-10T00:29:17.079Z","modified":"2025-05-12T13:34:28.163Z","1.0.0":"2025-05-10T00:29:17.540Z","1.0.3":"2025-05-11T10:41:25.546Z","1.0.4":"2025-05-12T10:44:11.462Z","1.0.5":"2025-05-12T10:47:31.681Z","1.0.6":"2025-05-12T10:53:07.188Z","1.0.7":"2025-05-12T13:32:49.905Z","1.0.8":"2025-05-12T13:34:27.774Z"},"bugs":{"url":"https://github.com/ArshTiwari2004/envguard/issues"},"author":{"name":"Arsh Tiwari","email":"arshtiwari12345@gmail.com"},"license":"MIT","homepage":"https://envguard.vercel.app/","keywords":["environment-variables","validation","devops","cli","nodejs"],"repository":{"type":"git","url":"git+https://github.com/ArshTiwari2004/envguard.git"},"description":"Zero-config environment variable validation toolkit with CLI and UI dashboard","maintainers":[{"name":"arshtiwari","email":"arshtiwari12345@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"envguard.png\" alt=\"EnvGuard Logo\" width=\"600\"/>\n</p>\n\n<p align=\"center\">\n  <b>A zero-config, framework-agnostic NPM package and UI for validating and documenting your environment variables, straight from your <code>.env.example</code> file.</b>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@arishtiwari/envguard\">\n    <img src=\"https://img.shields.io/npm/v/@arshtiwari/envguard?style=for-the-badge\" alt=\"NPM Version\">\n  </a>\n  <a href=\"https://www.npmjs.com/package/@arishtiwari/envguard\">\n    <img src=\"https://img.shields.io/npm/dt/@arshtiwari/envguard?style=for-the-badge\" alt=\"Downloads\">\n  </a>\n  <a href=\"https://github.com/ArshTiwari2004/envguard/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/ArshTiwari2004/envguard?style=for-the-badge\" alt=\"GitHub Stars\">\n  </a>\n  <a href=\"https://github.com/ArshTiwari2004/envguard/blob/main/LICENSE\">\n    <img src=\"https://img.shields.io/github/license/ArshTiwari2004/envguard?style=for-the-badge\" alt=\"License\">\n  </a>\n</p>\n\n\n---\n\n## Quick Start\n\n\n### Install via NPM\n\n\n```bash\nnpm install @arshtiwari/envguard\n```\n\n### Add to Project Startup\n\n```bash\nrequire('envguard'); // Validates env vars on startup\n```\n\n### Or Use CLI\n\n```bash\nnpx envguard validate\n```\n\n\n\n## Features\n\n- **Zero-config:** Works out-of-the-box with your existing `.env.example`\n- **Framework-agnostic:** Use in any Node.js or frontend project\n- **Auto-documentation:** Keeps `.env.example` up-to-date\n- **CLI & Programmatic API:** Validate env vars in scripts, CI, or app startup\n- **React UI:** Visualize, debug, and document env variables (dev only)\n- **Descriptive errors:** Friendly messages for missing/misconfigured variables\n\n---\n\n\n# 🧰 Tech Stack\n\n| Category        | Technologies                               |\n|----------------|--------------------------------------------|\n| Backend/Core    | TypeScript, Node.js                        |\n| Schema Validation | Zod, Custom Schema Generator              |\n| File Parsing    | dotenv, fs-extra                          |\n| CLI             | yargs, commander                          |\n| Frontend (UI)   | React.js, Vite , TailwindCSS      |\n| Testing         | Jest                                      |\n| CI/CD           | GitHub Actions                            |\n\n\n\n\n\n\n\n## Installation and setup\n\n### 1. Install\n\n```bash\nnpm install --save-dev envguard\n```\n### 2. Validate in CLI\n\n```bash\nnpx envguard validate\n```\n\n\n### 3. Use Programmatically\n\n```bash\nconst { runEnvguard } = require('envguard');\nif (!runEnvguard()) {\nprocess.exit(1);\n}\n```\n\n### 4. Access frontend\n\n```bash\ncd ui\nnpm install\nnpm run dev\n```\n\nVisit [http://localhost:5173](http://localhost:5173) to view the UI.\n\n---\n\n## Folder Structure\n\n```bash\n\nenvguard/\n├── .env.example                # Example env file for validation\n├── .gitignore\n├── README.md                   # Project documentation\n├── package.json\n├── babel.config.js             # Babel config for transpiling (if needed)\n├── jest.config.js              # Jest config for tests\n├── tsconfig.json               # TypeScript config (optional)\n├── LICENSE\n├── dist/                       # Transpiled output for npm (ignored in VCS)\n│   └── ...                     # Compiled JS files\n├── src/                        # Main source code\n│   ├── index.js                # Main entry point (exports runEnvguard)\n│   ├── parser/\n│   │   └── envExampleParser.js\n│   ├── schema/\n│   │   └── schemaGenerator.js\n│   ├── validator/\n│   │   └── validator.js\n│   ├── reporter/\n│   │   └── errorReporter.js\n│   ├── cli/\n│   │   └── cli.js              # CLI entry point\n│   ├── utils/\n│   │   └── helpers.js\n│   └── types/\n│       └── index.d.ts          # Type definitions\n├── server/                     # Backend server for live UI (optional)\n│   └── server.js\n├── scripts/                    # Utility scripts (e.g., generate .env.example)\n│   └── generateEnvExample.js\n├── tests/                      # Jest test files\n│   ├── parser.test.js\n│   ├── schema.test.js\n│   ├── validator.test.js\n│   └── cli.test.js\n├── ui/                         # React UI dashboard (dev/optional)\n│   ├── src/\n│   │   ├── App.jsx\n│   │   ├── main.jsx\n│   │   ├── index.css\n│   │   └── components/\n│   │       └── EnvTable.jsx\n│   ├── public/\n│   │   ├── index.html\n│   │   └── env-vars.json       # (for demo, replaced by API in prod)\n│   ├── tailwind.config.js\n│   └── vite.config.js\n├── website/                    # Landing page (for npm promotion)\n│   ├── src/\n│   │   ├── App.jsx\n│   │   ├── main.jsx\n│   │   └── components/\n│   │       ├── Hero.jsx\n│   │       └── Pricing.jsx\n│   ├── public/\n│   │   └── index.html\n│   ├── tailwind.config.js\n│   └── vite.config.js\n\n```\n\n\n---\n\n## How It Works\n\n1. **Parse** your `.env.example` for variable names and defaults.\n2. **Generate** a validation schema automatically.\n3. **Validate** your actual environment (`process.env`) against the schema.\n4. **Report** errors in CLI, programmatically, or visually in the UI.\n\n---\n\n## Contributing\n\nPull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.\n\n---\n\n## License\n\nMIT © Arsh Tiwari\n\n\n---\n\n## 📬 Contact\n\nHave questions or need help? Feel free to reach out!\n\n- **Email:** [arshtiwari12345@gmail.com](mailto:arshtiwari12345@gmail.com)\n- **GitHub:** [@ArshTiwari2004](https://github.com/ArshTiwari2004)\n- **Twitter/X:** [@ArshTiwari17](https://x.com/ArshTiwari17)\n- **LinkedIn:** [Arsh Tiwari](https://www.linkedin.com/in/arsh-tiwari-072609284/)\n\nFor bug reports or feature requests, please [open an issue](https://github.com/ArshTiwari2004/envguard/issues) on GitHub.\n\n---\n\n<p align=\"center\">\n  <i> Happy coding! May your environment variables always be valid. ✨</i>\n</p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","readmeFilename":"README.md"}