Skip to content

v0.6.0 — interactive pickers + scope-aware update/remove

Choose a tag to compare

@Alecell Alecell released this 11 May 23:52
· 9 commits to main since this release

Adds interactive arrow-key pickers to push, install, remove, and update when called without arguments. Also fixes a silent-bug where pskt update <name> could update the wrong installation when a package was installed in both root and project.

Breaking change

pskt update now takes <scope> as a second positional argument (same signature as remove):

pskt update agents/my-agent root      # update the root install
pskt update agents/my-agent project   # update the project install

Previously, pskt update <name> auto-detected the scope. If a package was installed in both scopes, this silently picked one (root) and left the other stale. The scope is now explicit, mirroring remove.

What's new

Interactive pickers when args are omitted

pskt push        # picker for workspace packages
pskt install     # picker for registry packages → scope picker
pskt remove      # scope picker → picker for packages installed in that scope
pskt update      # scope picker → picker for packages installed in that scope

Selection uses arrow keys + enter (powered by questionary). Picker entries include the version where useful:

? Which package to update in project?
  ❯ agents/my-agent    v1.0.0
    skills/helper      v0.3.0
    commands/init      v0.2.0

Partial arguments still work:

  • pskt install foo — only prompts for scope (unchanged)
  • pskt remove agents/foo — only prompts for scope
  • pskt update agents/foo — only prompts for scope
  • pskt push from an empty workspace, or pskt remove / pskt update from a scope with nothing installed, exits with a friendly error.

Installation

curl -fsSL https://raw.githubusercontent.com/Alecell/Perskent/main/install.sh | sh

Or upgrade:

pipx upgrade perskent

Full command list

Command What it does
pskt init Configure remote registry, clone workspace
pskt doctor Per-check diagnostics
pskt status Consolidated view (workspace + registry + installs)
pskt sync Pull from remote
pskt find remote / pskt find local List packages
pskt show <name> Package details
pskt search <term> Search by name/description
pskt install [<name>] [<scope>] [--force] Install (interactive if omitted)
pskt remove [<name>] [<scope>] Uninstall (interactive if omitted)
pskt update [<name>] [<scope>] Updated in v0.6.0 — scope is now explicit; interactive if omitted
pskt push [<name>] [-m <msg>] Bump + commit + push (interactive if name omitted)
pskt destroy <name> [-m <msg>] [-y] Permanently delete from registry