Claude-skill-registry env-management

Manage environment variables with split .env.client and .env.api structure. Use when adding new env vars, debugging config issues, or setting up environments.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/env-management" ~/.claude/skills/majiayu000-claude-skill-registry-env-management && rm -rf "$T"
manifest: skills/data/env-management/SKILL.md
source content

Environment Variables

Split Structure

This project uses split env files (see

docs/PRDs/env-system-refactor.md
):

FilePurposePrefix
.env.client
Public browser vars
NEXT_PUBLIC_*
.env.api
Server secretsNo prefix

Adding New Variables

Client-side (Public)

  1. Add to
    .env.client
    :
    NEXT_PUBLIC_API_URL=https://api.example.com
    
  2. Access in code:
    const url = process.env.NEXT_PUBLIC_API_URL;
    

Server-side (Secret)

  1. Add to
    .env.api
    :
    STRIPE_SECRET_KEY=sk_live_xxx
    
  2. Access only in server code:
    // Only in app/api/*, server/*, or Server Components
    const key = process.env.STRIPE_SECRET_KEY;
    

Security Rules

  • Never put secrets in
    .env.client
  • Never prefix secrets with
    NEXT_PUBLIC_
  • Supabase anon key is public (safe for client)
  • Supabase service role key is secret (API only)

Local Development

Copy example files:

cp .env.client.example .env.client
cp .env.api.example .env.api

Cloudflare Deployment

Set vars in Cloudflare Pages dashboard under Settings > Environment Variables.