{"id":22944702,"url":"https://github.com/erdemkosk/envolve","last_synced_at":"2025-08-12T22:32:37.360Z","repository":{"id":243800037,"uuid":"813284926","full_name":"erdemkosk/envolve","owner":"erdemkosk","description":"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.","archived":false,"fork":false,"pushed_at":"2024-07-10T11:07:12.000Z","size":44543,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-21T04:34:05.272Z","etag":null,"topics":["cli","cli-app","cli-tool","env","env-vars","environment-variables","golang"],"latest_commit_sha":null,"homepage":"https://erdemkosk.github.io/envolve-app/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erdemkosk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-10T20:29:43.000Z","updated_at":"2024-10-16T19:30:17.000Z","dependencies_parsed_at":"2024-06-19T02:48:13.535Z","dependency_job_id":"d476db3c-edec-43e7-9cda-e00dd36e8cf7","html_url":"https://github.com/erdemkosk/envolve","commit_stats":{"total_commits":57,"total_committers":3,"mean_commits":19.0,"dds":"0.052631578947368474","last_synced_commit":"6e5b827ce882673e696b5f463ceffc91512753a1"},"previous_names":["erdemkosk/envolve-go"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdemkosk%2Fenvolve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdemkosk%2Fenvolve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdemkosk%2Fenvolve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdemkosk%2Fenvolve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erdemkosk","download_url":"https://codeload.github.com/erdemkosk/envolve/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229711908,"owners_count":18112214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cli-app","cli-tool","env","env-vars","environment-variables","golang"],"created_at":"2024-12-14T14:19:49.313Z","updated_at":"2024-12-14T14:19:49.902Z","avatar_url":"https://github.com/erdemkosk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Logo](https://github.com/erdemkosk/envolve-ts/raw/master/logo.png)\n\n\n# Envolve-Go\n\nSynchronize environment variables across projects and **manage .env files**.\nAutomates 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**.\n\n\n## Motivation\n\n\nIn 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.\n\n1. **Disorganization**: Multiple .env files scattered across various project folders can lead to disorganization and confusion.\n\n2. **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.\n\n3. **Data Loss**: When you delete or archive a project, you risk losing the associated .env files and their crucial configuration data.\n\nThe **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.\n\nJoin us on this journey of innovation and efficiency as we continue to push the boundaries of what's possible in software development.\n\n\n\n## Envolve's Solution\n\n**Envolve** aims to address these issues by providing a streamlined solution:\n\n1. **Centralization**: Envolve centralizes all your .env files in a dedicated folder, making it easy to find and manage them.\n\n2. **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.\n\n3. **Visualization**: With Envolve, you can view the content of .env files in an organized tabular format for better clarity.\n\n## Related\n\nHere are some related projects\n\n[Node Version](https://github.com/erdemkosk/envolve-ts)\n\n## How to Install on homebrew (Macos | Linux)\n\n```bash\nbrew update\nbrew tap erdemkosk/envolve\nbrew install envolve\n```\n\n## How to Install on winget (Windows)\n\n```bash\nwinget source update\nwinget install envolve\n```\n\n## Commands\n### Welcome to the Envolve!\n![EnvolveRoot](images/envolve-root.gif)\n\n### Sync and Show\nFor 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.\n\t        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\n\t        are working on. This way, if you delete your project, your file will not be lost\n\n![EnvolveSync](images/envolve-sync.gif)\n\n### SyncAll and Show\nFor 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.\n\t        If you do not want to go to the Projects folder, you can give --path\n![EnvolveSync](images/envolve-sync-all.gif)\n\n### Edit\nEdit 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.\n\n![EnvolveSync](images/envolve-edit.gif)\n\n\n## Roadmap\n\n- Adding restore env files\n\n- Adding drive upload function with enc\n\n## Release on Brew \n\n```bash\n  export GITHUB_TOKEN=xxxx\n  goreleaser --snapshot  --clean  //it will create new snapshot\n  git tag -a v1.0.0 -m \"First release\" \u0026\u0026 git push origin v1.0.0\n  goreleaser release --clean \n  brew tap erdemkosk/envolve\n```\n\n## Contributors\n\nA big thank you to all the contributors who have helped make Envolve better:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://github.com/erdemkosk\"\u003e\n        \u003cimg src=\"https://github.com/erdemkosk.png\" width=\"100px;\" alt=\"erdemkosk\"/\u003e\n        \u003cbr /\u003e\n        \u003csub\u003e\u003cb\u003eErdem Köşk\u003c/b\u003e\u003c/sub\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://github.com/suleymantaspinar\"\u003e\n        \u003cimg src=\"https://github.com/suleymantaspinar.png\" width=\"100px;\" alt=\"suleymantaspinar\"/\u003e\n        \u003cbr /\u003e\n        \u003csub\u003e\u003cb\u003eSüleyman Taşpınar\u003c/b\u003e\u003c/sub\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdemkosk%2Fenvolve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferdemkosk%2Fenvolve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdemkosk%2Fenvolve/lists"}