{"_id":"@anhuijie/envguard","_rev":"4-c78e2879dfa4407136f1949ecae76559","name":"@anhuijie/envguard","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@anhuijie/envguard","version":"1.0.0","keywords":["env","environment-variables","config","validation","security","dotenv","schema","documentation","ci-cd"],"author":{"name":"AnhuiJie","email":"anhuijie@example.com"},"license":"MIT","_id":"@anhuijie/envguard@1.0.0","maintainers":[{"name":"anhuijie","email":"1179407782@qq.com"}],"homepage":"https://github.com/AnhuiJie/envguard#readme","bugs":{"url":"https://github.com/AnhuiJie/envguard/issues"},"bin":{"envguard":"src/cli.js"},"dist":{"shasum":"0b9e2936af40579d87a1a8af5a79e2ca30893eec","tarball":"https://registry.npmjs.org/@anhuijie/envguard/-/envguard-1.0.0.tgz","fileCount":18,"integrity":"sha512-uxoA1qzMNJw+fVmwjC3NnZZ6CEs35xzt7Adkqp/KuO/j+QkJ00V2kN4GPm8NBxp42IvERcjOWXUaUmqLNmdkdg==","signatures":[{"sig":"MEUCIQDxRrruS/uvalKn3c3ZeOwpcupk5cyQYdCdvwjcpiK2vAIgBsB267qMoGPLV71RWXoGxrRR7EaDheczOdztyD6toWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48262},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"714bc87b6e08d303859d035695a342759252158f","scripts":{"lint":"eslint src/","test":"node --test test/**/*.test.js","start":"node src/cli.js"},"_npmUser":{"name":"anhuijie","email":"1179407782@qq.com"},"repository":{"url":"git+https://github.com/AnhuiJie/envguard.git","type":"git"},"_npmVersion":"11.12.1","description":"Environment variable & config validation, security scanning, and documentation generator for modern projects","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envguard_1.0.0_1780451909475_0.15921049977260093","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@anhuijie/envguard","version":"1.1.0","keywords":["env","environment-variables","config","validation","security","dotenv","schema","documentation","ci-cd"],"author":{"name":"AnhuiJie","email":"anhuijie@example.com"},"license":"MIT","_id":"@anhuijie/envguard@1.1.0","maintainers":[{"name":"anhuijie","email":"1179407782@qq.com"}],"homepage":"https://github.com/AnhuiJie/envguard#readme","bugs":{"url":"https://github.com/AnhuiJie/envguard/issues"},"bin":{"envguard":"src/cli.js"},"dist":{"shasum":"b60df6f1338f57c5ad856cb1be5071a647687a63","tarball":"https://registry.npmjs.org/@anhuijie/envguard/-/envguard-1.1.0.tgz","fileCount":18,"integrity":"sha512-0V6eXhKLdbvcr4utuDIU4YVnThEE1LgAmgD5npfLr2aP/52wJOyBQhBzq0lw9UU8ezNuZWGDAv3lm/uLH97uYA==","signatures":[{"sig":"MEYCIQCtJS7P70zlGm7dtbmAjCDGjWAoOuiWdVtPXp0utMZU2AIhAIG6iT5VHnxE9LMXIHnafdzMOehv2sacgKQGXeGROx6f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53344},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"67533154309f7053d2d124f87ea6227ba6dc9c12","scripts":{"lint":"eslint src/","test":"node --test test/**/*.test.js","start":"node src/cli.js"},"_npmUser":{"name":"anhuijie","email":"1179407782@qq.com"},"repository":{"url":"git+https://github.com/AnhuiJie/envguard.git","type":"git"},"_npmVersion":"11.12.1","description":"Environment variable & config validation, security scanning, and documentation generator for modern projects","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envguard_1.1.0_1780556637533_0.38278050487020177","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@anhuijie/envguard","version":"1.2.0","keywords":["env","environment-variables","config","validation","security","dotenv","schema","documentation","ci-cd"],"author":{"name":"AnhuiJie","email":"anhuijie@example.com"},"license":"MIT","_id":"@anhuijie/envguard@1.2.0","maintainers":[{"name":"anhuijie","email":"1179407782@qq.com"}],"homepage":"https://github.com/AnhuiJie/envguard#readme","bugs":{"url":"https://github.com/AnhuiJie/envguard/issues"},"bin":{"envguard":"src/cli.js"},"dist":{"shasum":"0ff471ddf4b7189154b952cc875fd7c8e575e485","tarball":"https://registry.npmjs.org/@anhuijie/envguard/-/envguard-1.2.0.tgz","fileCount":20,"integrity":"sha512-fsawVil1otRyOcOv5k2PkupBcuanKexp+ZGEzXO76ga0V/pn3m4ZJaag6YoWKZrKeipYmSpG6H5XlbQbakYsiQ==","signatures":[{"sig":"MEYCIQC+9qk/zelRkWqxqymcwpqkKQOeiOECd8ph6c45mjuP3QIhAKz1KFZVwXDs10Slc2en3Ro5WSzCFqWaLqVs1eOZ6E1V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62769},"main":"src/index.js","engines":{"node":">=18.0.0"},"gitHead":"084449795777c6c1736bb385c692590e0ee1e693","scripts":{"lint":"eslint src/","test":"node --test test/**/*.test.js","start":"node src/cli.js"},"_npmUser":{"name":"anhuijie","email":"1179407782@qq.com"},"repository":{"url":"git+https://github.com/AnhuiJie/envguard.git","type":"git"},"_npmVersion":"11.12.1","description":"Environment variable & config validation, security scanning, and documentation generator for modern projects","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/envguard_1.2.0_1780632236014_0.9190438112533383","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@anhuijie/envguard","version":"1.3.0","description":"Environment variable & config validation, security scanning, and documentation generator for modern projects","main":"src/index.js","bin":{"envguard":"src/cli.js"},"scripts":{"start":"node src/cli.js","test":"node --test test/**/*.test.js","lint":"eslint src/"},"keywords":["env","environment-variables","config","validation","security","dotenv","schema","documentation","ci-cd","template","framework","nextjs","express","django","rails"],"author":{"name":"AnhuiJie","email":"anhuijie@example.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/AnhuiJie/envguard.git"},"engines":{"node":">=18.0.0"},"gitHead":"de2afbdece1e75a5d929aeca8354be6c6e8095f8","_id":"@anhuijie/envguard@1.3.0","bugs":{"url":"https://github.com/AnhuiJie/envguard/issues"},"homepage":"https://github.com/AnhuiJie/envguard#readme","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-2rntnUH6AvGKZz0dxQuA5TpdzMY1mjkTHGivPZHq2MXZu/Vhw+JAQ23ym2phVB0qZb8vKu348+V6amQ+0cSjXQ==","shasum":"2f249c900688ff3b46328ec149ce4b29bb173377","tarball":"https://registry.npmjs.org/@anhuijie/envguard/-/envguard-1.3.0.tgz","fileCount":28,"unpackedSize":89863,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCA9PzMCvSuseU8vR9Xb7hLurlbyPq4oHEKCRJfmbx+PwIhAOthT9/UDVL+OyQrkM0bPwbe/JT6e4T5EM4y/f/Dsp2A"}]},"_npmUser":{"name":"anhuijie","email":"1179407782@qq.com"},"directories":{},"maintainers":[{"name":"anhuijie","email":"1179407782@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/envguard_1.3.0_1780726217682_0.1634637834035091"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-03T01:58:29.364Z","modified":"2026-06-06T06:10:17.954Z","1.0.0":"2026-06-03T01:58:29.608Z","1.1.0":"2026-06-04T07:03:57.681Z","1.2.0":"2026-06-05T04:03:56.147Z","1.3.0":"2026-06-06T06:10:17.831Z"},"bugs":{"url":"https://github.com/AnhuiJie/envguard/issues"},"author":{"name":"AnhuiJie","email":"anhuijie@example.com"},"license":"MIT","homepage":"https://github.com/AnhuiJie/envguard#readme","keywords":["env","environment-variables","config","validation","security","dotenv","schema","documentation","ci-cd","template","framework","nextjs","express","django","rails"],"repository":{"type":"git","url":"git+https://github.com/AnhuiJie/envguard.git"},"description":"Environment variable & config validation, security scanning, and documentation generator for modern projects","maintainers":[{"name":"anhuijie","email":"1179407782@qq.com"}],"readme":"<div align=\"center\">\n\n# 🛡️ EnvGuard\n\n**Environment Variable Validation, Security Scanning & Documentation Generator**\n\n[![CI](https://github.com/AnhuiJie/envguard/actions/workflows/ci.yml/badge.svg)](https://github.com/AnhuiJie/envguard/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/@anhuijie/envguard.svg)](https://www.npmjs.com/package/@anhuijie/envguard)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js >=18](https://img.shields.io/badge/node-%3E%3D18-green.svg)](https://nodejs.org/)\n\n[English](#english) · [中文](#中文) · [日本語](#日本語)\n\n</div>\n\n---\n\n<a id=\"english\"></a>\n\n## 🇬🇧 English\n\n### Why EnvGuard?\n\nMisconfigured environment variables are a leading cause of production incidents. EnvGuard provides a **single tool** to validate, secure, and document your project's configuration — catching errors before they reach production.\n\n### Features\n\n- **Schema Validation** — Define types, required fields, enums, ranges, and patterns for every variable\n- **Security Scanning** — Detect accidentally committed secrets (AWS keys, GitHub tokens, private keys, etc.)\n- **Log Redaction** — Automatically redact sensitive values in .env files and log output\n- **Framework Templates** — One-command config generation for Next.js, Express, Django, Rails, and more\n- **Auto Documentation** — Generate `.env.example` and markdown docs from your schema\n- **Environment Diff** — Compare `.env` files across dev/staging/prod to find drift\n- **CI/CD Ready** — Exit codes and GitHub Action integration for automated checks\n- **Zero Dependencies** — Pure Node.js, no external packages required\n- **Multi-format Support** — Works with `.env`, `.env.local`, `.env.production`, and more\n\n### Quick Start\n\n```bash\n# Install\nnpm install -g @anhuijie/envguard\n\n# Create config\nenvguard init\n\n# Validate environment variables\nenvguard validate\n\n# Scan for secrets\nenvguard check\n\n# Generate documentation\nenvguard docs\n\n# Compare environments\nenvguard diff .env.development .env.production\n\n# Redact sensitive values\nenvguard redact\nenvguard redact --output .env.redacted\n\n# List available framework templates\nenvguard template list\n\n# Apply a framework template\nenvguard template apply nextjs\n\n# Merge template into existing config\nenvguard template apply express --merge\n```\n\n### Configuration\n\nCreate `envguard.config.js` in your project root:\n\n```js\nmodule.exports = {\n  schema: {\n    NODE_ENV: {\n      required: true,\n      type: 'string',\n      enum: ['development', 'staging', 'production', 'test'],\n      description: 'Application environment',\n    },\n    PORT: {\n      required: false,\n      type: 'port',\n      default: '3000',\n      description: 'Server port',\n    },\n    DATABASE_URL: {\n      required: true,\n      type: 'url',\n      description: 'Database connection string',\n    },\n    JWT_SECRET: {\n      required: true,\n      type: 'string',\n      description: 'Secret key for JWT signing',\n    },\n  },\n  security: {\n    minSeverity: 'medium',\n    ignoreKeys: [],\n  },\n};\n```\n\n### Supported Types\n\n| Type | Description | Example |\n|------|-------------|---------|\n| `string` | Any string value | `any text` |\n| `number` | Numeric value with optional min/max | `42` |\n| `boolean` | true/false, 1/0, yes/no | `true` |\n| `url` | Valid URL | `https://example.com` |\n| `email` | Valid email address | `user@example.com` |\n| `port` | Valid port number (0-65535) | `3000` |\n| `json` | Valid JSON string | `'{\"key\":\"value\"}'` |\n| `regex` | Valid regex pattern | `^\\\\d+$` |\n| `date` | ISO 8601 date string | `2024-01-15` |\n| `semver` | Semantic version | `1.2.3` |\n| `color` | CSS color (hex, rgb, named) | `#ff6600` |\n\n### Rule Options\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `required` | boolean | Variable must be set |\n| `type` | string | Value type validation |\n| `default` | any | Default value if not set |\n| `enum` | array | Allowed values |\n| `min` / `max` | number | Range constraints (for `number` type) |\n| `pattern` | string | Regex pattern the value must match |\n| `deprecated` | boolean | Mark as deprecated |\n| `replacement` | string | Suggested replacement for deprecated vars |\n| `description` | string | Human-readable description |\n\n### Security Scanning\n\nEnvGuard detects these secret types:\n\n- AWS Access Keys & Secret Keys\n- GitHub / GitLab Tokens\n- Slack Tokens\n- Stripe Live Keys\n- Private Keys (RSA, EC, DSA)\n- JWT Secrets\n- Database URLs with embedded passwords\n- Generic API Keys, Passwords, and Secrets\n\n### Log Redaction\n\nRedact sensitive values before sharing .env files or log output:\n\n```bash\n# Redact .env file values (shows which keys are redacted)\nenvguard redact\n\n# Write redacted file to disk\nenvguard redact --output .env.redacted\n\n# Redact a text string (e.g. log message)\nenvguard redact --text \"Connected as admin:s3cret@db.example.com\"\n\n# Custom redaction mask\nenvguard redact --mask \"[REDACTED]\"\n\n# Skip specific keys\nenvguard redact --ignore-keys \"NODE_ENV,APP_NAME\"\n```\n\nProgrammatic API:\n\n```js\nconst { redactObject, redactString, createRedactionMiddleware } = require('@anhuijie/envguard');\n\n// Redact an object\nconst safe = redactObject(process.env);\n// { API_KEY: '***', DATABASE_URL: '***', PORT: '3000' }\n\n// Redact a string\nconst safeLog = redactString('User logged in with token=ghp_abc123');\n// 'User logged in with token=***'\n\n// Create middleware for logging libraries\nconst middleware = createRedactionMiddleware({ mask: '[HIDDEN]' });\nconsole.log(middleware('JWT_SECRET=abc123'));\n// 'JWT_SECRET=[HIDDEN]'\n```\n\n\n### Framework Templates\n\nGenerate project-specific configuration from built-in templates:\n\n```bash\n# List all available templates\nenvguard template list\n\n# Apply a template (creates envguard.config.js)\nenvguard template apply nextjs\nenvguard template apply express\nenvguard template apply django\nenvguard template apply rails\nenvguard template apply docker-compose\nenvguard template apply serverless\n\n# Merge template into existing config\nenvguard template apply express --merge\n\n# Overwrite existing config\nenvguard template apply nextjs --force\n```\n\nAvailable templates:\n\n| Template | Description | Variables |\n|----------|-------------|-----------|\n| `nextjs` | Next.js full-stack application | 11 vars (5 required) |\n| `express` | Express.js REST API server | 12 vars (3 required) |\n| `django` | Django Python web application | 16 vars (4 required) |\n| `rails` | Ruby on Rails web application | 18 vars (3 required) |\n| `docker-compose` | Docker Compose multi-container setup | 18 vars (1 required) |\n| `serverless` | Serverless Framework AWS Lambda | 20 vars (2 required) |\n\n### CI/CD Integration\n\n**GitHub Actions:**\n\n```yaml\n- name: Validate env config\n  run: npx @anhuijie/envguard validate\n\n- name: Security check\n  run: npx @anhuijie/envguard check\n```\n\nThe command exits with code `1` on validation errors or critical security findings, failing the build.\n\n### Programmatic API\n\n```js\nconst { validateEnv, scanForSecrets, generateEnvExample, redactObject, redactString } = require('@anhuijie/envguard');\n\nconst schema = { PORT: { required: true, type: 'port' } };\nconst result = validateEnv(process.env, schema);\n// { valid: true, errors: [], warnings: [], checked: 1 }\n\nconst secrets = scanForSecrets(process.env);\n// { findings: [], hasCritical: false, total: 0 }\n\nconst example = generateEnvExample(schema);\n// \"# Server port\\n# type: port\\nPORT=\\n\"\n\nconst safeEnv = redactObject(process.env);\n// { API_KEY: '***', PORT: '3000' }\n```\n\n### License\n\n[MIT](LICENSE)\n\n---\n\n<a id=\"中文\"></a>\n\n## 🇨🇳 中文\n\n### 为什么需要 EnvGuard？\n\n环境变量配置错误是生产事故的主要原因之一。EnvGuard 提供**一站式工具**来验证、保护和文档化项目配置——在错误到达生产环境之前就将其捕获。\n\n### 功能特性\n\n- **Schema 验证** — 为每个变量定义类型、必填、枚举、范围和正则模式\n- **安全扫描** — 检测意外提交的密钥（AWS 密钥、GitHub Token、私钥等）\n- **自动文档** — 从 Schema 生成 `.env.example` 和 Markdown 文档\n- **环境对比** — 比较 dev/staging/prod 的 `.env` 文件差异\n- **CI/CD 就绪** — 退出码和 GitHub Action 集成，支持自动化检查\n- **零依赖** — 纯 Node.js 实现，无需外部包\n- **多格式支持** — 支持 `.env`、`.env.local`、`.env.production` 等\n\n### 快速开始\n\n```bash\n# 安装\nnpm install -g @anhuijie/envguard\n\n# 创建配置\nenvguard init\n\n# 验证环境变量\nenvguard validate\n\n# 扫描敏感信息\nenvguard check\n\n# 生成文档\nenvguard docs\n\n# 对比环境差异\nenvguard diff .env.development .env.production\n```\n\n### 配置\n\n在项目根目录创建 `envguard.config.js`：\n\n```js\nmodule.exports = {\n  schema: {\n    NODE_ENV: {\n      required: true,\n      type: 'string',\n      enum: ['development', 'staging', 'production', 'test'],\n      description: '应用运行环境',\n    },\n    PORT: {\n      required: false,\n      type: 'port',\n      default: '3000',\n      description: '服务端口',\n    },\n    DATABASE_URL: {\n      required: true,\n      type: 'url',\n      description: '数据库连接字符串',\n    },\n    JWT_SECRET: {\n      required: true,\n      type: 'string',\n      description: 'JWT 签名密钥',\n    },\n  },\n  security: {\n    minSeverity: 'medium',\n    ignoreKeys: [],\n  },\n};\n```\n\n### 支持的类型\n\n| 类型 | 说明 | 示例 |\n|------|------|------|\n| `string` | 任意字符串 | `任意文本` |\n| `number` | 数值，支持 min/max | `42` |\n| `boolean` | true/false、1/0、yes/no | `true` |\n| `url` | 合法 URL | `https://example.com` |\n| `email` | 合法邮箱 | `user@example.com` |\n| `port` | 合法端口号 (0-65535) | `3000` |\n| `json` | 合法 JSON 字符串 | `'{\"key\":\"value\"}'` |\n| `regex` | 合法正则表达式 | `^\\\\d+$` |\n| `date` | ISO 8601 日期字符串 | `2024-01-15` |\n| `semver` | 语义化版本号 | `1.2.3` |\n| `color` | CSS 颜色（hex、rgb、命名色） | `#ff6600` |\n\n### 安全扫描\n\nEnvGuard 可检测以下密钥类型：\n\n- AWS 访问密钥和密钥\n- GitHub / GitLab Token\n- Slack Token\n- Stripe Live Key\n- 私钥（RSA、EC、DSA）\n- JWT 密钥\n- 包含密码的数据库连接 URL\n- 通用 API Key、密码和密钥\n\n### CI/CD 集成\n\n**GitHub Actions：**\n\n```yaml\n- name: 验证环境配置\n  run: npx @anhuijie/envguard validate\n\n- name: 安全检查\n  run: npx @anhuijie/envguard check\n```\n\n验证失败或发现严重安全问题时，命令以退出码 `1` 退出，使构建失败。\n\n### 编程式 API\n\n```js\nconst { validateEnv, scanForSecrets, generateEnvExample, redactObject, redactString } = require('@anhuijie/envguard');\n\nconst schema = { PORT: { required: true, type: 'port' } };\nconst result = validateEnv(process.env, schema);\n// { valid: true, errors: [], warnings: [], checked: 1 }\n\nconst secrets = scanForSecrets(process.env);\n// { findings: [], hasCritical: false, total: 0 }\n\nconst example = generateEnvExample(schema);\n// \"# Server port\\n# type: port\\nPORT=\\n\"\n\nconst safeEnv = redactObject(process.env);\n// { API_KEY: '***', PORT: '3000' }\n```\n\n### 许可证\n\n[MIT](LICENSE)\n\n---\n\n<a id=\"日本語\"></a>\n\n## 🇯🇵 日本語\n\n### なぜ EnvGuard が必要か？\n\n環境変数の設定ミスは本番障害の主要な原因の一つです。EnvGuard は、プロジェクトの設定を検証・保護・文書化する**オールインワンツール**を提供し、エラーが本番環境に到達する前に検出します。\n\n### 機能\n\n- **スキーマ検証** — 各変数の型、必須、列挙、範囲、正規表現パターンを定義\n- **セキュリティスキャン** — 誤ってコミットされたシークレットの検出（AWS キー、GitHub トークン、秘密鍵など）\n- **自動ドキュメント生成** — スキーマから `.env.example` と Markdown ドキュメントを生成\n- **環境比較** — dev/staging/prod の `.env` ファイルの差分を検出\n- **CI/CD 対応** — 終了コードと GitHub Action 統合による自動チェック\n- **ゼロ依存** — 外部パッケージ不要のピュア Node.js 実装\n- **マルチフォーマット対応** — `.env`、`.env.local`、`.env.production` などに対応\n\n### クイックスタート\n\n```bash\n# インストール\nnpm install -g @anhuijie/envguard\n\n# 設定ファイルの作成\nenvguard init\n\n# 環境変数の検証\nenvguard validate\n\n# セキュリティスキャン\nenvguard check\n\n# ドキュメント生成\nenvguard docs\n\n# 環境の比較\nenvguard diff .env.development .env.production\n```\n\n### 設定\n\nプロジェクトルートに `envguard.config.js` を作成：\n\n```js\nmodule.exports = {\n  schema: {\n    NODE_ENV: {\n      required: true,\n      type: 'string',\n      enum: ['development', 'staging', 'production', 'test'],\n      description: 'アプリケーション環境',\n    },\n    PORT: {\n      required: false,\n      type: 'port',\n      default: '3000',\n      description: 'サーバーポート',\n    },\n    DATABASE_URL: {\n      required: true,\n      type: 'url',\n      description: 'データベース接続文字列',\n    },\n    JWT_SECRET: {\n      required: true,\n      type: 'string',\n      description: 'JWT 署名用シークレットキー',\n    },\n  },\n  security: {\n    minSeverity: 'medium',\n    ignoreKeys: [],\n  },\n};\n```\n\n### サポート型\n\n| 型 | 説明 | 例 |\n|----|------|-----|\n| `string` | 任意の文字列 | `任意のテキスト` |\n| `number` | 数値（min/max 対応） | `42` |\n| `boolean` | true/false、1/0、yes/no | `true` |\n| `url` | 有効な URL | `https://example.com` |\n| `email` | 有効なメールアドレス | `user@example.com` |\n| `port` | 有効なポート番号 (0-65535) | `3000` |\n| `json` | 有効な JSON 文字列 | `'{\"key\":\"value\"}'` |\n| `regex` | 有効な正規表現パターン | `^\\\\d+$` |\n| `date` | ISO 8601 日付文字列 | `2024-01-15` |\n| `semver` | セマンティックバージョン | `1.2.3` |\n| `color` | CSS カラー（hex、rgb、名前付き） | `#ff6600` |\n\n### セキュリティスキャン\n\nEnvGuard は以下のシークレットタイプを検出します：\n\n- AWS アクセスキー・シークレットキー\n- GitHub / GitLab トークン\n- Slack トークン\n- Stripe ライブキー\n- 秘密鍵（RSA、EC、DSA）\n- JWT シークレット\n- パスワード埋め込みデータベース URL\n- 汎用 API キー、パスワード、シークレット\n\n### CI/CD 統合\n\n**GitHub Actions：**\n\n```yaml\n- name: 環境設定の検証\n  run: npx @anhuijie/envguard validate\n\n- name: セキュリティチェック\n  run: npx @anhuijie/envguard check\n```\n\n検証エラーや重大なセキュリティ問題が見つかった場合、コマンドは終了コード `1` で終了し、ビルドを失敗させます。\n\n### プログラマティック API\n\n```js\nconst { validateEnv, scanForSecrets, generateEnvExample, redactObject, redactString } = require('@anhuijie/envguard');\n\nconst schema = { PORT: { required: true, type: 'port' } };\nconst result = validateEnv(process.env, schema);\n// { valid: true, errors: [], warnings: [], checked: 1 }\n\nconst secrets = scanForSecrets(process.env);\n// { findings: [], hasCritical: false, total: 0 }\n\nconst example = generateEnvExample(schema);\n// \"# Server port\\n# type: port\\nPORT=\\n\"\n\nconst safeEnv = redactObject(process.env);\n// { API_KEY: '***', PORT: '3000' }\n```\n\n### ライセンス\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}