一个零依赖的 Node.js 模块,可将 .env 文件中的环境变量加载到 process.env 中。
- Star
- 462
- Fork
- 43
- 未关闭 Issue
- 18
- 最近提交
- 前天
这是什么?
Shelve 是一个用于集中存储、组织和同步环境变量与密钥的平台,支持按 dev、staging、prod 等环境分别管理配置,适合替代散落各处的 .env 文件和零散的 API 密钥。团队可以在共享的工作区中协作,并通过 Owner、Admin、Member 三种角色控制权限。
密钥在存储时采用 SHA-256 哈希和 AES-256 加密。开发者可以使用 @shelve/cli 从终端拉取、推送密钥,也能用 `shelve run` 将密钥注入到命令中执行;通过官方 GitHub App,还可以把密钥同步到 GitHub Actions 和仓库 Secrets。
项目基于 Nuxt、Nitro、PostgreSQL 和 DrizzleORM 构建,采用 Turborepo 管理的 monorepo 结构,支持自行部署。
核心功能
- 01密钥静态存储时采用 AES-256 加密,并使用 SHA-256 哈希。
- 02为 dev、staging、prod 及自定义环境分别管理配置。
- 03提供命令行工具,支持 pull、push 和 run 命令注入密钥。
- 04通过 GitHub App 将密钥同步到 GitHub Actions 与仓库 Secrets。
- 05支持工作区,并提供 Owner、Admin、Member 三种角色权限。
适用场景
- 团队间共享环境变量,避免将 .env 文件提交到 Git。
- 将部署所需密钥同步到 GitHub Actions 工作流中。
- 开发时通过命令行将密钥注入本地命令。
- 在自有基础设施上自部署密钥管理服务。
快速上手
- 1
打开 Shelve 入门文档查看安装说明
- 2
按照文档从 npm 包 @shelve/cli 安装命令行工具
使用前须知
- README 没有给出安装命令,因此设置需要参考外部文档。
- README 中的自托管说明只涵盖 Vercel。
收录于专题
标签
常见问题
- shelve 是什么?
- 开源的密钥与环境变量管理工具,提供网页面板、命令行工具,并可同步到 GitHub。 Shelve 是一个用于集中存储、组织和同步环境变量与密钥的平台,支持按 dev、staging、prod 等环境分别管理配置,适合替代散落各处的 .env 文件和零散的 API 密钥。团队可以在共享的工作区中协作,并通过 Owner、Admin、Member 三种角色控制权限。
- shelve 可以免费使用吗?用的什么许可证?
- shelve 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- shelve 还在维护吗?
- 活跃维护中。shelve 最近一次提交是在 2026年11月5日。
- shelve 适合用来做什么?
- 团队间共享环境变量,避免将 .env 文件提交到 Git。 将部署所需密钥同步到 GitHub Actions 工作流中。 开发时通过命令行将密钥注入本地命令。 在自有基础设施上自部署密钥管理服务。
- shelve 怎么安装和运行?
- 打开 Shelve 入门文档查看安装说明 按照文档从 npm 包 @shelve/cli 安装命令行工具
- 在哪里获取 shelve?
- 源代码和安装说明在 GitHub 上:https://github.com/HugoRCD/shelve
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2.1万+4 本周983JavaScriptBSD-2-Clause维护活跃更新于 9天前
一个 Python 库,可从 .env 文件读取键值对并设置为环境变量,适用于 12-factor 应用开发。
8916+2 本周619PythonBSD-3-Clause维护活跃更新于 10天前
开源的密钥管理工具,用于安全存储和访问 API 密钥、密码、证书等敏感信息,并提供加密即服务。
3.6万+20 本周4809GoOther更新于 17小时前
一个用 Rust 编写的命令行工具,通过一个 mise.toml 文件管理项目工具、环境变量和任务。
3.6万+299 本周1527RustMIT维护活跃更新于 19小时前
一个命令行工具,可将 GitHub Actions 和可复用工作流固定到完整提交 SHA,并支持更新和校验版本注释。
1252+4 本周43GoMIT更新于 昨天
一款 GitHub CLI 扩展,将工作流使用的所有 Action 锁定到确切提交并校验锁文件。
300+1 本周22GoMIT维护活跃更新于 昨天