@tommy-ca/lazypi 0.10.2 → 0.10.3
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 +30 -4
- package/bin/lazypi.mjs +10 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,17 +13,43 @@ LazyPi will:
|
|
|
13
13
|
1. Install `pi` for you if it isn't installed yet.
|
|
14
14
|
2. Ask if you want to install all the packages or choose which to install.
|
|
15
15
|
|
|
16
|
-
That setup is the harness core
|
|
16
|
+
That setup is the 12-package harness core. `--yes` installs those 12. On a TTY, Install everything installs all 17. Packages LazyPi dropped stay installable with `pi install`. LazyPi does not manage them. See the Catalog table and `docs/docs/philosophy.html`.
|
|
17
17
|
|
|
18
18
|
That's it. Once done - run `pi` and experience a feature rich coding agent experience.
|
|
19
19
|
|
|
20
20
|
Install is **idempotent** — LazyPi reads your Pi settings and skips any package that is already installed, so re-running is safe.
|
|
21
21
|
|
|
22
|
+
## Catalog
|
|
23
|
+
|
|
24
|
+
`--yes` installs 12 core packages. TTY Install everything installs all 17.
|
|
25
|
+
|
|
26
|
+
| id | category | why |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| subagents | core | Isolated specialists instead of one bloated agent |
|
|
29
|
+
| pi-ask-user | core | Stop and ask instead of guessing |
|
|
30
|
+
| pi-skillful | core | Keep 4 to 6 skills visible. Hide the rest |
|
|
31
|
+
| mention-skill | core | `$` mention is the one way to reach hidden skills |
|
|
32
|
+
| goal | core | Long-objective gate. Not a checkbox list |
|
|
33
|
+
| btw | core | Side chat that does not pollute history |
|
|
34
|
+
| context-usage | core | See what is burning the window |
|
|
35
|
+
| simplify | core | Review diffs for clarity after implementation |
|
|
36
|
+
| web-access | core | Search and fetch instead of stale training data |
|
|
37
|
+
| fff | core | Paged fuzzy search so grep does not flood the transcript |
|
|
38
|
+
| dynamic-workflows | core | Fan work out across subagents |
|
|
39
|
+
| ponytail | core | Stdlib-first discipline. Lean catalog as a habit |
|
|
40
|
+
| lsp | optional | Targeted diagnostics. Cataloged, not default |
|
|
41
|
+
| interactive-shell | optional | TUI overlays. Chrome, not control plane |
|
|
42
|
+
| autoresearch | optional | Experiment loops. Convenience, not core |
|
|
43
|
+
| todos | optional | Structured tracker. Optional because core forbids checkbox todos as default |
|
|
44
|
+
| memory | optional | Git-backed memory. Infrastructure, not control plane |
|
|
45
|
+
|
|
46
|
+
Dropped packages are outside this table. `pi install` still works. LazyPi does not manage them.
|
|
47
|
+
|
|
22
48
|
## Commands
|
|
23
49
|
|
|
24
50
|
| Command | What it does |
|
|
25
51
|
| --- | --- |
|
|
26
|
-
| `npx @tommy-ca/lazypi` | Install
|
|
52
|
+
| `npx @tommy-ca/lazypi` | TTY Install everything is 17. `--yes` is the 12 core packages. Picker otherwise. |
|
|
27
53
|
| `npx @tommy-ca/lazypi remove <id>` | Remove a catalog package by id (or pass a raw pi source) |
|
|
28
54
|
| `npx @tommy-ca/lazypi status` | Show which catalog packages are installed, missing, or extra |
|
|
29
55
|
| `npx @tommy-ca/lazypi update` | Run `pi update` for installed Pi packages |
|
|
@@ -71,7 +97,7 @@ specs behave the same way, so `cd` out of the checkout first.
|
|
|
71
97
|
|
|
72
98
|
## Site / docs
|
|
73
99
|
|
|
74
|
-
The
|
|
100
|
+
The Jekyll source lives in `docs/`. This fork does not enable GitHub Pages, and [lazypi.org](https://lazypi.org) still serves the upstream installer.
|
|
75
101
|
|
|
76
102
|
To preview locally (requires Ruby + Bundler):
|
|
77
103
|
|
|
@@ -106,4 +132,4 @@ before treating releases as automated.
|
|
|
106
132
|
|
|
107
133
|
---
|
|
108
134
|
|
|
109
|
-
|
|
135
|
+
The catalog table above is the npm list. `docs/docs/philosophy.html` explains membership. Run `npx @tommy-ca/lazypi` to install.
|
package/bin/lazypi.mjs
CHANGED
|
@@ -175,7 +175,7 @@ function validateSelectors(list, label) {
|
|
|
175
175
|
if (bad.length > 0) {
|
|
176
176
|
console.error(red(`Unknown ${label}: ${bad.join(", ")}`));
|
|
177
177
|
console.error(`Valid categories: ${CATEGORIES.join(", ")}`);
|
|
178
|
-
console.error(`Valid package ids:
|
|
178
|
+
console.error(`Valid package ids: ${[...ids].join(", ")}`);
|
|
179
179
|
return false;
|
|
180
180
|
}
|
|
181
181
|
return true;
|
|
@@ -231,8 +231,8 @@ ${bold("Default behaviour:")}
|
|
|
231
231
|
${bold("Categories:")}
|
|
232
232
|
core the harness control plane: sub-agents, workflows, ask gate, skill visibility, $ mention, goal, side chat, context budget, simplify, web research, fff search, ponytail discipline
|
|
233
233
|
optional only when selected (--only optional, picker, or the everything flow): lsp diagnostics, interactive-shell overlays, autoresearch loops, todo tracking, markdown memory
|
|
234
|
-
|
|
235
|
-
|
|
234
|
+
(Dropped packages such as skill-args, mcp, ralph-wiggum, curated-themes are
|
|
235
|
+
outside the catalog — pi install npm:<source> still works for them.)
|
|
236
236
|
|
|
237
237
|
${bold("Examples:")}
|
|
238
238
|
npx @tommy-ca/lazypi # core catalog (interactive picker on a TTY)
|
|
@@ -531,6 +531,11 @@ async function ensurePi(flags) {
|
|
|
531
531
|
if (hasCmd("pi")) return true;
|
|
532
532
|
|
|
533
533
|
log.warn("Could not find the `pi` command on PATH.");
|
|
534
|
+
if (!flags.yes && !isInteractive()) {
|
|
535
|
+
log.error("Install Pi first (`npm install -g @earendil-works/pi-coding-agent`), then re-run `npx @tommy-ca/lazypi`.");
|
|
536
|
+
return false;
|
|
537
|
+
}
|
|
538
|
+
|
|
534
539
|
const ok = flags.yes || (await confirm("Install Pi now with `npm install -g @earendil-works/pi-coding-agent`?", true));
|
|
535
540
|
if (!ok) {
|
|
536
541
|
log.error("Install Pi first, then re-run `npx @tommy-ca/lazypi`.");
|
|
@@ -763,7 +768,8 @@ function cmdStatus(flags) {
|
|
|
763
768
|
printHeader(`Installed from LazyPi catalog (${installed.length}/${PACKAGES.length}):`);
|
|
764
769
|
if (installed.length === 0) console.log(dim(" none"));
|
|
765
770
|
for (const pkg of installed) {
|
|
766
|
-
|
|
771
|
+
const installedSource = [...sources].find((src) => sourcesMatch(pkg.source, src)) ?? pkg.source;
|
|
772
|
+
console.log(` ${green("✓")} [${pkg.category}] ${pkg.id.padEnd(20)} ${dim(installedSource)}`);
|
|
767
773
|
}
|
|
768
774
|
|
|
769
775
|
printHeader(`Installed with legacy catalog sources (${legacy.length}):`);
|