{"id":16703557,"url":"https://github.com/kurtbuilds/modenv","last_synced_at":"2025-10-31T08:31:56.912Z","repository":{"id":57639766,"uuid":"409841777","full_name":"kurtbuilds/modenv","owner":"kurtbuilds","description":"A CLI to easily manage .env files and keep them consistent. It is simple, fast, error resistant, and composable.","archived":false,"fork":false,"pushed_at":"2024-08-15T22:26:11.000Z","size":115,"stargazers_count":55,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-13T19:08:37.504Z","etag":null,"topics":["cli","dotenv","environment-variables","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/kurtbuilds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2021-09-24T05:23:15.000Z","updated_at":"2024-10-11T11:02:05.000Z","dependencies_parsed_at":"2023-11-28T22:25:05.140Z","dependency_job_id":"6f4dcf37-68d8-4663-90c0-5e130769139a","html_url":"https://github.com/kurtbuilds/modenv","commit_stats":{"total_commits":77,"total_committers":2,"mean_commits":38.5,"dds":"0.025974025974025983","last_synced_commit":"4b810d6eaa04d2a6d510fccd147f34d98ad1011e"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtbuilds%2Fmodenv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtbuilds%2Fmodenv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtbuilds%2Fmodenv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtbuilds%2Fmodenv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kurtbuilds","download_url":"https://codeload.github.com/kurtbuilds/modenv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239154801,"owners_count":19590769,"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","dotenv","environment-variables","rust"],"created_at":"2024-10-12T19:08:42.606Z","updated_at":"2025-10-31T08:31:51.604Z","avatar_url":"https://github.com/kurtbuilds.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/kurtbuilds/modenv/graphs/contributors\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/contributors/kurtbuilds/modenv.svg?style=flat-square\" alt=\"GitHub Contributors\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/kurtbuilds/modenv/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/kurtbuilds/modenv.svg?style=flat-square\" alt=\"Stars\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/kurtbuilds/modenv/actions\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/kurtbuilds/modenv/test.yaml?branch=master\u0026style=flat-square\" alt=\"Build Status\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://crates.io/crates/modenv\"\u003e\n    \u003cimg src=\"https://img.shields.io/crates/d/modenv?style=flat-square\" alt=\"Downloads\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://crates.io/crates/modenv\"\u003e\n    \u003cimg src=\"https://img.shields.io/crates/v/modenv?style=flat-square\" alt=\"Crates.io\" /\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n# Modenv\n\n`modenv` is a tool to update and keep consistent multiple `.env` files.\nIt is designed with these objectives in mind:\n\n- **Simple and intuitive user experience.** `modenv` greatly prioritizes a minimal, intuitive user-interface, helpful error messages\n  and command suggestions to make it easy to use for beginners and experts.\n- **Lighting fast.** `modenv` is written in Rust, compiled natively, and therefore extremely fast.\n- **Error resistant.** `modenv` offers dry-runs and does not perform destructive operations without explicit confirmation.\n- **Composable.** `modenv` uses reasonable error codes, so it can be used effectively in a CI/CD pipeline or build scripts.\n\n# Usage\n\nIt's easiest to understand the usage of `modenv` by following the lifecycle of a typical project.\n\n#### Initialize the environment\n\n    modenv init\n\nThis command creates `.env`, `env.example`, and `.env.production` files, and adds `.env*` to your `.gitignore` file \n(still allowing `.env.example`).\n\n#### Add to the environment\n\n    modenv -a PORT=3000 HOST=0.0.0.0\n\nThis command adds `PORT=5000` and `HOST=0.0.0.0` to the first default env file found, typically `.env`.\nThe `-a` flag causes it to add `PORT` and `HOST` with blank values to all other env files found.\nIf the key already exists, this operation will fail unless `-f` is also passed.\nThe default env file is the first found of `.env.local`, `.env.development`, and `.env`.\n\n#### Add to the production environment\n\nNext, add values to `.env.production` (specified by `-p`):\n\n    modenv -p PORT=5000 HOST=0.0.0.0\n\n#### Check consistency of your env files\n\n    modenv check\n\nThis subcommand checks for missing values from your env files. Using a reference file (chosen implicitly, as described above, or \nexplicitly with a command flag), `check` reports on missing keys.\n\nThis command returns non-zero if there are missing keys, so it can be used as part of a CI/CD pipeline.\n\nIf you want to update files with blank values for missing keys:\n\n    modenv check -f\n\nThis command additionally will replicate comments and ordering from the reference file to the other files.\n\n# Installation\n\n    cargo install modenv\n\n# Additional Tips \u0026 Tricks\n\n#### Source an env file\n\n    export $(modenv show)\n\n# Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurtbuilds%2Fmodenv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkurtbuilds%2Fmodenv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurtbuilds%2Fmodenv/lists"}