← 全部工具

chirag127/envpact-npm-cli

热度 75 更新于 开发与构建

Centralized, serverless secrets manager CLI for solo devs (Node.js, zero dependencies)

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

envpact-cli

One private vault, every project, zero infrastructure, $0 forever — a centralized, serverless, Git-backed secrets manager for solo devs juggling 100+ public repos.

Zero-dependency CLI for envpact — a centralized, serverless, Git-backed secrets manager for solo developers managing 100+ public GitHub repositories.

One private vault, every project, zero infrastructure, $0 forever.

Links: Repo · Live docs · npm · envpact umbrella

⭐ If this is useful, please star the repo — it helps other developers find it.

Why envpact?

If you maintain dozens of public repos, you can't commit .env files. You also can't afford to duplicate the same OPENAIAPIKEY, STRIPESECRETKEY, and DATABASEURL across 40 projects — when they leak or expire, rotation becomes a 200-step manual nightmare.

envpact solves this with a single private GitHub repo holding a single secrets.json file. Project-specific secrets reference shared secrets via a shared.KEYNAME syntax. Rotate once → every project resolves the new value on next run.

How the CLI resolves secrets

flowchart LR
    vault[(chirag127/envpact-secrets<br/>private vault repo<br/>secrets.json)]
    cli[[envpact-cli]]
    ex[.env.example in project]
    out[.env written<br/>mode 0600, gitignored]

    vault -- git pull --> cli
    ex -- required keys --> cli
    cli -- resolve shared.* refs<br/>+ project values --> cli
    cli -- write --> out
    cli -- commit new keys back --> vault
    cli -. --github .-> gha[GitHub Actions secrets]

Installation

# Run with no install (recommended)
npx envpact-cli

# Or install globally
npm install -g envpact-cli

Quick Start

# 1. Create your private vault (auto via gh CLI)
npx envpact-cli --init auto

# 2. In any project with a .env.example, generate the full .env
cd my-project
npx envpact-cli
# → resolves shared refs, prompts for missing values, writes .env

# 3. Sync a single key in either direction
npx envpact-cli --pull DATABASE_URL    # vault → .env
npx envpact-cli --push DATABASE_URL    # .env → vault

npx envpact-cli --status

5. Sync secrets to GitHub Actions for CI/CD

npx envpact-cli --github