Environment Variable Handler
Core Rules
- NO
.env.example: Do not create this file. Use.envas the template. - Secrets in
.env.local: Actual sensitive values must live in.env.local(git-ignored). - Placeholders: Every variable in
.env.localMUST have a corresponding entry in.env.- If sensitive:
KEY="" - If public/common:
KEY="default_value"
- If sensitive:
Instructions
1. Adding a New Sensitive Variable
When you need to add a secret (e.g., REPLICATE_API_TOKEN):
-
Update
.env: Add the variable with an empty string value.# .env REPLICATE_API_TOKEN="" -
Ask the User: Explicitly request the user to add the actual value to their local secrets file.
"I have added
REPLICATE_API_TOKENto your.envfile. Please open.env.localand add the actual token:REPLICATE_API_TOKEN=your_token_here"
2. Adding a Non-Sensitive Variable
When adding a public or configuration variable (e.g., NEXT_PUBLIC_APP_URL):
- Update
.env: Add the variable with its default or development value.# .env NEXT_PUBLIC_APP_URL="http://localhost:3000"
3. Reading Variables
- Server-side:
process.env.KEY - Client-side:
process.env.NEXT_PUBLIC_KEY
Checklist
- [ ] Is the variable in
.env? - [ ] If sensitive, is the value in
.envempty? - [ ] Did I ask the user to update
.env.local?