@foister150/pi-tagging
v0.1.1
Published
Tag pi sessions with path-style hierarchical tags and browse them as a tree. Adds /tag and /tag-view.
Maintainers
Readme
@foister150/pi-tagging
A pi extension that lets you organize your sessions with path-style, hierarchical tags and browse them as a file-tree-like structure.
/tag— view/add/remove tags on the current session/tag <tag…>— quick-add one or more tags (e.g./tag project/frontend)/tag pick— choose any session, then edit its tags/tag-view— browse every session as a tag tree; switch, rename, delete, or retag from there
Tags use a / separator to form sub-tags, so project/frontend is a child of
project. Untagged sessions are grouped under an etc bucket. Tags are stored
centrally in ~/.pi/agent/session-tags.json and refreshed in the background on
every session start.
Install
pi install npm:@foister150/pi-taggingOr pin a version:
pi install npm:@foister150/[email protected]Install from git instead of npm:
pi install git:github.com/Foister150/pi-taggingTry it for a single run without installing:
pi -e npm:@foister150/pi-taggingUsage
Tagging
/tag # interactive add/remove menu for the current session
/tag project/frontend # quick-add (space-separated, path-style, multiple ok)
/tag project infra/ci # add several at once
/tag pick # choose another session, then edit its tagsSub-tags are just tags with a / in them — project/frontend/auth is three
levels deep.
Browsing
/tag-viewTop level shows your tags (project, infra, …) plus an etc bucket for
untagged sessions. Drill into 📁 folders; selecting a session (🗎) opens an
action menu:
- Switch / resume into the session
- Edit tags
- Rename
- Delete (moved to trash — uses the
trashCLI when available, otherwise~/.pi/agent/sessions-trash/<timestamp>/, so deletes stay recoverable)
How tags are stored
A single JSON index at ~/.pi/agent/session-tags.json, keyed by session file
path. /tag-view reconciles the index against the sessions that actually exist
on disk each run (adding new sessions as untagged, pruning ghosts of deleted
files), so it is self-healing.
License
MIT © Landon Foister
