@nishantwrp/bwenv
v0.1.0
Published
A modern, Bitwarden-based environment and secrets manager for developers
Maintainers
Readme
bwenv
A modern, Bitwarden-based environment and secrets manager for developers.
bwenv allows you to store your project's environment variables and secret files directly in your Bitwarden vault, making them easily accessible and secure across your development environments.
Features
- Bundled Bitwarden CLI: No need to install the Bitwarden CLI manually.
bwenvcomes with its own isolated and sandboxed Bitwarden environment. - Sandboxed Storage: All Bitwarden data and configuration are stored in an isolated directory (
~/.bwenv/data), preventing interference with your system-wide Bitwarden settings. - Project-Based Organization: Group secrets and files by project within a dedicated "Universe" folder in Bitwarden.
- Support for Files: Sync not just key-value pairs (
.env), but also secret files (e.g., certificates, keys). - Secure by Design: Automatically manages sessions and vault unlocking for every operation.
- Beautiful UI: Uses tables, colors, and spinners to provide clear feedback and an intuitive experience.
- Robust Sync: Effortlessly
importlocal changes to the vault orexportvault secrets to your local machine.
Installation
npm install -g @nishantwrp/bwenvGetting Started
1. Setup
Configure bwenv with your Bitwarden API credentials and choose a "Universe" folder where your projects will be stored.
bwenv setup2. Initialize a Project
In your project's root directory, run init to create a new project or link to an existing one in Bitwarden.
bwenv init3. Add Secrets and Files
Add individual environment variables or files to your Bitwarden project.
bwenv add DB_PASSWORD my-secret-password
bwenv add-file ./certs/server.key4. Sync with the Vault
# PUSH: Import local .env and tracked files to Bitwarden
bwenv import
# PULL: Export secrets from Bitwarden to your local machine
bwenv exportCLI Reference
bwenv setup: Configure API keys and universe folder.bwenv init: Initialize or link a project in the current directory.bwenv status: Show a detailed overview of your configuration, session, and project.bwenv ls [-r, --reveal]: List all secrets and files. Use--revealto see values and truncated content.bwenv get <name>: Display the value of a specific secret.bwenv get-file <path>: Download a specific file from Bitwarden (prompts before overwriting).bwenv add <name> <value>: Add or update a secret.bwenv remove <name>: Remove a secret.bwenv add-file <path>: Add or update a secret file.bwenv remove-file <path>: Remove a secret file from tracking.bwenv import: PUSH local changes to the Bitwarden vault.bwenv export [-f, --force]: PULL secrets from the vault to local files.
License
ISC
