@pify/cli 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -38
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# @pify/cli
|
|
2
2
|
|
|
3
|
-
Front door for the [Pify](https://github.com/pifydev) suite: install and update the
|
|
4
|
-
[pi coding agent](https://github.com/earendil-works/pi), manage the `@pify/*`
|
|
5
|
-
extension packages with short names, and scaffold new Pi Packages.
|
|
3
|
+
Front door for the [Pify](https://github.com/pifydev) suite: install and update the [pi coding agent](https://github.com/earendil-works/pi), manage the `@pify/*` extension packages with short names, and scaffold new Pi Packages.
|
|
6
4
|
|
|
7
|
-
> Not to be confused with the unscoped npm package `pify` (sindresorhus's
|
|
8
|
-
> promisify library) — unrelated.
|
|
5
|
+
> Not to be confused with the unscoped npm package `pify` (sindresorhus's promisify library) — unrelated.
|
|
9
6
|
|
|
10
7
|
## Install
|
|
11
8
|
|
|
@@ -34,29 +31,17 @@ pify doctor # diagnose node / npm / pi / settings
|
|
|
34
31
|
pify init my-extension # scaffold a new Pi Package
|
|
35
32
|
```
|
|
36
33
|
|
|
37
|
-
Every command supports `--help`; `install`/`remove`/`update` support `--dry-run`;
|
|
38
|
-
`list`/`doctor` support `--json`.
|
|
34
|
+
Every command supports `--help`; `install`/`remove`/`update` support `--dry-run`; `list`/`doctor` support `--json`.
|
|
39
35
|
|
|
40
36
|
## How it relates to `pi`
|
|
41
37
|
|
|
42
|
-
`pify` deliberately does **not** replace pi's package manager. Every package
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- **Bootstrap** — `pi update` can't run when pi isn't installed yet; `pify setup`
|
|
48
|
-
closes that gap (`npm install -g --ignore-scripts @earendil-works/pi-coding-agent`,
|
|
49
|
-
matching pi's own self-update invocation).
|
|
50
|
-
- **Catalog** — `@pify/*` short names, discovery (including packages that are
|
|
51
|
-
planned but not yet published), and install state at a glance.
|
|
52
|
-
- **One-pass update** — `pify update` chains pi's self-update with per-package
|
|
53
|
-
updates of everything from this org, without touching non-Pify packages you
|
|
54
|
-
manage separately.
|
|
38
|
+
`pify` deliberately does **not** replace pi's package manager. Every package operation delegates to `pi install` / `pi remove` / `pi update`, which own `~/.pi/agent/settings.json` and the extension npm workspace — pify never edits pi's settings. What `pify` adds:
|
|
39
|
+
|
|
40
|
+
- **Bootstrap** — `pi update` can't run when pi isn't installed yet; `pify setup` closes that gap (`npm install -g --ignore-scripts @earendil-works/pi-coding-agent`, matching pi's own self-update invocation).
|
|
41
|
+
- **Catalog** — `@pify/*` short names, discovery (including packages that are planned but not yet published), and install state at a glance.
|
|
42
|
+
- **One-pass update** — `pify update` chains pi's self-update with per-package updates of everything from this org, without touching non-Pify packages you manage separately.
|
|
55
43
|
- **Doctor** — environment sanity checks for support requests.
|
|
56
|
-
- **Scaffolding** — `pify init` emits a correctly-shaped Pi Package: raw
|
|
57
|
-
TypeScript entry (no build step; pi loads `.ts` via jiti), host packages as
|
|
58
|
-
optional `peerDependencies`, `files` allowlist that actually ships the
|
|
59
|
-
sources, and a lifecycle-correct extension factory.
|
|
44
|
+
- **Scaffolding** — `pify init` emits a correctly-shaped Pi Package: raw TypeScript entry (no build step; pi loads `.ts` via jiti), host packages as optional `peerDependencies`, `files` allowlist that actually ships the sources, and a lifecycle-correct extension factory.
|
|
60
45
|
|
|
61
46
|
## Packages
|
|
62
47
|
|
|
@@ -74,16 +59,9 @@ pi's settings. What `pify` adds:
|
|
|
74
59
|
| `@pify/workflow` | Deterministic multi-step agent workflows |
|
|
75
60
|
| `@pify/yolo` | Auto-approve everything, with an undo trail |
|
|
76
61
|
|
|
77
|
-
The catalog ships inside the CLI and refreshes (at most daily) from
|
|
78
|
-
[`catalog.json` on `main`](https://github.com/pifydev/cli/blob/main/catalog.json),
|
|
79
|
-
so newly published packages appear without a CLI update. A fetched catalog is
|
|
80
|
-
validated before use — every entry must stay inside the `@pify` scope — and any
|
|
81
|
-
invalid document is discarded entirely. Overrides: `PIFY_CATALOG_URL` (remote
|
|
82
|
-
URL), `PIFY_OFFLINE=1` or `PI_OFFLINE=1` (skip all network lookups).
|
|
62
|
+
The catalog ships inside the CLI and refreshes (at most daily) from [`catalog.json` on `main`](https://github.com/pifydev/cli/blob/main/catalog.json), so newly published packages appear without a CLI update. A fetched catalog is validated before use — every entry must stay inside the `@pify` scope — and any invalid document is discarded entirely. Overrides: `PIFY_CATALOG_URL` (remote URL), `PIFY_OFFLINE=1` or `PI_OFFLINE=1` (skip all network lookups).
|
|
83
63
|
|
|
84
|
-
Explicit `@pify/<name>` arguments bypass the catalog's published/planned gate
|
|
85
|
-
(with a warning), so a freshly published package is installable before the
|
|
86
|
-
catalog propagates.
|
|
64
|
+
Explicit `@pify/<name>` arguments bypass the catalog's published/planned gate (with a warning), so a freshly published package is installable before the catalog propagates.
|
|
87
65
|
|
|
88
66
|
## Exit codes
|
|
89
67
|
|
|
@@ -96,9 +74,7 @@ catalog propagates.
|
|
|
96
74
|
| 4 | Not found (unknown catalog name; not yet published; not installed) |
|
|
97
75
|
| 5 | A delegated `pi`/`npm` subprocess exited non-zero |
|
|
98
76
|
|
|
99
|
-
Colored output respects `NO_COLOR`, `FORCE_COLOR`, `--no-color`, and non-TTY
|
|
100
|
-
pipes. Results go to stdout; warnings and errors go to stderr. No interactive
|
|
101
|
-
prompts anywhere — behavior is identical in TTY and CI except color.
|
|
77
|
+
Colored output respects `NO_COLOR`, `FORCE_COLOR`, `--no-color`, and non-TTY pipes. Results go to stdout; warnings and errors go to stderr. No interactive prompts anywhere — behavior is identical in TTY and CI except color.
|
|
102
78
|
|
|
103
79
|
## Development
|
|
104
80
|
|
|
@@ -109,8 +85,7 @@ npm test # builds first, then node --test
|
|
|
109
85
|
npm run typecheck
|
|
110
86
|
```
|
|
111
87
|
|
|
112
|
-
Requires Node >= 22.19.0 (same floor as the pi coding agent).
|
|
113
|
-
Tested with pi 0.84.4.
|
|
88
|
+
Requires Node >= 22.19.0 (same floor as the pi coding agent). Tested with pi 0.84.4.
|
|
114
89
|
|
|
115
90
|
## License
|
|
116
91
|
|