stacklok / stacklok/mecatl

mecatui: customizable status line

Open
#603 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement tui ux
Dominant language
Go
Stars
152
Forks
16
Avg merge
14h 48m
Merged PRs (30d)
536

Description

What

Claude Code lets the operator customize the status line (the persistent footer strip) via a statusLine settings entry — either a shell command whose stdout is rendered, or a structured layout of segments (model, cwd, git branch, context usage, cost, etc.).

mecatui's footer is a fixed, hardcoded layout. The operator cannot add, remove, reorder, or restyle what it shows.

Why

  • The footer is the one always-visible surface; different operators want different facts there (git branch, token spend, active environment, time, a custom shell snippet).
  • This is a pure client-side concern — mecatui renders from relayed proto Events plus its own session state, so no engine/proto change is needed for a settings-driven layout.

Shape (proposal, not settled)

  • A statusLine (or footer) entry in the mecatui settings file.
  • Two tiers, cheapest first:
    1. Segment toggles/order — pick from the facts mecatui already renders (model, session, cwd, git, usage).
    2. Shell-command segment — run an operator command, render its stdout (bounded, scrubbed, timeout-bounded like hooks).
  • Live-reload should compose with #456 (live-reload mecatui settings).

Related

  • #456 — live-reload mecatui settings without restart
  • #555 — surface abstraction for mecatui modals/overlays (the footer is not a modal, but shares the render/settings plumbing)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating mecatui’s footer rendering and settings-loading entry points; no specific files or tests are named in the issue. Review the existing footer facts and the live-reload work in #456 before settling the configuration shape. Done means an agreed, tested settings-driven layout, including defined behavior for segment ordering and any shell-command output.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, shell
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.