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"
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. ``bash # .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_TOKEN to your .env file. Please open .env.local and 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. ``bash # .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?