open-index/open-npm huggingface dataset:
npm package: @mc2259/env-guardian
Description: Smart environment variable manager with validation and coercion
Author: Your Name
Latest version: 1.0.0

# smart-env

## 📦 Smart Environment Variable Manager

`smart-env` is a lightweight Node.js utility that loads and validates environment variables from `.env` files, ensuring correct types and required fields.

## 🚀 Features
- ✅ **Schema-based validation** (required fields, type enforcement)
- 🔄 **Auto-coercion** (convert "true" to `true`, "42" to `42`, etc.)
- 🛠 **Fallback defaults** if variables are missing
- 📂 **Multiple environment support** (`.env.development`, `.env.production`)
- 🔥 **CLI support** to validate env files
- 📌 **TypeScript support** (optional)

---

## 📥 Installation
```sh
npm install smart-env
```

---

## 🛠 Usage

### **1️⃣ Define your environment variables**
Create a `.env` file in your project root:
```env
API_KEY=my-secret-key
PORT=4000
DEBUG=true
```

### **2️⃣ Use `smart-env` in your project**
```js
const { loadEnv } = require('smart-env');

const schema = {
  PORT: { type: 'number', required: true, default: 3000 },
  DEBUG: { type: 'boolean', default: false },
  API_KEY: { type: 'string', required: true },
};

const config = loadEnv(schema);
console.log(config);
```

### **3️⃣ Run CLI to validate environment variables**
```sh
npx smart-env
```
✅ If everything is set up correctly, you'll see:
```
✅ Environment variables loaded successfully: { PORT: 4000, DEBUG: true, API_KEY: 'my-secret-key' }
```
❌ If a required variable is missing, it will throw an error:
```
❌ Error: Missing required env variable: API_KEY
```

---

## ⚙️ API

### **`loadEnv(schema: object): object`**
Loads and validates environment variables based on the schema.

#### **Schema Definition**
```js
const schema = {
  VARIABLE_NAME: { type: 'string' | 'number' | 'boolean', required: true/false, default: any }
};
```

### **CLI Usage**
```sh
npx smart-env
```

---

## 🧪 Running Tests
```sh
npm test
```

---

## 📜 License
This project is licensed under the MIT License.

---

## 👨‍💻 Author
Created by Maitreyi Chatterjee. Feel free to contribute!