@foister150/pi-tagging

Tag pi sessions with path-style hierarchical tags and browse them as a tree. Adds /tag and /tag-view.

Packages

Package details

extension

Install @foister150/pi-tagging from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@foister150/pi-tagging
Package
@foister150/pi-tagging
Version
0.1.0
Published
Jun 25, 2026
Downloads
not available
Author
foister150
License
MIT
Types
extension
Size
25.3 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "src/tags.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

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 pacemaker/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 pacemaker/frontend is a child of pacemaker. 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-tagging

Or pin a version:

pi install npm:@foister150/pi-tagging@0.1.0

Install from git instead of npm:

pi install git:github.com/Foister150/pi-tagging

Try it for a single run without installing:

pi -e npm:@foister150/pi-tagging

Usage

Tagging

/tag                      # interactive add/remove menu for the current session
/tag pacemaker/frontend   # quick-add (space-separated, path-style, multiple ok)
/tag pacemaker infra/ci   # add several at once
/tag pick                 # choose another session, then edit its tags

Sub-tags are just tags with a / in them — pacemaker/frontend/auth is three levels deep.

Browsing

/tag-view

Top level shows your tags (pacemaker, 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 trash CLI 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