Problem
The CLI has lmm mod show (cmd/lmm/mod.go:93-104), which prints a mod's summary, description, image URL, and source URL (mod.go:426-450, JSON at :394,406). The TUI has no equivalent view at all.
The search detail pane (internal/tui/app.go:1332-1375) renders only Name/Author/Version/Source/Status/Downloads/Endorsements plus a clipped Summary. There is no binding for a fuller detail view on any screen.
This is a plumbing gap, not just a rendering gap: the TUI's row type ModItem (internal/tui/service.go:27-58) has no Description, PictureURL, or SourceURL field, and nothing in internal/tui/ ever calls core.Service.GetMod — grep shows only cmd/lmm/* and internal/core/flows.go call it.
Violates the CLI/TUI parity directive in CLAUDE.md.
Proposal
- Extend
ModItem (or add a detail-specific view model) with Description, PictureURL, SourceURL
- Add a provider method backed by
core.Service.GetMod, mirroring how other TUI provider methods wrap core (internal/tui/service_core.go)
- Add a detail overlay/screen reachable from both Search results and Installed Mods, reusing the existing scrollable-overlay machinery added in v1.14.0
- Prototype-provider parity as usual (
internal/tui/ fake provider)
- Watch the 80-col truncation budget; long descriptions need the scrolling overlay, not a clipped pane
Note on "images"
The domain type carries a single PictureURL (internal/domain/mod.go:72), not a gallery. CurseForge actually returns a Screenshots []ModAsset array (internal/source/curseforge/types.go:43) that is dropped during mapping (curseforge.go:294-327) — so even the CLI shows one image URL. Surfacing the full screenshot list is a separate, optional follow-up; a terminal can't render them anyway, so the value is in the URLs.
Problem
The CLI has
lmm mod show(cmd/lmm/mod.go:93-104), which prints a mod's summary, description, image URL, and source URL (mod.go:426-450, JSON at:394,406). The TUI has no equivalent view at all.The search detail pane (
internal/tui/app.go:1332-1375) renders only Name/Author/Version/Source/Status/Downloads/Endorsements plus a clippedSummary. There is no binding for a fuller detail view on any screen.This is a plumbing gap, not just a rendering gap: the TUI's row type
ModItem(internal/tui/service.go:27-58) has noDescription,PictureURL, orSourceURLfield, and nothing ininternal/tui/ever callscore.Service.GetMod— grep shows onlycmd/lmm/*andinternal/core/flows.gocall it.Violates the CLI/TUI parity directive in
CLAUDE.md.Proposal
ModItem(or add a detail-specific view model) withDescription,PictureURL,SourceURLcore.Service.GetMod, mirroring how other TUI provider methods wrap core (internal/tui/service_core.go)internal/tui/fake provider)Note on "images"
The domain type carries a single
PictureURL(internal/domain/mod.go:72), not a gallery. CurseForge actually returns aScreenshots []ModAssetarray (internal/source/curseforge/types.go:43) that is dropped during mapping (curseforge.go:294-327) — so even the CLI shows one image URL. Surfacing the full screenshot list is a separate, optional follow-up; a terminal can't render them anyway, so the value is in the URLs.