This repository contains a Go TUI for EOS, inspired by k9s.
- Prefer the EOS CLI with machine-readable output for now.
- Do not reintroduce runtime gRPC dependencies unless explicitly requested.
- The app is primarily used on EOS hosts as
root, but it should also support remote execution paths later. - After code changes, run local checks and deploy the updated binary.
- CRITICAL: Always run
go build ./...andgo test ./...after any code change and before declaring a task complete. - Run
go test ./... - If relevant, run a local build with
go build ./... - Deploy with
make deploy-both
- Default deploy target is
lobis-eos-dev - Secondary deploy target is
eospilot - Remote binary path is
/root/eos-tui
- Keep EOS-facing column names aligned with the EOS CLI output.
- Prefer reusable Bubble Tea / Bubbles components where they fit naturally.
- Optimize for fast perceived performance: render views incrementally as data arrives.
m.styles.header(bold green, color 86) is only for the application title bar ("EOS TUI"). Never use it for column header rows inside views.- All column header rows must go through
m.renderSimpleHeaderRow(columns, labels)orm.renderSelectableHeaderRow(...). Adding am.styles.header.Render(...)call insiderenderBodyor any view-render function is a bug. - The test
TestColumnHeadersUseConsistentStyleenforces this rule across all views; add new views to the checklist in that test when adding new tabs.