Five commands. That's the whole workflow.

SlickEnv is designed to fit into how you already work. Install it, connect your project, push your .env, and pull it anywhere.

Three layers of protection

Most tools protect secrets in one place. SlickEnv covers all three surfaces where secrets leak.

Layer 1 — Files (Now)

Secret Scanner

53 patterns scan your current files, .env, MCP configs, and AI-generated code.

$ slickenv scan
Layer 2 — Git History (Past)

History Audit

Secrets deleted from files still exist in every commit. Scan, audit, and permanently clean your history.

$ slickenv git scan
Layer 3 — AI Tools (Future)

AI Firewall

Cursor, Claude Code, and Copilot read your project files by default. One command generates all four ignore files.

$ slickenv ai protect
Step 1

Install the CLI

Install via npm, Homebrew, or npx. Works on macOS, Linux, and Windows (via WSL).

$ npm install -g slickenv

Or use Homebrew or npx:

$ brew install slickenv/tap/slickenv
# or run without installing
$ npx slickenv
Step 2

Authenticate

Sign in with GitHub or Google. Your credentials are stored securely in your system keychain.

$ slickenv login
→ Opening browser for authentication...
✓ Authenticated as you@example.com
Step 3

Initialise your project

Link a directory to a SlickEnv project and environment. This creates a lightweight config file. No lock files, no heavy setup.

$ cd my-project
$ slickenv init
? Project name: my-project
? Environment: development
✓ Initialised — linked to my-project/development
Step 4

Push your environment

Push your local .env file to SlickEnv. It is encrypted, versioned, and stored securely.

$ slickenv push
✓ Pushed 14 variables — version 1 created.
Step 5

Pull anywhere

On a new machine, after cloning, or on a teammate's laptop, just pull. The latest version is written to your local .env file.

$ slickenv pull
✓ Pulled version 1 — .env updated with 14 variables.

The everyday sync loop

Once you are set up, the daily workflow is two commands: push when you change something, pull when someone else does.

# You added a new variable locally
$ slickenv push
✓ Pushed 15 variables — version 8 created.

# Your teammate pulls the latest
$ slickenv pull
✓ Pulled version 8 — .env updated with 15 variables.

# Check what changed
$ slickenv diff
+ NEW_API_KEY=sk_live_xyz789

When conflicts happen

If you and a teammate both change the same variable, SlickEnv detects the conflict and asks you how to resolve it. Nothing is ever silently overwritten.

$ slickenv push
⚠ Conflict detected in 1 variable:

  API_URL
    Local:  https://staging.api.example.com
    Remote: https://api.example.com

? How would you like to resolve?
  › Keep local values
    Keep remote values
    Review one by one
    Abort

Ready to try it?

Install SlickEnv in under 30 seconds. Free for individual developers.