# @agentoom/pi-extension-manager

Interactive extension manager for [pi](https://pi.dev) by [agentoom.com](https://agentoom.com).

List, remove, disable, and re-enable installed extensions without leaving pi.

## Install

```bash
pi install npm:@agentoom/pi-extension-manager
```

Or from a local path:

```bash
pi install ./pi-extensions/extension-manager
```

## Usage

### Command

| Command | Description |
|---------|-------------|
| `/extensions` | Open the extension manager |

### Sub-commands

| Command | Description |
|---------|-------------|
| `/extensions list` | List all extensions (default) — pick one to act on |
| `/extensions remove <index>` | Permanently remove an extension |
| `/extensions disable <index>` | Disable an extension (keeps files/settings) |
| `/extensions enable <index>` | Re-enable a previously disabled extension |

If no `<index>` is provided, an interactive picker lets you choose.

### Actions

Once you select an extension, you can:

| Action | Description |
|--------|-------------|
| **Show path / details** | View the filesystem path or package source |
| **Enable** | Re-enable a disabled extension |
| **Disable** | Disable without deleting (rename to `.disabled` for files, `autoload: false` for packages) |
| **Remove** | Permanently remove the extension |

### Remove behaviour

| Extension type | What happens |
|----------------|-------------|
| **npm/git/URL packages** | Runs `pi remove <source>` — fully deletes package files from disk |
| **Local paths** | Removes the entry from `settings.json` only — files on disk are **not** touched |
| **File-based** (auto-discovered) | Permanently deletes the file/directory |

A confirmation is always shown before any destructive action.

### Sources covered

- `settings.json` → `packages[]` and `extensions[]` (global + project)
- `~/.pi/agent/extensions/` — global auto-discovered files and directories
- `.pi/extensions/` — project-local auto-discovered files and directories

## Development

```
extension-manager/
├── package.json
├── index.ts          # Extension entry point
├── .gitignore
└── README.md
```

## Links

- [agentoom.com](https://agentoom.com)
- [npm: @agentoom/pi-extension-manager](https://www.npmjs.com/package/@agentoom/pi-extension-manager)
