Awesome
Envolve-Go
Synchronize environment variables across projects and manage .env files. Automates the restoration of .env files for all projects, ensures consistency by syncing variables from a global .env file, and creates symbolic links to maintain the latest environment settings.
Motivation
In today's fast-paced world, the demand for reliable and efficient software solutions continues to grow. As developers, we strive not only to meet these demands but to exceed them by creating robust applications that solve real-world problems.
-
Disorganization: Multiple .env files scattered across various project folders can lead to disorganization and confusion.
-
Configuration Changes: Over time, you may need to update environment variables across multiple projects. Manually making these changes in each .env file is tedious and error-prone.
-
Data Loss: When you delete or archive a project, you risk losing the associated .env files and their crucial configuration data.
The motivation behind our project stems from the desire to streamline and enhance the development process. We understand the challenges developers face daily – from managing configurations to ensuring seamless deployment. Our goal is to simplify these complexities and empower developers to focus more on innovation and less on repetitive tasks.
Join us on this journey of innovation and efficiency as we continue to push the boundaries of what's possible in software development.
Envolve's Solution
Envolve aims to address these issues by providing a streamlined solution:
-
Centralization: Envolve centralizes all your .env files in a dedicated folder, making it easy to find and manage them.
-
Symlink Support: Envolve allows you to create symbolic links to your .env files, ensuring that you don't lose crucial configuration data when projects are deleted or archived.
-
Visualization: With Envolve, you can view the content of .env files in an organized tabular format for better clarity.
Related
Here are some related projects
How to Install on homebrew (Macos | Linux)
brew update
brew tap erdemkosk/envolve
brew install envolve
How to Install on winget (Windows)
winget source update
winget install envolve
Commands
Welcome to the Envolve!
Sync and Show
For example, you have an application called x-service. And you have an .env file inside this application, in this case, run the envolve sync command in that project. If you want, you can give the path and run it without being in that folder.With this, your .env file is copied to the .envolve folder and given as a symlink to the file you are working on. This way, if you delete your project, your file will not be lost
SyncAll and Show
For example, you have a folder called projects. There is an .env file in each of your projects. If you do not want to sync them one by one, you can use sync-all. All your projects are automatically synced.
If you do not want to go to the Projects folder, you can give --path
Edit
Edit environment variables across projects. Using this, you can find all env files according to key and value and change them automatically with a single action.
Roadmap
-
Adding restore env files
-
Adding drive upload function with enc
Release on Brew
export GITHUB_TOKEN=xxxx
goreleaser --snapshot --clean //it will create new snapshot
git tag -a v1.0.0 -m "First release" && git push origin v1.0.0
goreleaser release --clean
brew tap erdemkosk/envolve
Contributors
A big thank you to all the contributors who have helped make Envolve better:
<table> <tr> <td align="center"> <a href="https://github.com/erdemkosk"> <img src="https://github.com/erdemkosk.png" width="100px;" alt="erdemkosk"/> <br /> <sub><b>Erdem Köşk</b></sub> </a> </td> <td align="center"> <a href="https://github.com/suleymantaspinar"> <img src="https://github.com/suleymantaspinar.png" width="100px;" alt="suleymantaspinar"/> <br /> <sub><b>Süleyman Taşpınar</b></sub> </a> </td> </tr> </table>