Skip to content

Can't keep your env files in order. Skill issue. Here's a cli that solves it.

License

Notifications You must be signed in to change notification settings

nicolasLuduena/envbro

Repository files navigation

EnvBro: Your New Best Friend for Environment Files

Tired of juggling multiple environment files? EnvBro is here to help! This CLI (Command-Line Interface) tool helps you manage environments with ease, making it perfect for developers who work on projects with different configuration sets. Warning: It's in beta. Some features are a work in progress yet.

Features

  • Register: Add a new environment to a project using envbro register. Supports local files or remote P2P tickets.
  • Set: Set the environment for a project by running envbro set.
  • Rm: Remove an environment from a project with envbro rm.
  • List: List all environments available for a project or globally using envbro list.
  • Show: View the contents of a stored environment file.
  • Share: Share an environment peer-to-peer securely.

Installation

To get started, you can install envbro using Cargo:

cargo install envbro

Usage

Register New Environment

Add a new environment to a project. You can register a local file or download one from a remote peer using a ticket.

From local file:

envbro register <project_name> <environment> --path=<file_path>

From remote ticket:

envbro register <project_name> <environment> --ticket=<iroh_ticket> [--filename=<target_filename>]

Replace <project_name>, <environment>, <file_path>, and <iroh_ticket> with your actual values.

Set Environment

Set the environment for a project by running:

envbro set <project_name> <environment>

This will apply the environment variables from the stored environment to your current context (mechanism depends on specific implementation, e.g., symlinking or decrypting to a file).

Remove Environment

Remove an environment from a project by running:

envbro rm <project_name> <environment>

List Environments

List all environments available for a project or globally using:

envbro list [--project=<project_name>]

Show Environment

View the contents of an environment file:

envbro show <project_name> <environment>

Share Environment

Share an environment with another peer:

envbro share <project_name> <environment>

This will generate a ticket that you can share with another user to let them register this environment securely.

Acknowledgments

EnvBro is powered by Iroh, which provides the robust peer-to-peer networking capabilities that make secure environment sharing possible.

Troubleshooting

If you encounter any issues, please refer to the Issues page on GitHub.

That's it! With EnvBro, managing your environment files has never been easier. Give it a try and see how much time you can save!

About

Can't keep your env files in order. Skill issue. Here's a cli that solves it.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages