Skip to main content

environment-files

Rules for .env file handling, .env.example template format, and what's allowed vs forbidden. Use when working with environment variables, API keys, or configuration files.

ソース情報

リポジトリ
pmarashian/cursor-agent-skills
ソースの最終更新活動
2026年2月13日 19:51
検出された SKILL.md の言語
英語
スター
2
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
environment-files
description
Rules for .env file handling, .env.example template format, and what's allowed vs forbidden. Use when working with environment variables, API keys, or configuration files.
# Environment Files This skill provides comprehensive guidance on handling environment files, including `.env` files, `.env.example` templates, and security best practices. ## Overview Environment files contain sensitive configuration data that must be handled carefully. This skill defines what's allowed and forbidden when working with environment variables. ## Critical Rules ### DO NOT MODIFY **CRITICAL FILES - DO NOT MODIFY WITHOUT EXPLICIT INSTRUCTION:** - `.env` files: Never commit or modify environment files (except `.env.example` templates) - `.env.local`, `.env.development`, `.env.production` - All actual environment files - git configuration files ## Allowed Operations ### ✅ Create/Edit `.env.example` **ALLOWED:** - Create/edit `.env.example` - template showing required environment variables (no actual secrets) - Format: `KEY_NAME=example_value_here` (with descriptive placeholder values) **Example `.env.example`:** ``` DATABASE_URL=postgresql://user:password@localhost:5432/dbname NEXT_PUBLIC_API_URL=http://localhost:3000/api OPENAI_API_KEY=sk-your-api-key-here ``` ### ✅ Template Format Guidelines When creating `.env.example` files: 1. **Use descriptive placeholders:** - `sk-your-api-key-here` (not actual keys) - `postgresql://user:password@localhost:5432/dbname` (example connection string) - `http://localhost:3000/api` (example URLs) 2. **Include comments when helpful:** ``` # Database connection string DATABASE_URL=postgresql://user:password@localhost:5432/dbname # Public API endpoint NEXT_PUBLIC_API_URL=http://localhost:3000/api ``` 3. **Document required vs optional:** ``` # Required: API key for external service OPENAI_API_KEY=sk-your-api-key-here # Optional: Override default port PORT=3000 ``` ## Forbidden Operations ### ❌ Creating or Modifying Actual .env Files **FORBIDDEN:** - Creating or modifying `.env`, `.env.local`, `.env.development`, `.env.production`, or any other .env files - Never commit actual secrets, API keys, passwords, or sensitive data - Never read values from actual .env files ### ❌ Committing Sensitive Data **FORBIDDEN:** - Committing `.env` files to version control - Including actual API keys, passwords, or secrets in code - Hardcoding sensitive values in source files ### Backend: defensive defaults and .env persistence - In some environments, `.env` may not be persisted. For backend tasks, prefer **defensive defaults in code** (e.g. `process.env.REDIS_URL || 'redis://localhost:6379'`) and document in `.env.example`. - **Do not create or modify `.env`** in the repo; only create or update `.env.example` and document that users copy it to `.env` locally. Never commit `.env`. - Optionally: use env-based bcrypt cost (e.g. `BCRYPT_ROUNDS`) for dev vs prod so tests can be fast without editing source. ## Best Practices ### 1. .gitignore Verification Always ensure `.env` files are in `.gitignore`: ``` .env .env.local .env.development .env.production .env*.local ``` ### 2. Template Maintenance - Keep `.env.example` up to date with all required variables - Document variable purpose and format - Include example values that show expected format - Mark required vs optional variables ### 3. Security Checklist Before committing code, verify: - ✅ No `.env` files are staged for commit - ✅ `.env.example` contains only placeholders - ✅ No hardcoded secrets in source files - ✅ `.gitignore` includes `.env` patterns ## Integration with Other Skills This skill works with: - **git-best-practices**: For ensuring `.env` files are properly ignored - **pre-implementation-check**: For verifying environment setup before implementation ## Common Patterns ### Pattern 1: Creating .env.example ```bash # Create template file cat > .env.example << EOF # Database DATABASE_URL=postgresql://user:password@localhost:5432/dbname # API Keys OPENAI_API_KEY=sk-your-api-key-here # Server Configuration PORT=3000 NEXT_PUBLIC_API_URL=http://localhost:3000/api EOF ``` ### Pattern 2: Verifying .gitignore ```bash # Check if .env is ignored git check-ignore .env # Verify .gitignore contains .env patterns grep -E "\.env" .gitignore ``` ### Pattern 3: Template Validation Before committing, verify `.env.example`: - Contains no actual secrets - Has descriptive placeholder values - Documents all required variables - Includes helpful comments ## Troubleshooting ### Issue: .env File Accidentally Created **Solution:** 1. Remove from git tracking: `git rm --cached .env` 2. Add to `.gitignore`: `echo ".env" >> .gitignore` 3. Verify: `git status` should not show `.env` ### Issue: Secrets in Commit History **Solution:** 1. Remove sensitive data from repository 2. Rotate compromised credentials 3. Use `git filter-branch` or BFG Repo-Cleaner if needed 4. Update `.gitignore` to prevent future commits ## Examples ### ✅ Good .env.example ``` # Database Configuration DATABASE_URL=postgresql://user:password@localhost:5432/dbname # API Keys (get from service provider) OPENAI_API_KEY=sk-your-api-key-here STRIPE_SECRET_KEY=sk_test_your_stripe_key_here # Application Settings NODE_ENV=development PORT=3000 NEXT_PUBLIC_API_URL=http://localhost:3000/api ``` ### ❌ Bad .env.example (Contains Actual Secrets) ``` DATABASE_URL=postgresql://realuser:realpassword@realhost:5432/realdb OPENAI_API_KEY=sk-proj-actualRealKey123456789 ``` **Never include actual secrets, even in example files!**
GitHubで見る