Skip to content

Wayfind: pretty check + watch TUI + showcase fixture (toward check --watch) #8

Description

@XertroV

Destination

Ship path toward a releasable CLI mode (post-screenshots → 0.3.1+):

  1. Pretty check — TTY default: source excerpts + caret annotations + light frame; plain gcc-style when piped / NO_COLOR / --format plain.
  2. Showcase fixture at tests/fixtures/showcase-diags/ with a deliberate solid array of diagnostics (deps, inference, generics, etc.) for CI + screenshots.
  3. Watch TUI v1openplanet-lsp check --watch: re-run diagnostics on file change (notify/inotify-class), pretty list, quit key. Not full IDE chrome in this map.
  4. Rust-only TUI crate in-repo (e.g. crates/openplanet-lsp-tui) with mock TuiDataSource first, then wire a real backend via a run(...) API the main binary calls.
  5. Automated TUI snapshots / e2e as part of the crate quality bar.

Notes

  • Repo: clankercode/lsp-openplanet (Rust LSP). Skills: wayfinder, grilling, prototype, codebase-design, ultra-tui-iteration when implementing.
  • Prefer deepening modules (pretty render seam separate from typecheck; TUI crate behind a clean data-source trait).
  • LSP JSON-RPC stays unstyled / protocol-correct; pretty is CLI-only.
  • Screenshot targets until showcase exists: tm-buffer-time (~18 diags), tm-better-totd (~22), fixture tm-dashboard (~66). Avoid E++ (700+) for hero shots.
  • Hold 0.3.1 until screenshots + this path are ready; crates.io Trusted Publishing already fixed on master (crates-io-auth-action).
  • ChatGPT caret mock is the visual north star for pretty check (not boxes as the product).

Decisions so far

Not yet specified

  • Exact caret excerpt algorithm (context lines, tab width, unicode columns, multi-span diags).
  • Frame/border style tokens (unicode light box vs minimal rules vs no box).
  • Mock TuiDataSource trait surface (events, cancel, incremental vs full recheck).
  • Snapshot harness choice for ratatui-class TUIs.
  • Whether pretty renderer is shared 100% between one-shot check and watch TUI or thin adapters.
  • CI matrix cost for showcase fixture + TUI snapshots.
  • How --watch chooses workspace root / plugins-dir / typedb (inherit all check flags?).

Out of scope

  • Full multi-pane IDE TUI (file tree, hover preview, multi-tab) — tracked separately as future wayfinding, not this destination.
  • Go throwaway TUI prototype (decided: Rust-only crate).
  • Changing LSP protocol diagnostics payload for pretty (pretty is a CLI view over existing diagnostics).
  • Publishing 0.3.1 before screenshots land.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureDeepening / module-shape workwayfinder:mapWayfinder planning map

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions