Skip to content

feat: global extensions management ui - #147

Draft
maxy-shpfy wants to merge 1 commit into
maxy/feat--global-skills-and-extensionsfrom
maxy/feat--ui-global-extensions
Draft

maxy-shpfy wants to merge 1 commit into
maxy/feat--global-skills-and-extensionsfrom
maxy/feat--ui-global-extensions

Conversation

@maxy-shpfy

@maxy-shpfy maxy-shpfy commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Adds a Settings, Extensions page (/settings/extensions) for managing the global extension registry from #146.

  • Data layer (features/global-extensions): globalExtensionsApi plus TanStack Query hooks for listing installs and marketplaces, debounced marketplace search, and the install, update, and uninstall mutations, with shared query keys for cache invalidation.
  • Installed list: shows name, version, id, source marketplace, ready/error status (with the error message), a resource summary (extensions / skills / prompts), and the tool allowlist as pills.
  • Admin actions: an "Install extension" menu, one entry per marketplace, opens an inline wizard:
    • Pi catalog (npm): search with debounced results; already-installed packages are marked.
    • Git repository: enter a source ref.
    • Upload file: .tgz / .zip / .ts.
    • Confirm step: optional id override, optional tools override (leave blank to auto-detect), and "Replace existing install".
    • Admins can also edit a tool allowlist inline and uninstall (after a confirm prompt).
  • Non-admins see the list read-only.
  • Adds a visible-scrollbar utility in index.css for the search results list.

Screenshots

How to test

  1. Run pnpm dev with the server from feat: global extensions api #146.
  2. As an admin, open Settings, then Extensions.
  3. Install from the Pi catalog. Search, pick a package, confirm, and check that it appears as ready with detected tools.
  4. Install from a git ref and from an uploaded file.
  5. Edit an extension's tools, save, and check that the pills update. Then uninstall it.
  6. As a non-admin, check that the install button and row actions are hidden.

Notes


Stack created with GitHub Stacks CLI • Give Feedback 💬

@maxy-shpfy
maxy-shpfy added this pull request to stack #139 November 2, 2026 21:08
@maxy-shpfy
maxy-shpfy force-pushed the maxy/feat--ui-global-extensions branch 2 times, most recently from 9275287 to 6407841 Compare November 2, 2026 21:44
@maxy-shpfy
maxy-shpfy force-pushed the maxy/feat--ui-global-extensions branch from 6407841 to b3132b9 Compare November 3, 2026 03:10
@maxy-shpfy
maxy-shpfy removed this pull request from stack #139 November 4, 2026 22:15
@maxy-shpfy
maxy-shpfy force-pushed the maxy/feat--ui-global-extensions branch from b3132b9 to 1245efb Compare November 4, 2026 22:15
@maxy-shpfy
maxy-shpfy added this pull request to stack #152 November 4, 2026 22:15
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