ai-env-gen
v1.0.0
Published
Generate .env files by scanning your code for environment variables
Maintainers
Readme
ai-env-gen
Generate .env files by scanning your code for environment variables. Never miss a required config again.
Install & Run
npx ai-env-genWhat It Does
- Scans your codebase for
process.env.VARusage - Detects Vite (
import.meta.env), Deno, and destructured patterns - Categorizes variables (Auth, Database, API, etc.)
- Generates
.env.examplewith descriptions - Uses AI to describe unknown variables
Usage
# Scan current directory
npx ai-env-gen
# Scan specific directory
npx ai-env-gen -d ./src
# Custom output file
npx ai-env-gen -o .env.template
# Include placeholder values
npx ai-env-gen --include-values
# Merge with existing .env.example
npx ai-env-gen --merge
# Skip AI descriptions
npx ai-env-gen --no-aiExample Output
$ npx ai-env-gen
🔧 Environment Variable Generator
✓ Found 42 files
✓ Found 12 environment variables
✓ AI descriptions added
✅ Generated .env.example
Variables by category:
Database: 3
API: 4
Auth: 2
Config: 3
Usage locations:
DATABASE_URL: src/db/connect.ts
OPENAI_API_KEY: src/services/ai.ts (+2)
JWT_SECRET: src/auth/jwt.tsGenerated .env.example:
# Environment Variables
# Generated by ai-env-gen on 2025-02-05
# ─────────────────────────────────────
# Auth
# ─────────────────────────────────────
# Secret key for JWT signing
JWT_SECRET=
# Session encryption secret
SESSION_SECRET=
# ─────────────────────────────────────
# Database
# ─────────────────────────────────────
# Database connection string
DATABASE_URL=
# Redis connection URL
REDIS_URL=
# ─────────────────────────────────────
# API
# ─────────────────────────────────────
# OpenAI API key
OPENAI_API_KEY=
# Stripe secret key
STRIPE_SECRET_KEY=Detected Patterns
process.env.VAR_NAMEprocess.env['VAR_NAME']import.meta.env.VAR_NAME(Vite)Deno.env.get('VAR_NAME')const { VAR } = process.envenv('VAR_NAME')(Laravel-style)
Options
Options:
-d, --dir <path> Directory to scan (default: ".")
-o, --output <file> Output file (default: ".env.example")
-e, --extensions <ext> File extensions (default: "js,ts,jsx,tsx")
--include-values Add placeholder values
--merge Merge with existing file
--no-ai Skip AI descriptionsLicense
MIT - Built by LXGIC Studios
