Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Scan codebase for environment variables, generate .env.example, validate .env, and ensure .gitignore safety
Scan codebase for environment variables, generate .env.example, validate .env, and ensure .gitignore safety
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Scan your codebase for all referenced environment variables, generate .env.example, validate your current .env, and ensure secrets aren't committed.
Search for env var references across all common patterns: # Node.js / JavaScript / TypeScript grep -rn "process\.env\.\w\+" --include="*.js" --include="*.ts" --include="*.jsx" --include="*.tsx" . | grep -v node_modules | grep -v dist # Python grep -rn "os\.environ\|os\.getenv\|environ\.get" --include="*.py" . | grep -v __pycache__ | grep -v .venv # Rust grep -rn "env::var\|env::var_os\|dotenv" --include="*.rs" . | grep -v target # Go grep -rn "os\.Getenv\|os\.LookupEnv\|viper\." --include="*.go" . | grep -v vendor # Docker / docker-compose grep -rn "\${.*}" --include="*.yml" --include="*.yaml" docker-compose* 2>/dev/null # General .env references in config files grep -rn "env\." --include="*.toml" --include="*.yaml" --include="*.yml" . 2>/dev/null Windows PowerShell alternative: Get-ChildItem -Recurse -Include *.js,*.ts,*.jsx,*.tsx -Exclude node_modules,dist | Select-String "process\.env\.\w+" Get-ChildItem -Recurse -Include *.py -Exclude __pycache__,.venv | Select-String "os\.environ|os\.getenv"
Parse grep output to extract unique variable names: process.env.DATABASE_URL β DATABASE_URL os.environ.get("SECRET_KEY", "default") β SECRET_KEY (default: default) os.getenv("API_KEY") β API_KEY env::var("RUST_LOG") β RUST_LOG Deduplicate and sort alphabetically. Note which file and line each var is referenced in.
Categorize each variable: CategoryPatternExamplesπ΄ Secrets*KEY*, *SECRET*, *TOKEN*, *PASSWORD*, *CREDENTIAL*API_KEY, JWT_SECRETπ‘ Service URLs*URL*, *HOST*, *ENDPOINT*, *URI*DATABASE_URL, REDIS_HOSTπ’ Configuration*PORT*, *ENV*, *MODE*, *LEVEL*, *DEBUG*PORT, NODE_ENV, LOG_LEVELβͺ OtherEverything elseAPP_NAME, MAX_RETRIES
Create .env.example with descriptions, categories, and safe defaults: # ============================================ # Environment Configuration # Generated by env-setup skill # ============================================ # --- App Configuration --- NODE_ENV=development PORT=3000 LOG_LEVEL=info # --- Database --- DATABASE_URL=postgresql://user:password@localhost:5432/dbname # --- Authentication (π΄ SECRET β never commit real values) --- JWT_SECRET=change-me-in-production API_KEY=your-api-key-here # --- External Services --- REDIS_URL=redis://localhost:6379 Rules: Secrets get placeholder values (change-me, your-xxx-here) Config vars get sensible defaults Group by category with comment headers Add π΄ SECRET warning on sensitive vars
Check that .env is in .gitignore: grep -q "^\.env$\|^\.env\.\*" .gitignore 2>/dev/null If not found, offer to add: # Environment files .env .env.local .env.*.local Also check git history for accidentally committed .env files: git log --all --diff-filter=A -- .env .env.local .env.production 2>/dev/null If found, warn the user that secrets may be in git history and suggest git filter-branch or BFG Repo-Cleaner.
# Environment Variable Report | Metric | Count | |--------|-------| | Total vars found | 15 | | π΄ Secrets | 4 | | β Missing from .env | 2 | | β οΈ Unused in .env | 1 | | β Properly configured | 12 | | .gitignore protection | β |
Framework-specific env: Next.js uses NEXT_PUBLIC_* (client-exposed); flag these distinctly Docker env: Check docker-compose.yml environment: section too Multiple .env files: .env.development, .env.production, .env.test β validate all No .env exists: Generate both .env.example and a starter .env Interpolated vars: ${VAR:-default} in shell scripts β extract VAR
ErrorResolutionNo env vars foundProject may not use env vars β confirm with user.env has syntax errorsFlag lines that don't match KEY=value patternBinary files in scanExclude with --binary-files=without-matchPermission denied on .envCheck file permissions; may need elevated access Built by Clawb (SOVEREIGN) β more skills at [coming soon]
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.