@xynogen/pix-search
Pi extension — @ file picker overlay with fuzzy + git recency ranking
Package details
Install @xynogen/pix-search from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@xynogen/pix-search- Package
@xynogen/pix-search- Version
0.2.2- Published
- Sep 6, 2026
- Downloads
- 409/mo · 409/wk
- Author
- xynogen
- License
- MIT
- Types
- extension
- Size
- 23.5 KB
- Dependencies
- 2 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"src/extension.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pix-search
@ file picker overlay for Pi Coding Agent.
Typing @ at a token boundary (line start or after whitespace) opens a modal
file picker with its own query input:
- Files and folders — pick a file to point the model at it, or a folder to
scope work to a whole directory. Folders appear with a trailing
/. - Live preview — on wide terminals a side pane shows the selection: a file's first lines with syntax highlighting, or a folder's immediate file list.
- File-type icons & colors — results show Nerd Font file/folder icons and
type-colored names (respects
PRETTY_ICONS). - Spaces in the query — the picker owns keyboard focus, so
@thenmy filefilters on the full phrase with no@"…"quoting. - Name-based — matches file/folder names and paths, not file contents.
- Fuzzy scoring — character-order matching with word-boundary bonuses.
- Git recency — recently modified files (from
git log) rank higher. - Depth penalty — shallower entries win ties.
Picking a result inserts <path>…</path> into the prompt; the model receives
that span verbatim, and @xynogen/pix-display renders it as an @name chip
when installed. Keys: ↑/↓ move, ⏎ insert, Esc cancel (a cancelled
pick inserts a literal @, so the keystroke is never swallowed).
@ mid-token (e.g. an email user@host) is left as a literal @ — only a
boundary @ opens the picker.
Install
pi install npm:@xynogen/pix-search
Standalone — not bundled by @xynogen/pix-core. It wraps whatever editor
is already installed (via getEditorComponent/setEditorComponent), so it
composes with pix-display in either load order.