From rpw-building
Reusable APP_ENV env-file pattern for local development. Commit template.env, keep dev/test/prod env files local-only, and load the selected file at app startup.
npx claudepluginhub randypitcherii/rpw-agent-marketplace --plugin rpw-buildingThis skill uses the workspace's default tool permissions.
Use this skill when you are setting up environment-variable conventions for a new project or runtime entrypoint.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Use this skill when you are setting up environment-variable conventions for a new project or runtime entrypoint.
template.env with placeholders and comments.dev.env, test.env, and prod.env local-only (never committed).APP_ENV=dev|test|prod (default: dev).<APP_ENV>.env, validate required keys, and fail with a clear error if the file is missing..gitignore Entriesdev.env
test.env
prod.env
**/dev.env
**/test.env
**/prod.env
import os
from pathlib import Path
from dotenv import load_dotenv
valid = {"dev", "test", "prod"}
app_env = os.getenv("APP_ENV", "dev").strip().lower()
if app_env not in valid:
raise ValueError(f"Invalid APP_ENV '{app_env}'")
env_path = Path(__file__).parent / f"{app_env}.env"
if not env_path.exists():
raise FileNotFoundError(f"Missing {env_path}; copy template.env first")
load_dotenv(env_path)
template.env into dev.env/test.env/prod.env.APP_ENV=test ... and APP_ENV=prod ... examples.