{"id":22796282,"url":"https://github.com/makerxstudio/envolver","last_synced_at":"2026-04-24T22:36:05.954Z","repository":{"id":224858679,"uuid":"760276634","full_name":"MakerXStudio/Envolver","owner":"MakerXStudio","description":".env evolver to improve the dev experience of working on projects with evolving .env files","archived":false,"fork":false,"pushed_at":"2024-06-10T13:59:35.000Z","size":497,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-06-17T11:50:41.620Z","etag":null,"topics":["env","library","nodejs","oss"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MakerXStudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-02-20T05:39:02.000Z","updated_at":"2024-04-18T14:31:22.000Z","dependencies_parsed_at":"2024-03-18T05:33:24.113Z","dependency_job_id":"d323e09c-8582-4202-888c-d7a25682e1cc","html_url":"https://github.com/MakerXStudio/Envolver","commit_stats":null,"previous_names":["makerxstudio/envolver"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MakerXStudio/Envolver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakerXStudio%2FEnvolver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakerXStudio%2FEnvolver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakerXStudio%2FEnvolver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakerXStudio%2FEnvolver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MakerXStudio","download_url":"https://codeload.github.com/MakerXStudio/Envolver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakerXStudio%2FEnvolver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32243530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["env","library","nodejs","oss"],"created_at":"2024-12-12T05:11:47.825Z","updated_at":"2026-04-24T22:36:05.904Z","avatar_url":"https://github.com/MakerXStudio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Envolver\n\nEnvolver is a CLI (Command Line Interface) tool that streamlines the management of environment variables in your local .env file. Developed in TypeScript, it simplifies the task of handling frequently changing environment variables, especially in projects with multiple contributors. For a more detailed explanation of its uses and some real-life scenarios where Envolver shines, check out [our blog post](https://blog.makerx.com.au/envolver-a-cli-tool-for-managing-environment-variables/).\n\n## Environment Variables\n\nEnvironment variables are key-value pairs typically stored in a .env file. They are used to store sensitive information like API keys and passwords separate from the main codebase. These variables often change, especially in projects with multiple contributors, which can make them difficult to keep updated. Envolver helps manage these changes effectively.\n\n## Check Variables\n\nThe `check` command compares your local .env file to the latest changes in the code repository.\n\n```bash\nenvolver check \u003cfilePath\u003e -o \u003coutput\u003e\n```\n\n### Options\n\n| Option                  | Description                                           | Default   |\n| ----------------------- | ----------------------------------------------------- | --------- |\n| `\u003cfilePath\u003e`            | The path to your `.env` file. Required argument.      | N/A       |\n| `-o, --output \u003coutput\u003e` | The output method. Can be either 'json' or 'console'. | 'console' |\n\n## Update Variables\n\nThe `update` command generates a vars.json file that summarizes your current environment variables. This file can be included in the code repository or added to your .gitignore file if it contains sensitive information. \n\n```bash\nenvolver update \u003cfilePath\u003e\n```\n\nEnvolver also organizes the variables into sections for easier management.\n\n## Automating Updates\n\nYou can configure Envolver to run automatically as part of a GitHub Actions workflow. This ensures your environment variables are always synchronized with the latest changes in the code repository.\n\n```yaml\nname: Update Environment Variables\n\non:\n  push:\n    branches: [prod]\n\njobs:\n  build:\n    runs-on: ubuntu-22.04\n    steps:\n      - name: Checkout Repo Code\n        uses: actions/checkout@v3\n\n      - name: Update Variables\n        run: npx envolver update .env.sample\n\n      - name: Commit to repo\n        uses: actions/github-script@v6\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          script: |\n            github.rest.git.createCommit({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              message: \"Updated environment variables\",\n              tree: env.object_tree,\n              parents: [env.parent]\n            });\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerxstudio%2Fenvolver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakerxstudio%2Fenvolver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerxstudio%2Fenvolver/lists"}