https://github.com/reegodev/confidante
🔐 Securely share your environment files through password managers
https://github.com/reegodev/confidante
dotenv environment-variables secret-management secret-sharing secrets secrets-management share
Last synced: about 1 year ago
JSON representation
🔐 Securely share your environment files through password managers
- Host: GitHub
- URL: https://github.com/reegodev/confidante
- Owner: reegodev
- License: mit
- Created: 2022-04-29T13:04:55.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-17T11:59:53.000Z (almost 3 years ago)
- Last Synced: 2025-02-27T12:39:37.720Z (over 1 year ago)
- Topics: dotenv, environment-variables, secret-management, secret-sharing, secrets, secrets-management, share
- Language: TypeScript
- Homepage:
- Size: 331 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/confidante)
[](https://github.com/reegodev/confidante/actions)
[](https://codecov.io/gh/reegodev/confidante)
# 🔐 Confidante
Securely share your environment files through password managers.
Confidante is a wrapper around your favourite passoword manager's CLI and uses secure notes to store your local environment files remotely.
If you work in a small team, you can use Confidante as a source of truth to easily share you local secrets with your colleagues.
## Quick Start
```bash
npx confidante --help
```
or if you need to update to the latest version
```bash
npx confidante@latest --help
```
## Usage
### Push an environment file to your password manager
```bash
npx confidante push [FILEPATH] [ENTRYNAME] [-a ] [-v ]
```
> For all available arguments and flags type `npx confidante push --help`
### Pull an environment file from your password manager
```bash
npx confidante pull [FILEPATH] [ENTRYNAME] [-a ] [-v ]
```
> For all available arguments and flags type `npx confidante pull --help`
## Adapters
Adapters are used to create a standardized interface between Confidante and password managers.
Available adapters:
- 1Password: To use this adapter, you need to install the [1Password CLI](https://1password.com/downloads/command-line/) and setup either [Manual login](https://developer.1password.com/docs/cli/sign-in-manually) or [Biometric unlock](https://developer.1password.com/docs/cli/about-biometric-unlock)
Adapters on the roadmap:
- LastPass
- Bitwarden
- Dashlane
If you wish to use Confidante with a password manager not mentioned in the list, feel free to open an issue!
## Configuration
You can use a configuration file to omit command arguments.
Create a file named `.confidante.json` at the root of your project and add the following content:
```json
{
"adapter": "",
"vault": "",
"filePath": "",
"entryName": ""
}
```
> You can also automatically generate the file when running the pull command with the -s or --save flag.
Then your commands will be as simple as
```bash
npx confidante push
npx confidante pull
```
## Examples
Push a `.env` file to the password manager
```bash
npx confidante push .env "Local .env" -a 1password -v "My project"
````
Push a Rails `application.yml` to the password manager
```bash
npx confidante push config/application.yml "Rails application.yml" -a 1password -v "My project"
```
## License
[MIT](https://opensource.org/licenses/MIT)