@ramarivera/pi-television

Pi extension that powers native Pi @file picking with background television-style search

Packages

Package details

extension

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

$ pi install npm:@ramarivera/pi-television
Package
@ramarivera/pi-television
Version
0.0.5
Published
Jun 1, 2026
Downloads
not available
Author
ramarivera
License
MIT
Types
extension
Size
18 KB
Dependencies
0 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

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

README

@ramarivera/pi-television

Pi extension that keeps Pi's native file picking UX while replacing the default @file search path with a faster background television-style search.

Install

pi install npm:@ramarivera/pi-television@0.0.4

Modes

Default: native live picker

By default, typing @ in Pi keeps using Pi's native picker UI, but the suggestions come from this extension's background file search instead of launching the full-screen tv interface.

Optional: select dialog mode

If you want the simpler fallback flow, create .pi/television.json in your project:

{
  "mode": "select-dialog"
}

That mode uses background search plus a native Pi select dialog when you trigger @.

Config

Project config lives at:

.pi/television.json

You can also set a user-level default at:

~/.pi/agent/television.json

Project config overrides user config.

Supported fields:

{
  "mode": "native-live",
  "includeFolders": true,
  "maxResults": 20,
  "refreshMs": 10000
}

includeFolders defaults to true, so folder paths are returned alongside files. Set it to false to restrict the picker to regular files only.

Local Development

This checkout is live-enabled for Pi through:

.pi/extensions/television/index.ts

That shim imports the package entrypoint in src/index.ts, which imports the extension factory from src/extension.ts. Tests use the same symbol so local behavior, package behavior, and manual Pi behavior do not drift.

npm install
npm run check
npm test
npm run test:e2e
npm pack --dry-run

Publishing

Publishing uses GitHub Actions trusted publishing in .github/workflows/publish.yml.

Before the first publish, configure npm trusted publishing:

  • owner/repo: ramarivera/pi-television
  • workflow: .github/workflows/publish.yml
  • environment: blank unless the workflow is changed to require one

No NPM_TOKEN is required for trusted publishing.