pi-construct

A minimal Pi loadout menu for project-local packages.

Packages

Package details

extension

Install pi-construct from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-construct
Package
pi-construct
Version
0.0.29
Published
Jul 10, 2026
Downloads
3,430/mo · 242/wk
Author
wdphoto
License
MIT
Types
extension
Size
363.9 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions/construct/index.ts"
  ]
}

Security note

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

README

The Construct

The Construct is a global extension for Pi that manages project-level resource packages like extensions, skills, prompts, themes, and loadouts from one menu.

This README is the main human guide for Construct.

Run /construct, hit Spacebar to select what belongs in the project, press Enter to apply. Easy stuff.

Install

pi install npm:pi-construct
# or
pi install git:github.com/wdphoto/pi-construct
# or
pi install https://github.com/wdphoto/pi-construct
# or
pi install ~/Code/pi-construct

Quick start

Install a Pi package in a project:

pi install npm:package-name -l --approve

Adopt the already-installed project package/resource declarations into Construct metadata:

/construct load

Open the loadout menu:

/construct

Save the active package set for later:

/construct save web-stack

Run that saved loadout in another project:

/construct run web-stack

What it does

  • Shows active, disabled, available, and unloaded project resources.
  • Remembers package sources so you can reuse them across projects.
  • Saves named loadouts as package-source recipes.
  • Lets the dashboard enable, disable, install, or remove project package declarations from one TUI.
  • Can unfold package-contained resources and write Pi-native package filters.
  • Can adopt Pi-resolved project resources from .pi/, project .agents/skills, and project settings paths into project metadata.
  • Uses Pi-native settings, package filters, trust checks, and reload behavior.

For exact extension/skill/prompt/theme inheritance and overrides, use Pi's native project resource editor:

pi config -l

Construct treats Pi autoload: false project override entries as read-only and leaves their inherit/load/unload state to pi config -l. Saved Construct loadouts remain package-source recipes: they do not copy direct skill files or serialize package child-resource filters.

Construct is a loadout manager, not a new package manager. .pi/settings.json stays the source of truth.

Common commands

/construct                    # open the loadout menu
/construct status [full]      # read-only diagnostics
/construct scan [path]        # find unloaded trusted Pi-resolved project resources
/construct load [...]         # adopt already-installed project resources into Construct metadata
/construct unload [...]       # make Construct forget resources
/construct save <name>        # save active package sources as a loadout
/construct list               # list saved loadouts
/construct run <name>         # apply a saved loadout to this project
/construct share <name>       # print a shareable loadout JSON snippet
/construct import [json]      # preview/import a shared loadout snippet
/construct wipe <name>        # delete only a saved loadout recipe

Files

  • .pi/settings.json — Pi project source of truth.
  • .pi/construct.json — project-local Construct metadata.
  • ~/.pi/agent/construct/catalog.json — user-local Construct library and saved loadouts.
  • ~/.pi/agent/construct/projects.json — user-local index of touched projects.

Remove Construct

Use the same source form you installed with:

pi remove npm:pi-construct
pi remove git:github.com/wdphoto/pi-construct
pi remove /path/to/pi-construct

pi uninstall <source> is also supported as an alias for pi remove <source>.

License

MIT