Using NativePi
Packages and extensions
Packages remain Pi packages. NativePi manages their configured sources and displays both Pi-owned extension UI and optional NativePi graphical contributions.
Install and manage packages
Open NativePi's package settings to install, update, remove, or reload packages at user or project scope. NativePi calls Pi's package mechanisms and displays load errors rather than maintaining a separate package registry.
The equivalent Pi CLI sources include npm, Git, and local paths:
pi install npm:@scope/package
pi install git:github.com/owner/repository@v1
pi install /absolute/path/to/package
pi install -l ./relative/project-packageUser-scoped package settings live in ~/.pi/agent/settings.json. Project-scoped settings live in .pi/settings.json and load only after the project is trusted.
Ordinary Pi extensions
Commands, tools, event handlers, skills, prompt templates, and agent behavior are still implemented through Pi. NativePi offers extension commands, templates, and skills by name in the composer.
Pi's standard UI requests are also presented where possible: selects, confirmations, inputs, notifications, widgets, headers, footers, and custom terminal components. Raw terminal input and replacing Pi's input editor have no desktop equivalent.
Graphical extensions
A package can additionally declare a browser renderer through nativepi.renderer. That renderer adds React UI to controlled transcript, composer, conversation-view, context-pane, and settings slots. It does not replace Pi's extension entry or change what reaches the model.
Start with the extension API overview or follow the renderer quickstart.
Pi package documentation
Read Pi's own package documentation for package sources, filters, conventional directories, dependencies, and scope resolution.