u/Rhack2021

I built envi — a TUI for managing .env files (diff, scan, edit, validate)
🔥 Hot ▲ 65 r/CLI

I built envi — a TUI for managing .env files (diff, scan, edit, validate)

Every project has .env files. Managing them sucks.

You pull a repo and your .env is missing 5 vars that were added to .env.example. You compare dev vs production by opening two files and squinting. You have no idea which env vars your code actually uses. Sound familiar?

I built envi to fix this — a terminal UI that gives you a single dashboard for all your .env files.

What it does:

  • Browse & edit .env files with vim-style keybindings
  • Diff any two profiles — instantly see missing, extra, and changed vars between .env and .env.production (or any pair)
  • Scan your codebase — detects env var usage across 10+ languages (JS, Python, Rust, Go, Java, Ruby, PHP, Shell, Docker...) and reports vars used in code but not defined, and vars defined but never used
  • Search with live fuzzy matching across keys and values
  • Validate — warns on empty values, sensitive unencrypted data, bad naming conventions, and vars missing from other profiles
  • Auto-discovers all .env.* variants in your project

Install:

# Homebrew
brew tap roniel-rhack/tap && brew install envi

Or grab a binary from releases (macOS, Linux, Windows)

Tech: Built in Rust with ratatui + crossterm. ~2 MB binary, zero runtime dependencies.

GitHub: https://github.com/roniel-rhack/envi

This started as a scratch-my-own-itch project. I was tired of manually diffing .env files and discovering missing vars only after deployment failures. Would love feedback — what features would make this useful for your workflow?

u/Rhack2021 — 18 hours ago
I built envi — a TUI for managing .env files (diff, scan, edit, validate)
▲ 28 r/CLI+2 crossposts

I built envi — a TUI for managing .env files (diff, scan, edit, validate)

Every project has .env files. Managing them sucks.

You pull a repo and your .env is missing 5 vars that were added to .env.example. You compare dev vs production by opening two files and squinting. You have no idea which env vars your code actually uses. Sound familiar?

I built envi to fix this — a terminal UI that gives you a single dashboard for all your .env files.

What it does:

  • Browse & edit .env files with vim-style keybindings
  • Diff any two profiles — instantly see missing, extra, and changed vars between .env and .env.production (or any pair)
  • Scan your codebase — detects env var usage across 10+ languages (JS, Python, Rust, Go, Java, Ruby, PHP, Shell, Docker...) and reports vars used in code but not defined, and vars defined but never used
  • Search with live fuzzy matching across keys and values
  • Validate — warns on empty values, sensitive unencrypted data, bad naming conventions, and vars missing from other profiles
  • Auto-discovers all .env.* variants in your project

Install:

# Homebrew
brew tap roniel-rhack/tap && brew install envi

Or grab a binary from releases (macOS, Linux, Windows)

Tech: Built in Rust with ratatui + crossterm. ~2 MB binary, zero runtime dependencies.

GitHub: https://github.com/roniel-rhack/envi

This started as a scratch-my-own-itch project. I was tired of manually diffing .env files and discovering missing vars only after deployment failures. Would love feedback — what features would make this useful for your workflow?

u/Rhack2021 — 18 hours ago
RonDO update: community contributions added metadata, batch mode, and configurable dates to this Bubbletea TUI
▲ 3 r/tui

RonDO update: community contributions added metadata, batch mode, and configurable dates to this Bubbletea TUI

Posted about RonDO a while back -- it is a terminal UI app for task management, daily journaling, and pomodoro sessions, built with Go and Bubbletea.

Since then, two contributors have submitted PRs that expanded the app quite a bit:

From the community:

  • Angel Bartolli added task metadata (key-value pairs stored as JSON), timestamped task notes, a JSON batch mode for automation, and a delete guard that prevents breaking task dependency chains. He also wired the blocker/dependency system into the TUI -- previously it was CLI-only.
  • Andreas Wachter added configurable date and time formats with preset layouts, so the app adapts to however you like your dates displayed.

Other changes:

  • rondo skill install -- registers RonDO as a Claude Code skill for managing tasks from your editor.
  • Fixed a viewport bug where the journal detail panel would jump to the top every time you moved between entries.
  • The TUI now shows a yellow-bordered warning dialog when you try to delete a task that blocks others, requiring a double confirmation.

The app is still two-panel, vim-keybinds (j/k, 1/2 for panel focus), resizable split, tab navigation with counts, and all the Bubbletea/Lip Gloss styling you would expect.

GitHub: https://github.com/roniel-rhack/rondo

u/Rhack2021 — 9 days ago