mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-17 05:00:16 +00:00
Update extension-loading.md with install/remove/update commands
- pi install <type> <source> (global default, -p for project) - pi remove <type> <name> - pi update [types...] - Install adds to settings.json + installs to disk - Global is default, -p/--project for project-local
This commit is contained in:
parent
31294e4749
commit
ad10e2308e
1 changed files with 52 additions and 10 deletions
|
|
@ -402,18 +402,60 @@ To prevent corrupted state from interrupted installs (Ctrl+C):
|
||||||
- If `package.json` has `dependencies` → run `npm install`
|
- If `package.json` has `dependencies` → run `npm install`
|
||||||
- Rename `<target>.installing/` → `<target>/`
|
- Rename `<target>.installing/` → `<target>/`
|
||||||
|
|
||||||
## Update Command
|
## Extension Management Commands
|
||||||
|
|
||||||
|
### Install
|
||||||
|
|
||||||
|
Adds extension to settings.json and installs to disk.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pi update # update all extensions
|
pi install <type> <source> # global (default)
|
||||||
pi update hooks # update only hooks
|
pi install <type> -p <source> # project-local
|
||||||
pi update tools skills # update specific types
|
pi install <type> --project <source> # project-local
|
||||||
|
|
||||||
|
# Examples:
|
||||||
|
pi install hook npm:@scope/my-hook@1.0.0
|
||||||
|
# → adds to ~/.pi/agent/settings.json
|
||||||
|
# → installs to ~/.pi/agent/hooks/npm/@scope/my-hook@1.0.0/
|
||||||
|
|
||||||
|
pi install tool -p git:https://github.com/user/tool@v1.0.0
|
||||||
|
# → adds to <cwd>/.pi/settings.json
|
||||||
|
# → installs to <cwd>/.pi/tools/git/github.com/user/tool@v1.0.0/
|
||||||
```
|
```
|
||||||
|
|
||||||
**Behavior:**
|
### Remove
|
||||||
- For `npm:pkg@<version>`: check if newer version of that exact spec exists (e.g., `@latest` resolves to newer)
|
|
||||||
- For `git:repo#branch`: `git pull`
|
Removes extension from settings.json and deletes from disk.
|
||||||
- For `git:repo@tag` or `git:repo@commit`: no-op (pinned)
|
|
||||||
|
```bash
|
||||||
|
pi remove <type> <name> # from global
|
||||||
|
pi remove <type> -p <name> # from project
|
||||||
|
|
||||||
|
# Examples:
|
||||||
|
pi remove hook my-hook # from ~/.pi/agent/settings.json + delete
|
||||||
|
pi remove skill -p brave-search # from <cwd>/.pi/settings.json + delete
|
||||||
|
```
|
||||||
|
|
||||||
|
### Update
|
||||||
|
|
||||||
|
Updates npm/git extensions to latest versions.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pi update # all (project + global)
|
||||||
|
pi update -p # project only
|
||||||
|
pi update <type>... # specific types
|
||||||
|
pi update -p <type>... # project, specific types
|
||||||
|
|
||||||
|
# Examples:
|
||||||
|
pi update # update everything
|
||||||
|
pi update hook tool # update hooks and tools
|
||||||
|
pi update -p skill # update project skills only
|
||||||
|
```
|
||||||
|
|
||||||
|
**Update behavior:**
|
||||||
|
- `npm:pkg@<version>`: check if newer version exists (e.g., `@latest` resolves to newer)
|
||||||
|
- `git:repo#branch`: `git pull`
|
||||||
|
- `git:repo@tag` or `git:repo@commit`: no-op (pinned)
|
||||||
- Local files/directories: no-op
|
- Local files/directories: no-op
|
||||||
|
|
||||||
## Loading Flow (Full)
|
## Loading Flow (Full)
|
||||||
|
|
@ -733,7 +775,7 @@ Update argument parsing:
|
||||||
result.noHooks = true;
|
result.noHooks = true;
|
||||||
```
|
```
|
||||||
|
|
||||||
Add `pi update` command handling.
|
Add subcommand handling for `pi install`, `pi remove`, `pi update`.
|
||||||
|
|
||||||
### `src/core/hooks/loader.ts`
|
### `src/core/hooks/loader.ts`
|
||||||
|
|
||||||
|
|
@ -907,7 +949,7 @@ if (settings.skills?.customDirectories) {
|
||||||
5. **Phase 5: CLI updates**
|
5. **Phase 5: CLI updates**
|
||||||
- Add new flags to args.ts
|
- Add new flags to args.ts
|
||||||
- Update help text
|
- Update help text
|
||||||
- Add `pi update` command
|
- Add `pi install`, `pi remove`, `pi update` subcommands
|
||||||
|
|
||||||
6. **Phase 6: Integration**
|
6. **Phase 6: Integration**
|
||||||
- Update sdk.ts
|
- Update sdk.ts
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue