https://github.com/lazynop/lazyenv
TUI for managing .env files
https://github.com/lazynop/lazyenv
bubble-tea cli developer-tools dotenv env environment-variables go golang terminal tui
Last synced: 17 days ago
JSON representation
TUI for managing .env files
- Host: GitHub
- URL: https://github.com/lazynop/lazyenv
- Owner: lazynop
- License: mit
- Created: 2026-03-08T15:45:35.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-15T19:05:05.000Z (19 days ago)
- Last Synced: 2026-05-15T21:52:34.258Z (19 days ago)
- Topics: bubble-tea, cli, developer-tools, dotenv, env, environment-variables, go, golang, terminal, tui
- Language: Go
- Homepage:
- Size: 2.32 MB
- Stars: 46
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- fucking-awesome-go - lazyenv - TUI for browsing, comparing, and editing .env files. (Command Line / Advanced Console UIs)
- awesome-go-with-stars - lazyenv - 03-29 | (Build Automation / Advanced Console UIs)
- awesome-go - lazyenv - TUI for browsing, comparing, and editing .env files. (Command Line / Advanced Console UIs)
README
# lazyenv
[](https://goreportcard.com/report/github.com/lazynop/lazyenv)
[](https://pkg.go.dev/github.com/lazynop/lazyenv)
[](LICENSE)
[](go.mod)
[](https://github.com/lazynop/lazyenv/releases/latest)
[](https://github.com/lazynop/lazyenv/releases)
[](https://github.com/lazynop/lazyenv/commits/main)
TUI for managing `.env` files — written in Go with [Bubble Tea](https://github.com/charmbracelet/bubbletea).
Browse, compare, edit and validate environment variables from your terminal.
**[Documentation](https://lazynop.github.io/lazyenv/)** | **[Releases](https://github.com/lazynop/lazyenv/releases)**

## Features
- Two-panel layout with file list and variables, inline editing
- File management: create, duplicate, rename, delete, and generate templates — all without leaving the TUI
- Side-by-side diff between two files with bidirectional copy
- Completeness matrix showing which variables exist across files
- Change tracking: new, modified, deleted, duplicate, empty, placeholder
- Secret masking, gitignore check, automatic backup — all [configurable](https://lazynop.github.io/lazyenv/configuration/)
- Clipboard support (OSC 52), search, sort, and prefix-based grouping
- Round-trip fidelity: saves preserve comments, blank lines, quoting
- TOML configuration: layout, colors, file patterns, behaviors
- Mouse support: click to select, scroll wheel to navigate (disable with `--no-mouse`)
- 56 built-in color themes with interactive preview (`--themes`)
## Install
**Homebrew** (macOS & Linux):
```
brew install lazynop/tap/lazyenv
```
**AUR** (Arch Linux):
```
yay -S lazyenv-bin
```
**Scoop** (Windows):
```
scoop bucket add lazynop https://github.com/lazynop/scoop-bucket
scoop install lazyenv
```
Or download a binary from [Releases](https://github.com/lazynop/lazyenv/releases), or install from source (requires Go 1.26+):
```
go install github.com/lazynop/lazyenv@latest
```
## Quick start
```bash
lazyenv # scan current directory for .env files
lazyenv path/to/dir # scan a specific directory
lazyenv -r # scan recursively into subdirectories
```
See the **[full documentation](https://lazynop.github.io/lazyenv/)** for [usage & flags](https://lazynop.github.io/lazyenv/usage/), [configuration](https://lazynop.github.io/lazyenv/configuration/), and [keybindings](https://lazynop.github.io/lazyenv/keybindings/).
## License
[MIT](LICENSE)