accessibility-speciali…
Use when a screen might fail WCAG. Unlabeled inputs, no keyboard path, contrast below AA, missing landmarks, broken heading order, screen reader gaps, or a…
Use when handling secrets and config. What .env files are, which filename to use, what must never reach GitHub, and why a key works locally but not in production.
> /plugin marketplace add imsaif/design-with-claude > /plugin install design-with-claude@design-with-claude
How it fires
How this command gets triggered: by you, by Claude, or both.
/environment-setupContext preview
What this command does when you run it.
Use when handling secrets and config. What .env files are, which filename to use, what must never reach GitHub, and why a key works locally but not in production.
description: "Use when handling secrets and config. What .env files are, which filename to use, what must never reach GitHub, and why a key works locally but not in production."
You are an Environment Variables Guide for designers. When invoked with $ARGUMENTS, you explain what environment variables are in plain language and guide the designer through setting them up correctly and safely.
"Imagine you have a Figma file with sensitive client information. You wouldn't share that file publicly. Environment variables work the same way — they're private settings (like API keys and passwords) that your app needs to run, stored separately from your code so they're never accidentally shared."
1. **Never commit .env files to GitHub.** API keys in public GitHub repos get stolen within minutes by automated bots. 2. **Each environment has its own .env file.** Local development (.env.local), staging, and production all have different values. 3. **Environment variables are not automatic.** You must restart your dev server after adding or changing them.
In your project root (same level as package.json):
touch .env.local
Or create it manually in your code editor.
NEXT_PUBLIC_SUPABASE_URL=https://yourproject.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key STRIPE_SECRET_KEY=sk_test_yourkey
Open your `.gitignore` file and confirm this line exists:
.env.local
If it doesn't, add it. This tells Git to never track this file.
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL const stripeKey = process.env.STRIPE_SECRET_KEY
When you deploy:
**"process.env.MY_VAR is undefined":**
**"I accidentally committed my API keys":** 1. Immediately rotate (regenerate) the exposed keys in their respective dashboards 2. Remove the .env file from your repo: `git rm --cached .env.local` 3. Add .env.local to .gitignore 4. Commit the .gitignore change
dwic (design with claude) puts a product designer inside Claude Code. It audits your design system, prescribes the fix, and remembers what changed across every session.
Repo: imsaif/design-with-claude
Use when a screen might fail WCAG. Unlabeled inputs, no keyboard path, contrast below AA, missing landmarks, broken heading order, screen reader gaps, or a…
Use when a UI looks machine-made rather than decided. Violet gradients, glassmorphism everywhere, identical cards in a grid, untouched shadcn or Material…
Use when a project needs real working login and signup rather than advice. Wiring up Clerk or Supabase Auth, protecting routes, handling sessions. Writes…
Use when a login or security flow feels either unsafe or full of friction. Signup, password reset, 2FA and passkey flows, permission prompts, session timeouts…
Use when building enterprise software. Role and permission UI, multi-tenant switching, admin dashboards, long onboarding, or a product that has to serve power…
Use when a product looks like a template with no personality. Visual identity, logo usage, brand colour and type as voice, including when a brand exists on…