{"id":43988291,"url":"https://github.com/jellydn/dotenv-tui","last_synced_at":"2026-02-13T16:01:24.467Z","repository":{"id":336901697,"uuid":"1151594628","full_name":"jellydn/dotenv-tui","owner":"jellydn","description":"A terminal UI tool for managing .env files across projects and monorepos.","archived":false,"fork":false,"pushed_at":"2026-02-09T22:14:58.000Z","size":20668,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-10T15:59:36.392Z","etag":null,"topics":["cli","env","golang","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","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/jellydn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["jellydn"],"ko_fi":"dunghd","buy_me_a_coffee":"dunghd","polar":"jellydn"}},"created_at":"2026-02-06T16:57:37.000Z","updated_at":"2026-02-09T14:19:41.000Z","dependencies_parsed_at":"2026-02-08T11:01:04.070Z","dependency_job_id":null,"html_url":"https://github.com/jellydn/dotenv-tui","commit_stats":null,"previous_names":["jellydn/env-man","jellydn/dotenv-tui"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jellydn/dotenv-tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Fdotenv-tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Fdotenv-tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Fdotenv-tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Fdotenv-tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jellydn","download_url":"https://codeload.github.com/jellydn/dotenv-tui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Fdotenv-tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29333905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T12:42:24.625Z","status":"ssl_error","status_checked_at":"2026-02-11T12:41:23.344Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["cli","env","golang","tui"],"created_at":"2026-02-07T10:10:02.357Z","updated_at":"2026-02-11T14:01:39.406Z","avatar_url":"https://github.com/jellydn.png","language":"Go","funding_links":["https://github.com/sponsors/jellydn","https://ko-fi.com/dunghd","https://buymeacoffee.com/dunghd","https://polar.sh/jellydn","https://paypal.me/dunghd","https://www.buymeacoffee.com/dunghd"],"categories":[],"sub_categories":[],"readme":"# dotenv-tui\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.svg\" alt=\"dotenv-tui logo\" width=\"640\" /\u003e\n\u003c/p\u003e\n\nA terminal UI tool for managing `.env` files across projects and monorepos.\n\n## Motivation\n\nEvery project has `.env` files. Every `.env` file has secrets. And yet:\n\n- **Developers manually create `.env.example`** — tediously copying keys, guessing which values are safe to keep, and inevitably leaking a token or forgetting a variable.\n- **New team members stare at a blank `.env.example`** — no idea what format `STRIPE_SECRET_KEY` expects, no hint whether `DATABASE_URL` needs a port number.\n- **Monorepos make it worse** — `.env` files scattered across 10+ packages, each needing its own `.env.example`, each drifting out of sync.\n\ndotenv-tui fixes this with two commands:\n\n1. **`.env` → `.env.example`** — Auto-detects secrets (API keys, tokens, passwords) and masks them with format hints (`sk_***`, `ghp_***`, `eyJ***`) so the next developer knows exactly what shape the value should be. Non-secrets like `PORT=3000` stay as-is.\n\n2. **`.env.example` → `.env`** — Interactive form pre-filled with example values. Just tab through, fill in your secrets, and you're set up.\n\n## Features\n\n- Smart secret detection by key name patterns and value shape\n- Format-hint placeholders (`sk_***`, `ghp_***`) instead of useless `\u003cREQUIRED\u003e`\n- Recursive monorepo scanning with selectable file list\n- Preserves comments, blank lines, and key ordering\n- Diff preview before writing `.env.example`\n- Supports `.env.local`, `.env.production`, and all `.env.*` variants\n- CLI flags for non-interactive / CI usage\n- Self-upgrade via `--upgrade` flag with checksum verification\n\n## Install\n\n### Quick install (Linux/macOS)\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/jellydn/dotenv-tui/main/install.sh | sh\n```\n\n### Using Go\n\n```sh\ngo install github.com/jellydn/dotenv-tui@latest\n```\n\n### Build from source\n\n```sh\ngit clone https://github.com/jellydn/dotenv-tui.git \u0026\u0026 cd dotenv-tui\njust build\n```\n\n## Usage\n\nLaunch the TUI:\n\n```sh\ndotenv-tui\n```\n\nNon-interactive:\n\n```sh\n# Generate .env.example from .env\ndotenv-tui --generate-example .env\n\n# Generate .env from .env.example\ndotenv-tui --generate-env .env.example\n\n# List discovered .env files\ndotenv-tui --scan\n\n# Upgrade to the latest version\ndotenv-tui --upgrade\n```\n\n## Development\n\n```sh\njust dev      # Run in development\njust build    # Build binary\njust test     # Run all tests\njust lint     # Run linter\njust fmt      # Format code\n```\n\n## Tech Stack\n\n- [Go](https://go.dev)\n- [Bubble Tea](https://github.com/charmbracelet/bubbletea) — TUI framework\n- [Lip Gloss](https://github.com/charmbracelet/lipgloss) — Styling\n- [Bubbles](https://github.com/charmbracelet/bubbles) — Input components\n\n## Connect with Me\n\n\u003cdiv id=\"badges\"\u003e\n  \u003ca href=\"https://www.linkedin.com/in/dunghd\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/LinkedIn-blue?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" alt=\"LinkedIn Badge\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.youtube.com/c/ITManVietnam\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/YouTube-red?style=for-the-badge\u0026logo=youtube\u0026logoColor=white\" alt=\"Youtube Badge\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.twitter.com/jellydn\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Twitter-blue?style=for-the-badge\u0026logo=twitter\u0026logoColor=white\" alt=\"Twitter Badge\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://cv.productsway.com\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Polywork-blue?style=for-the-badge\u0026logo=polywork\u0026logoColor=white\" alt=\"Polywork Badge\"/\u003e\n  \u003c/a\u003e\n  \u003ca rel=\"me\" href=\"https://mastodon.online/@jellydn\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Mastodon-blue?style=for-the-badge\u0026logo=mastodon\u0026logoColor=white\" alt=\"Mastodon Badge\"/\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Show your support\n\n[![kofi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://ko-fi.com/dunghd)\n[![paypal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/dunghd)\n[![buymeacoffee](https://img.shields.io/badge/Buy_Me_A_Coffee-FFDD00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://www.buymeacoffee.com/dunghd)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Fdotenv-tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjellydn%2Fdotenv-tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Fdotenv-tui/lists"}