Skip to content

feat(tui): show active skillsets from list-active in footer#394

Merged
theahura merged 4 commits intomainfrom
auto/deep-ivy-20260326-032304
Mar 26, 2026
Merged

feat(tui): show active skillsets from list-active in footer#394
theahura merged 4 commits intomainfrom
auto/deep-ivy-20260326-032304

Conversation

@theahura
Copy link
Copy Markdown
Contributor

Summary

🤖 Generated with Nori

  • Replace brittle dual-source skillset display (nori_profile from .nori-config.json + session_skillset_name in-memory override) with a single call to nori-skillsets list-active
  • Footer now shows "Skillset: name" (singular) or "Skillsets: a, b" (plural) based on all active skillsets for the current directory
  • Trigger system info refresh after skillset switch/install so the footer updates via the existing background worker

Test Plan

  • 5 unit tests for parse_active_skillsets parsing logic
  • 3 snapshot tests for footer rendering (single, multiple, none)
  • All 1035 existing TUI tests pass
  • Clippy clean
  • Manual verification: install/switch skillsets and confirm footer updates

Share Nori with your team: https://www.npmjs.com/package/nori-skillsets

theahura and others added 4 commits March 25, 2026 23:56
Replace the brittle two-source skillset display (nori_profile from
.nori-config.json + session_skillset_name in-memory override) with a
single call to `nori-skillsets list-active`. This command returns all
active skillsets for the current directory, making the footer accurate
and supporting multiple simultaneous skillsets.

- Replace SystemInfo.nori_profile with active_skillsets: Vec<String>
- Replace get_nori_profile() with get_active_skillsets(dir) that shells
  out to `nori-skillsets list-active`
- Remove session_skillset_name from FooterProps, ChatComposer,
  BottomPane, and ChatWidget
- Footer shows "Skillset: name" (singular) or "Skillsets: a, b" (plural)
- Trigger system info refresh after skillset switch/install so the
  footer updates via the existing background worker
🤖 Generated with [Nori](https://noriagentic.com)

Co-Authored-By: Nori <contact@tilework.tech>
The mock nori-skillsets script now dispatches on the first argument:
- list-active: returns a test skillset name
- everything else (including --version): returns version string

Also update the full_footer snapshot to include the skillset display.
🤖 Generated with [Nori](https://noriagentic.com)

Co-Authored-By: Nori <contact@tilework.tech>
When `nori-skillsets list-active` fails with stderr output (indicating
the subcommand is unknown in older versions), fall back to reading
.nori-config.json directly. When it fails without stderr (indicating
no active skillsets found), return an empty vec as intended.
🤖 Generated with [Nori](https://noriagentic.com)

Co-Authored-By: Nori <contact@tilework.tech>
@theahura theahura merged commit 1f4762a into main Mar 26, 2026
3 checks passed
@theahura theahura deleted the auto/deep-ivy-20260326-032304 branch March 26, 2026 15:29
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