AI-Native by Design
Built for the AI coding era. Let Claude, Copilot, and Cursor help with secrets—without ever seeing the values. Includes a Claude Code Skill.
Install the Claude Code / OpenCode skill, then let AI handle the rest:
npx @chriscode/hush skillOnce installed, just ask your AI: “Set up Hush for this project”
# Install Hushnpm install -D @chriscode/hush
# Initialize confignpx hush init
# Encrypt your secretsnpx hush encryptAI-Native by Design
Built for the AI coding era. Let Claude, Copilot, and Cursor help with secrets—without ever seeing the values. Includes a Claude Code Skill.
Every Framework
Next.js, Vite, Expo, Remix, Cloudflare Workers, Kubernetes—route NEXT_PUBLIC_* to frontend, server secrets to API.
Encrypted in Git
Commit .env.encrypted files safely. SOPS + age encryption your security team will approve. Single source of truth.
Multiple Formats
Output to dotenv, Wrangler .dev.vars, JSON, YAML, or shell exports. Each package gets secrets in the format it needs.
# Initialize configurationnpx hush init
# Encrypt your .env filesnpx hush encrypt
# Decrypt for developmentnpx hush decrypt
# Decrypt for productionnpx hush decrypt -e production
# Push to Cloudflare Workersnpx hush pushIn a monorepo, you have multiple packages that each need different subsets of environment variables:
EXPO_PUBLIC_* variablesNEXT_PUBLIC_* variablesCopying .env files manually is error-prone. Committing unencrypted secrets is a security risk.
Hush gives you a single encrypted source of truth that automatically distributes the right secrets to the right places:
sources: shared: .env development: .env.development production: .env.production
targets: - name: app path: ./app format: dotenv include: - EXPO_PUBLIC_*
- name: api path: ./api format: wrangler exclude: - EXPO_PUBLIC_*One command. All packages. Correct secrets.