惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
爱范儿
爱范儿
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
博客园 - 聂微东
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
罗磊的独立博客
Jina AI
Jina AI

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built a CLI that generates .env files so I never read d...
Joseph Kariuki · 2026-06-18 · via DEV Community

Joseph Kariuki

# EnvForge BETA v1.1

Structured .env scaffolding for modern applications.

Generate, validate, and protect environment variables for 14+ services – without ever opening a docs page.

Github repo
[https://github.com/Jos3456/envforge]

NPM version
(https://img.shields.io/npm/v/envforge-dev)

MIT License
(https://img.shields.io/badge/License-MIT-yellow.svg)


## Installation

bash
npm install envforge-dev


**Requirements:** Node.js 18 or later.

---

**## Quick Start**

bash
# 1. Generate an .env file and choose your providers
envforge init

# 2. Fill in your actual credentials
envforge fill

# 3. Check everything is set correctly
envforge validate


## All Commands

### Scaffolding

Command What it does
envforge init Create a new .env by selecting providers interactively
envforge add <provider> Add variables from a specific provider to your existing .env
envforge preset Generate a .env from a popular stack preset
envforge example Create a safe‑to‑commit .env.example file
envforge fill Interactively enter values (secret keys are masked)
envforge list Show all built‑in and custom providers

### Guardrails

Command What it does
envforge validate Check that all required variables are filled in
envforge scan Detect secret keys accidentally exposed in frontend code
envforge hook install Install a pre‑commit hook that runs validate + scan

### Customisation

Command What it does
envforge provider add Create a custom provider template
envforge registry update Download the latest providers from the community registry

## Built‑in Providers

Category Providers
Database Supabase, Neon, MongoDB Atlas
Auth Clerk, Auth0, Firebase
AI OpenAI, Anthropic (Claude)
Payments Stripe
Email Resend, SendGrid
Storage Cloudinary, AWS S3 / Cloudflare R2
Other Vercel

Missing a provider? Add your own with envforge provider add or contribute one to the community.


## Framework‑Aware Scanning

Use --framework for smarter detection:

# Next.js specific rules (app/ vs pages/, "use client")
envforge scan --framework next

The basic envforge scan works for any project.


Pre‑Commit Hook

Block commits that expose secrets or miss required variables:

envforge hook install

Now every commit runs envforge validate --quiet and envforge scan --quiet.


Custom Providers

Store your custom templates in .envforge.json (project) or ~/.envforge.json (global):

{
  "providers": [
    {
      "name": "my-api",
      "displayName": "My Custom API",
      "category": "other",
      "variables": [
        {
          "key": "MY_API_KEY",
          "description": "API key for My Service",
          "required": true,
          "secret": true,
          "example": "mk-xxxxxxxxxxxx"
        }
      ]
    }
  ]
}

Then use it:

envforge add my-api


Presets

Jump‑start common stacks:

Preset Providers
nextjs-supabase-stripe Supabase + Stripe
ai-saas OpenAI + Resend + Stripe
clerk-neon Clerk + Neon
image-upload Cloudinary + Supabase
fullstack-kit Clerk + Neon + Cloudinary + Stripe

Ignoring Files in Scans

Create a .envforgeignore file (same syntax as .gitignore) to exclude directories:

src/legacy
__tests__/


Contributing

New providers and features are welcome! Add a provider to src/core/templates/providers.ts or open an issue to request one.


License

MIT © Joseph Kariuki