loadout-ai 0.5.9 → 0.6.0
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 +70 -113
- package/catalog/discovered.json +26482 -22861
- package/catalog/packages.json +2 -2
- package/dist/src/commands/catalog.js +132 -2
- package/dist/src/commands/inventory.js +2 -1
- package/dist/src/commands/support.js +22 -2
- package/dist/src/core/catalog.js +13 -0
- package/dist/src/core/cli-guide.js +8 -7
- package/dist/src/core/doctor.js +73 -24
- package/dist/src/core/handoff.js +161 -0
- package/dist/src/core/review-queue.js +7 -2
- package/dist/src/core/route.js +248 -0
- package/docs/CATALOG.md +2 -2
- package/docs/DISCOVERED.md +249 -248
- package/docs/UPSTREAM_LICENSE_DECISIONS.md +19 -12
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
You need Node.js 20 or newer and Git.
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
npm install --global loadout-ai
|
|
37
|
+
npm install --global loadout-ai
|
|
38
38
|
loadout setup --mode stable
|
|
39
39
|
```
|
|
40
40
|
|
|
@@ -54,23 +54,37 @@ Nothing changes until you approve it. If anything goes wrong, start with the
|
|
|
54
54
|
|
|
55
55
|
### Abridged terminal transcript
|
|
56
56
|
|
|
57
|
-
This is an explicitly abridged transcript from a disposable
|
|
57
|
+
This is an explicitly abridged transcript from a disposable Stable run. A literal `…` marks omitted fetch output; `<snapshot-id>` is a variable placeholder because snapshot IDs vary. Loadout auto-detects installed agents; `--agents` narrows the selection when needed.
|
|
58
58
|
|
|
59
59
|
```console
|
|
60
|
-
$ loadout setup --mode stable
|
|
60
|
+
$ loadout setup --mode stable
|
|
61
61
|
…
|
|
62
62
|
Loadout: Stable Boost
|
|
63
|
-
Detected agents: Codex
|
|
63
|
+
Detected agents: Claude Code, Cursor, Codex
|
|
64
64
|
Catalog selection: 4 repositories
|
|
65
65
|
Ready to install: 4 skill repositories (30 agent skill directories)
|
|
66
66
|
Preview complete; nothing was changed. Re-run with --yes to install this exact screened plan.
|
|
67
67
|
|
|
68
|
-
$ loadout setup --mode stable --
|
|
68
|
+
$ loadout setup --mode stable --yes
|
|
69
69
|
…
|
|
70
|
-
Loadout installed 4 repositories for
|
|
70
|
+
Loadout installed 4 repositories for 3 agent(s). Snapshot: <snapshot-id>
|
|
71
71
|
|
|
72
72
|
$ loadout rollback
|
|
73
73
|
Restored snapshot <snapshot-id>
|
|
74
|
+
|
|
75
|
+
$ loadout route design the authentication system
|
|
76
|
+
Phase: plan
|
|
77
|
+
Tier: Frontier (deep reasoning)
|
|
78
|
+
Models: Claude Opus 5 ($5/$25)
|
|
79
|
+
GPT-5.6 Sol ($5/$30)
|
|
80
|
+
Agents: claude-code
|
|
81
|
+
Why: Architecture and decomposition need deep reasoning to avoid costly rework
|
|
82
|
+
|
|
83
|
+
$ loadout doctor
|
|
84
|
+
loadout doctor — HEALTHY
|
|
85
|
+
Platform: darwin
|
|
86
|
+
State: ~/.loadout ✓ writable
|
|
87
|
+
Agents: 3 detected, 9 available
|
|
74
88
|
```
|
|
75
89
|
|
|
76
90
|
The final preview sentence above is captured CLI wording. A later `--yes` invocation recomputes the plan from pinned sources and current agent and filesystem state; it does not persist or prove identity with the earlier preview.
|
|
@@ -106,9 +120,9 @@ everything into every prompt.
|
|
|
106
120
|
| Hope updates do not break anything | Preview updates and protect every managed change with a snapshot |
|
|
107
121
|
| Manually remember what was changed | Scan, reconcile, remove, roll back, or completely uninstall |
|
|
108
122
|
|
|
109
|
-
Loadout is local, open source, and preview-first. It does not need an
|
|
110
|
-
|
|
111
|
-
|
|
123
|
+
Loadout is local, open source, and preview-first. It does not need an LLM API key
|
|
124
|
+
to manage skills. MCP servers and executable tools stay behind their own explicit
|
|
125
|
+
setup and permission steps.
|
|
112
126
|
|
|
113
127
|
### Demo
|
|
114
128
|
|
|
@@ -218,9 +232,9 @@ project choose a focused active set:
|
|
|
218
232
|
|
|
219
233
|
```bash
|
|
220
234
|
loadout setup --mode maximum
|
|
221
|
-
loadout recommend --project .
|
|
222
|
-
loadout optimize --project . --
|
|
223
|
-
loadout optimize --project . --
|
|
235
|
+
loadout recommend --project .
|
|
236
|
+
loadout optimize --project . --limit 30
|
|
237
|
+
loadout optimize --project . --limit 30 --yes
|
|
224
238
|
```
|
|
225
239
|
|
|
226
240
|
This is the difference between “install everything” and “have everything ready.”
|
|
@@ -242,11 +256,11 @@ managed profile:
|
|
|
242
256
|
|
|
243
257
|
```bash
|
|
244
258
|
|
|
245
|
-
# Install the reviewed Humanizer writing skill
|
|
246
|
-
loadout install --mode custom --package humanizer
|
|
259
|
+
# Install the reviewed Humanizer writing skill
|
|
260
|
+
loadout install --mode custom --package humanizer
|
|
247
261
|
|
|
248
|
-
# Install the reviewed Obsidian skills
|
|
249
|
-
loadout install --mode custom --package obsidian-skills --agents
|
|
262
|
+
# Install the reviewed Obsidian skills for specific agents
|
|
263
|
+
loadout install --mode custom --package obsidian-skills --agents claude-code,cursor
|
|
250
264
|
```
|
|
251
265
|
|
|
252
266
|
Run `loadout profiles` to compare every mode. MCP servers always use a separate
|
|
@@ -266,12 +280,9 @@ loadout mcp-recipe --credential-free
|
|
|
266
280
|
Preview and configure one for the host you use:
|
|
267
281
|
|
|
268
282
|
```bash
|
|
269
|
-
loadout mcp-recipe playwright --agent codex
|
|
270
|
-
loadout mcp-recipe playwright --agent codex --yes
|
|
271
|
-
loadout mcp-recipe playwright --agent codex --verify
|
|
272
|
-
|
|
273
283
|
loadout mcp-recipe playwright --agent claude-code
|
|
274
284
|
loadout mcp-recipe playwright --agent claude-code --yes
|
|
285
|
+
loadout mcp-recipe playwright --agent claude-code --verify
|
|
275
286
|
```
|
|
276
287
|
|
|
277
288
|
Configuration alone does not start the server. Test a real connection separately
|
|
@@ -282,12 +293,12 @@ variables or the OS keychain without printing their values.
|
|
|
282
293
|
|
|
283
294
|
[Graphify](https://github.com/Graphify-Labs/graphify) is an optional codebase graph
|
|
284
295
|
tool. It installs both a command and an agent skill, so Loadout keeps it separate from
|
|
285
|
-
the normal profiles. It does not require an
|
|
296
|
+
the normal profiles. It does not require an LLM API key:
|
|
286
297
|
|
|
287
298
|
```bash
|
|
288
|
-
loadout tool graphify
|
|
289
|
-
loadout tool graphify --
|
|
290
|
-
loadout tool graphify --remove --
|
|
299
|
+
loadout tool graphify
|
|
300
|
+
loadout tool graphify --yes --approve-risk
|
|
301
|
+
loadout tool graphify --remove --yes --approve-risk
|
|
291
302
|
```
|
|
292
303
|
|
|
293
304
|
Executable tools remain an explicit choice instead of hiding inside a profile.
|
|
@@ -338,7 +349,7 @@ Loadout does not claim there is one universally “best” configuration. Recomm
|
|
|
338
349
|
|
|
339
350
|
<!-- loadout:daily-discovery:start -->
|
|
340
351
|
|
|
341
|
-
**Discovery snapshot (generated 2026-08-
|
|
352
|
+
**Discovery snapshot (generated 2026-08-30):** [237 repositories observed](./docs/DISCOVERED.md), including 218 uncataloged review candidates and 19 repositories already in the inspected catalog.
|
|
342
353
|
<!-- loadout:daily-discovery:end -->
|
|
343
354
|
|
|
344
355
|
The checked-in discovery report proves only its dated snapshot, not the success of every scheduled run. Use `loadout discover --source all --queue`, `loadout review-queue`, and `loadout candidate inspect owner/repository` to inspect candidates before catalog promotion.
|
|
@@ -355,11 +366,11 @@ The checked-in discovery report proves only its dated snapshot, not the success
|
|
|
355
366
|
|
|
356
367
|
<!-- loadout:current-limits:start -->
|
|
357
368
|
|
|
358
|
-
- **
|
|
369
|
+
- **4 catalog records** currently have `NOASSERTION` license status and need upstream-license review before a public release decision.
|
|
359
370
|
|
|
360
371
|
<!-- loadout:current-limits:end -->
|
|
361
372
|
|
|
362
|
-
The
|
|
373
|
+
The four records have an explicit public-release decision rather than an assumed
|
|
363
374
|
license. Read [Upstream license decisions](./docs/UPSTREAM_LICENSE_DECISIONS.md) for
|
|
364
375
|
the source-by-source record and the boundary applied to Power, Maximum, and Custom.
|
|
365
376
|
|
|
@@ -387,97 +398,43 @@ Configured paths and disposable filesystem lifecycle tests do not prove that nat
|
|
|
387
398
|
|
|
388
399
|
Start at the top and stop whenever Loadout does everything you need.
|
|
389
400
|
|
|
390
|
-
| Priority | What it does | Command
|
|
391
|
-
| -------: | --------------------------------------------------------------- |
|
|
392
|
-
| 1 | Opens the beginner-friendly guided path | `loadout guide`
|
|
393
|
-
| 2 | Previews the recommended 30-skill daily setup | `loadout setup --mode stable`
|
|
394
|
-
| 3 | Previews the broader Power setup | `loadout setup --mode power`
|
|
395
|
-
| 4 | Downloads the broad screened library, disabled by default | `loadout setup --mode maximum`
|
|
396
|
-
| 5 | Shows Loadout-managed packages and active skills | `loadout status`; `loadout library`
|
|
397
|
-
| 6 | Inventories skills across detected agents without changing them | `loadout scan`
|
|
398
|
-
| 7 | Explains what fits the current repository | `loadout recommend --project
|
|
399
|
-
| 8 | Previews a bounded project-specific active set | `loadout optimize --project . --limit 30`
|
|
400
|
-
| 9 | Compares existing skills with reviewed catalog copies | `loadout reconcile --refresh`
|
|
401
|
-
| 10 | Checks managed active and disabled-library sources for changes | `loadout update`
|
|
402
|
-
| 11 | Finds newly launched or newly popular candidates | `loadout discover --source all --queue`
|
|
403
|
-
| 12 | Shows candidates waiting for deeper review | `loadout review-queue`
|
|
404
|
-
| 13 | Lists MCP recipes and credential needs | `loadout mcp-recipe`; `loadout mcp-recipe --credential-free`
|
|
405
|
-
| 14 | Previews an MCP configuration | `loadout mcp-recipe playwright --agent
|
|
406
|
-
| 15 |
|
|
407
|
-
| 16 |
|
|
408
|
-
| 17 |
|
|
409
|
-
| 18 |
|
|
410
|
-
| 19 |
|
|
411
|
-
| 20 |
|
|
401
|
+
| Priority | What it does | Command |
|
|
402
|
+
| -------: | --------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
403
|
+
| 1 | Opens the beginner-friendly guided path | `loadout guide` |
|
|
404
|
+
| 2 | Previews the recommended 30-skill daily setup | `loadout setup --mode stable` |
|
|
405
|
+
| 3 | Previews the broader Power setup | `loadout setup --mode power` |
|
|
406
|
+
| 4 | Downloads the broad screened library, disabled by default | `loadout setup --mode maximum` |
|
|
407
|
+
| 5 | Shows Loadout-managed packages and active skills | `loadout status`; `loadout library` |
|
|
408
|
+
| 6 | Inventories skills across detected agents without changing them | `loadout scan` |
|
|
409
|
+
| 7 | Explains what fits the current repository | `loadout recommend --project .` |
|
|
410
|
+
| 8 | Previews a bounded project-specific active set | `loadout optimize --project . --limit 30` |
|
|
411
|
+
| 9 | Compares existing skills with reviewed catalog copies | `loadout reconcile --refresh` |
|
|
412
|
+
| 10 | Checks managed active and disabled-library sources for changes | `loadout update` |
|
|
413
|
+
| 11 | Finds newly launched or newly popular candidates | `loadout discover --source all --queue` |
|
|
414
|
+
| 12 | Shows candidates waiting for deeper review | `loadout review-queue` |
|
|
415
|
+
| 13 | Lists MCP recipes and credential needs | `loadout mcp-recipe`; `loadout mcp-recipe --credential-free` |
|
|
416
|
+
| 14 | Previews an MCP configuration | `loadout mcp-recipe playwright --agent claude-code` |
|
|
417
|
+
| 15 | Recommends the right model and agent for a task | `loadout route design the auth system` |
|
|
418
|
+
| 16 | Shows the full model catalog with pricing | `loadout route --models`; `loadout route --cost` |
|
|
419
|
+
| 17 | Sends a task to another agent via file-based handoff | `loadout handoff send codex "write tests for auth"` |
|
|
420
|
+
| 18 | Checks agent health, permissions, and setup | `loadout doctor`; `loadout doctor --verbose` |
|
|
421
|
+
| 19 | Lists and installs isolated runtime tools such as Graphify | `loadout tool`; `loadout tool graphify` |
|
|
422
|
+
| 20 | Lists snapshots or restores the latest managed change | `loadout rollback --list`; `loadout rollback` |
|
|
423
|
+
| 21 | Previews removal of one managed package | `loadout remove <package-id>` |
|
|
424
|
+
| 22 | Previews complete removal of Loadout-managed state | `loadout uninstall` |
|
|
425
|
+
| 23 | Enables read-only daily discovery and update checks | `loadout autopilot --yes` |
|
|
426
|
+
| 24 | Shows the complete CLI | `loadout --help`; `loadout advanced` |
|
|
412
427
|
|
|
413
428
|
Most mutating commands are dry runs first. After reading the preview, add `--yes` to
|
|
414
429
|
apply. Commands with executable or connection risk require the additional approval
|
|
415
430
|
shown in their output.
|
|
416
431
|
|
|
417
|
-
## Built with
|
|
418
|
-
|
|
419
|
-
Loadout was
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
### From a broad idea to a working product
|
|
425
|
-
|
|
426
|
-
The starting idea was simple: one install that gives every coding agent the best
|
|
427
|
-
extensions on GitHub. The difficult part was everything hidden inside that sentence.
|
|
428
|
-
What counts as “best”? How much should stay active? What happens to skills a user
|
|
429
|
-
already has? How do you update a repository without silently trusting new code? How
|
|
430
|
-
do you undo changes across several agents?
|
|
431
|
-
|
|
432
|
-
We used GPT-5.6 through Codex for the repo-wide reasoning behind those decisions.
|
|
433
|
-
Together, we turned the idea into three distinct modes: a bounded Stable daily
|
|
434
|
-
driver, a larger Power setup, and a Maximum library that keeps broad optionality
|
|
435
|
-
without loading thousands of skills into every prompt.
|
|
436
|
-
|
|
437
|
-
| Part of the build | How we used Codex and GPT-5.6 | What made it into Loadout |
|
|
438
|
-
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
439
|
-
| Product planning | Broke the original idea into testable user journeys and challenged unsafe assumptions | Stable, Power, Maximum, Custom, project optimization, discovery, updates, and complete uninstall |
|
|
440
|
-
| Architecture | Traced how catalogs, adapters, agent directories, manifests, and snapshots affect one another | A local TypeScript CLI with a shared catalog, 12 agent adapters, and snapshot-backed transactions |
|
|
441
|
-
| Ecosystem research | Compared repositories, checked source layouts and licenses, and separated popularity from evidence | 53 pinned catalog sources plus a discovery snapshot watching 240 repositories |
|
|
442
|
-
| Implementation | Wrote and refactored CLI commands, schemas, source fetchers, installers, active-set logic, and MCP configuration | The published `loadout-ai` package and the commands documented above |
|
|
443
|
-
| Safety work | Looked for scripts, hooks, binaries, credential references, target collisions, stale previews, and external edits | Preview-first changes, quarantined skill units, explicit risk approval, drift protection, and rollback |
|
|
444
|
-
| Testing | Generated adversarial cases, reproduced failures from real terminal sessions, and converted them into regression tests | 632 passing tests, CLI and README end-to-end flows, package smoke tests, and a 1,000-skill performance gate |
|
|
445
|
-
| Team integration | Audited teammate branches, compared them with `main`, prepared focused pull requests, and checked what was actually complete | One public history instead of three disconnected prototypes |
|
|
446
|
-
| Release work | Verified npm contents, version behavior, GitHub metadata, documentation claims, and public CI | A public npm package, credited upstream catalog, release evidence, and a reproducible verification command |
|
|
447
|
-
|
|
448
|
-
### Real testing changed the code
|
|
449
|
-
|
|
450
|
-
Codex was most useful when the neat plan met a messy laptop. A few examples:
|
|
451
|
-
|
|
452
|
-
- A Graphify install appeared in Claude Code but vanished from Codex inventory
|
|
453
|
-
because the generated runtime skill and the normal skill scanner used different
|
|
454
|
-
Codex paths. The scan now recognizes managed runtime-tool skills explicitly.
|
|
455
|
-
- Update checks repeatedly timed out on large repositories. We measured the real
|
|
456
|
-
clone cost, changed the update path to check remote commit metadata first, and only
|
|
457
|
-
fetch a full snapshot when a pinned source actually changed.
|
|
458
|
-
- Existing unmanaged skills could occupy the same target as a Stable install.
|
|
459
|
-
Instead of overwriting them, Loadout now stops, scans, compares, and offers a
|
|
460
|
-
separate reconciliation path for exact or unambiguous matches.
|
|
461
|
-
- ChatGPT and Claude subscriptions were easy to confuse with separately billed API
|
|
462
|
-
access. Setup now asks about API access explicitly, while credentialed MCP servers
|
|
463
|
-
remain separate from automatic skill installation.
|
|
464
|
-
|
|
465
|
-
Those fixes came from a loop we repeated throughout the week: run the real command,
|
|
466
|
-
paste the exact output into Codex, trace the behavior through the codebase, write a
|
|
467
|
-
regression test, fix the smallest responsible layer, and run the full release gate.
|
|
468
|
-
|
|
469
|
-
### What the team owned
|
|
470
|
-
|
|
471
|
-
The humans chose the product direction, selected the tradeoffs, reviewed upstream
|
|
472
|
-
projects, tested Loadout on real Codex and Claude Code profiles, approved risky
|
|
473
|
-
operations, and made every release decision. GPT-5.6 helped with high-context design,
|
|
474
|
-
debugging, and review; Codex handled the implementation loop and verification tools.
|
|
475
|
-
Neither replaced human judgment about what should be installed on someone else's
|
|
476
|
-
machine.
|
|
477
|
-
|
|
478
|
-
Loadout itself does **not** call GPT-5.6 and does not require an OpenAI API key to
|
|
479
|
-
manage skills. Codex and GPT-5.6 helped build the tool; they are not a hidden runtime
|
|
480
|
-
dependency.
|
|
432
|
+
## Built with Claude
|
|
433
|
+
|
|
434
|
+
Loadout was designed and built by [Viraj Mishra](https://github.com/VirajMishra1) with Claude Code.
|
|
435
|
+
|
|
436
|
+
Loadout itself does **not** call any LLM API and does not require an LLM API key
|
|
437
|
+
to manage skills. Claude helped build the tool; it is not a hidden runtime dependency.
|
|
481
438
|
|
|
482
439
|
## Development
|
|
483
440
|
|