Skip to content

feat: 5-screen nav, Toolkit screen, AI unhide, kit CLI, footer, AI registry - #16

Merged
castrojo merged 3 commits into
mainfrom
feat/toolkit-nav-ai-registry
Jun 22, 2026
Merged

feat: 5-screen nav, Toolkit screen, AI unhide, kit CLI, footer, AI registry#16
castrojo merged 3 commits into
mainfrom
feat/toolkit-nav-ai-registry

Conversation

@castrojo

Copy link
Copy Markdown
Contributor

Summary

Implements all open gap-tracker items for the 0.4.0 release.

Changes

Dead code removal (ponytail-audit)

  • Remove SegmentedProgressBar widget (zero callers, 152 lines)
  • Remove MultiStepParser and PodmanPullParser from core/progress (zero external callers)
  • Remove osc_hyperlink() from util/osc (zero callers)
  • Gut util/ghostty to only is_ghostty(); drop 4 unused functions
  • Remove stacks/init.py (empty Python package stub)

Navigation expansion (3 to 5 screens)

  • ViewSwitcher now shows: System / Updates / Toolkit / Developer / AI
  • Number keys 1-5 to navigate; AI screen visible at key 5

New Toolkit screen

  • Bundle ListView (left) + detail pane (right)
  • Activate / Deactivate via OpsBar streaming
  • bctl kit list/install/remove CLI commands

AI screen unhidden

  • Tab visible at key 5 for all users
  • @work(exclusive=True) added to 3 action methods (deadlock fix)
  • VRAM badge greying via .vram-exceeded CSS class
  • Port links use Rich [link] markup when stack running (OSC 8)

AI Tools registry

  • Expanded 6 to 13 entries: goose, claude, copilot-cli, aider, aichat, ramalama, ollama, lm-studio
  • Removed coding-agents aggregate entry
  • copilot-cli detection uses gh-copilot binary (not gh)

Lima status enrichment

  • LimaStatus dataclass + get_lima_status() using limactl list --json
  • Developer screen Lima subtitle shows running/stopped VM count

Per-screen Footer

  • Footer widget added to all screens with per-screen BINDINGS
  • Footer CSS: dock: none; height: 1 (renders above OpsBar)

OSC 8 hyperlinks

  • osc8_hyperlink(url, text) added to util/osc.py

Tests

104 tests pass, ruff clean, mypy clean (strict)

Jorge Castro and others added 3 commits June 22, 2026 00:47
- Remove SegmentedProgressBar widget (zero callers, 152 lines)
- Remove MultiStepParser and PodmanPullParser from core/progress (zero external callers)
- Remove dead class-level vars _LAYERS_DONE/_LAYERS_TOTAL from PodmanPullParser
- Remove osc_hyperlink() from util/osc (zero callers)
- Gut util/ghostty to only is_ghostty(); drop 4 unused functions
- Remove stacks/__init__.py (empty Python package stub; data dirs preserved)
- Update test_progress to match trimmed module

net: -~250 lines

Assisted-by: Claude Sonnet 4.6 via GitHub Copilot CLI
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…gistry

- Add Toolkit screen (screens/toolkit.py): bundle list + detail pane,
  Activate/Deactivate via OpsBar streaming, key 3
- Expand nav from 3 to 5 screens: Toolkit (3), Developer (4), AI (5)
- Unhide AI screen — visible at key 5 with @work fix on action methods
- Add bctl kit list/install/remove CLI commands (core/bundles.py)
- Add osc8_hyperlink() to util/osc.py (OSC 8 terminal hyperlinks)
- Add LimaStatus + get_lima_status() to core/devmode.py (limactl --json)
- Lima row subtitle now shows VM count (running/stopped)
- Expand AI_TOOL_REGISTRY 6 → 13 entries: goose, claude, aider, aichat,
  ramalama, ollama, lm-studio (individual, not aggregate)
- VRAM badge greying via .vram-exceeded CSS class on EXCEEDS_VRAM items
- Port links use Rich [link] markup when stack is running
- Add per-screen Footer widget to all screens with BINDINGS
- Add action_toggle_focus (f key) to UpdatesScreen
- Add Toolkit to NavigationProvider in commands.py
- Update tests: 5-screen, AI visible assertions

Assisted-by: Claude Sonnet 4.6 via GitHub Copilot CLI
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Assisted-by: Claude Sonnet 4.6 via GitHub Copilot CLI
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo
castrojo merged commit cea8d70 into main Jun 22, 2026
1 check passed
@castrojo
castrojo deleted the feat/toolkit-nav-ai-registry branch June 22, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant