loadout-ai 0.5.7 → 0.5.8

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/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.5.8 - 2026-07-21
6
+
7
+ ### Fixed
8
+
9
+ - Make `install --mode custom` genuinely additive: it now keeps existing managed
10
+ skills active and does not replace the saved profile.
11
+
5
12
  ## 0.5.7 - 2026-07-21
6
13
 
7
14
  ### Changed
package/MASTER_PLAN.md CHANGED
@@ -13,7 +13,7 @@ history** is evidence of how the product was built, not unfinished launch scope.
13
13
 
14
14
  ### Product complete
15
15
 
16
- - [x] Publish the CLI as `loadout-ai@0.5.6`; keep the product usable without cloning
16
+ - [x] Publish the CLI as `loadout-ai@0.5.8`; keep the product usable without cloning
17
17
  this repository or providing an OpenAI/Anthropic API key.
18
18
  - [x] Ship Stable, Power, Maximum, and Custom profiles with preview-first apply,
19
19
  snapshots, drift protection, explicit rollback, removal, and complete uninstall.
@@ -35,16 +35,14 @@ history** is evidence of how the product was built, not unfinished launch scope.
35
35
 
36
36
  ### Final founder acceptance
37
37
 
38
- - [ ] Install the exact public npm release in a fresh terminal and run the final short
39
- path: Humanizer Custom preview/apply/scan/rollback, read-only update/discovery,
40
- complete uninstall, and clean reinstall. Stable, Power, Maximum, project
41
- optimization, Graphify, and both-host Playwright MCP lifecycles have already
42
- been exercised on the founder's real profiles.
43
- - [ ] Decide whether to rename the GitHub repository from `loadout` to `loadout-ai`.
44
- If approved, rename it before recording and update canonical links; keep the
45
- product name **Loadout** and npm package/CLI identity `loadout-ai` / `loadout`.
46
- - [ ] Make the six unresolved upstream-license decisions explicit. Do not silently
47
- convert `NOASSERTION` into a license claim because a repository is popular.
38
+ - [x] Install the exact public npm release, verify `loadout --version`, and scan the
39
+ founder's restored real profiles. Stable, Power, Maximum, project optimization,
40
+ Humanizer, Graphify, both-host Playwright MCP lifecycles, rollback, complete
41
+ uninstall, and clean reinstall were exercised during founder acceptance.
42
+ - [x] Keep the GitHub repository name `loadout`. The product remains **Loadout** and
43
+ the npm package/CLI identities remain `loadout-ai` / `loadout`.
44
+ - [x] Record explicit decisions for all six `NOASSERTION` sources in
45
+ `docs/UPSTREAM_LICENSE_DECISIONS.md` without inventing a license claim.
48
46
 
49
47
  ### Submission work
50
48
 
@@ -53,9 +51,11 @@ history** is evidence of how the product was built, not unfinished launch scope.
53
51
  - [ ] Replace the README demo placeholder with the final YouTube link.
54
52
  - [ ] In the voiceover, explain what Loadout does and how Codex and GPT-5.6 were used.
55
53
  - [ ] Run `/feedback` in Codex, copy the resulting session ID, and enter it in Devpost.
56
- - [ ] Confirm the repository URL is accessible to Devpost and OpenAI.
57
- - [ ] Confirm all team invitations are accepted, select **Developer Tools**, complete
58
- the edited Devpost description, and submit rather than leaving a draft.
54
+ - [x] Confirm the public repository URL is accessible to Devpost and OpenAI.
55
+ - [x] Confirm all team invitations are accepted. Both teammates are collaborators and
56
+ there are no pending repository invitations.
57
+ - [ ] Select **Developer Tools**, complete the edited Devpost description, and submit
58
+ rather than leaving a draft.
59
59
 
60
60
  ### Deliberately not part of this submission
61
61
 
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@0.5.7
37
+ npm install --global loadout-ai@0.5.8
38
38
  loadout setup --mode stable
39
39
  ```
40
40
 
@@ -87,10 +87,10 @@ Useful skills, plugins, MCP servers, and settings arrive one experiment at a tim
87
87
  Soon it is hard to remember what is installed, where it came from, whether something
88
88
  better launched yesterday, or how to undo a change. The name comes from games, where
89
89
  your loadout is the set of tools you choose for the mission. This does the same for AI
90
- coding agentswithout making you rebuild the setup for every agent and every project.
90
+ coding agents without making you rebuild the setup for every agent and every project.
91
91
 
92
92
  Most extension tools begin with a repo you already know. Loadout begins one step
93
- earlier—**what is actually worth knowing?**—and stays with you after installation.
93
+ earlier: **what is actually worth knowing?** It stays with you after installation.
94
94
 
95
95
  Loadout watches a much wider catalog than it activates. You can keep thousands of
96
96
  technically screened skill copies in the disabled Maximum library, discover new projects as
@@ -112,7 +112,7 @@ their own explicit setup and permission steps.
112
112
 
113
113
  ### Demo
114
114
 
115
- **Demo video coming here.** The release walkthrough will show the real pathnot a
115
+ **Demo video coming here.** The release walkthrough will show the real path, not a
116
116
  mock UI: Stable install, cross-agent inventory, project optimization, update and
117
117
  discovery checks, MCP setup, Graphify, rollback, and complete uninstall. The exact
118
118
  under-three-minute [recording and voiceover script](./docs/DEMO_SCRIPT.md) is public.
@@ -122,7 +122,7 @@ commands you can run yourself.
122
122
 
123
123
  ## Stable workflow
124
124
 
125
- ### Stable Boost install the essentials and start building
125
+ ### Stable Boost: install the essentials and start building
126
126
 
127
127
  Stable is the recommended daily driver: **30 selected skill directories from four
128
128
  pinned public sources**, installed into each agent you choose. It covers planning,
@@ -181,7 +181,7 @@ checked by `loadout update` without moving them to a different agent path.
181
181
 
182
182
  Loadout is opinionated when you want it to be and precise when you do not.
183
183
 
184
- ### Power Boost a larger cross-project toolkit
184
+ ### Power Boost: a larger cross-project toolkit
185
185
 
186
186
  Power draws a skill-level allowlist from eight major collections. The prepared set
187
187
  is deduplicated and invalid units are quarantined, so the final count can be lower
@@ -203,11 +203,11 @@ skills per agent.
203
203
  loadout setup --mode power
204
204
  ```
205
205
 
206
- ### Maximum Library download broadly, activate intelligently
206
+ ### Maximum Library: download broadly, activate intelligently
207
207
 
208
208
  Maximum is for explorers. It downloads every non-archived, technically screened
209
209
  skill component in the catalog into Loadout's **disabled local library**. Disabled
210
- means cached and availablenot injected into agent context. Then let the current
210
+ means cached and available, not injected into agent context. Then let the current
211
211
  project choose a focused active set:
212
212
 
213
213
  ```bash
@@ -221,7 +221,7 @@ This is the difference between “install everything” and “have everything r
221
221
  The first overloads agents; the second gives you a large library with a small,
222
222
  relevant active loadout.
223
223
 
224
- ### Custom take exact control
224
+ ### Custom: take exact control
225
225
 
226
226
  Use `setup` when the listed packages should become the complete managed profile for
227
227
  the selected agents. Packages from the previous managed profile that are not listed
@@ -353,6 +353,10 @@ The checked-in discovery report proves only its dated snapshot, not the success
353
353
 
354
354
  <!-- loadout:current-limits:end -->
355
355
 
356
+ The six records have an explicit public-release decision rather than an assumed
357
+ license. Read [Upstream license decisions](./docs/UPSTREAM_LICENSE_DECISIONS.md) for
358
+ the source-by-source record and the boundary applied to Power, Maximum, and Custom.
359
+
356
360
  Read the [security policy](./SECURITY.md), [catalog policy](./docs/CATALOG_POLICY.md), and [credential and update policy](./docs/CREDENTIAL_AND_UPDATE_POLICY.md) before trusting third-party content.
357
361
 
358
362
  ## Agent support
@@ -431,7 +435,7 @@ without loading thousands of skills into every prompt.
431
435
  | 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 |
432
436
  | 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 |
433
437
  | 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 |
434
- | Testing | Generated adversarial cases, reproduced failures from real terminal sessions, and converted them into regression tests | 620 passing tests, CLI and README end-to-end flows, package smoke tests, and a 1,000-skill performance gate |
438
+ | Testing | Generated adversarial cases, reproduced failures from real terminal sessions, and converted them into regression tests | 625 passing tests, CLI and README end-to-end flows, package smoke tests, and a 1,000-skill performance gate |
435
439
  | 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 |
436
440
  | 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 |
437
441
 
@@ -495,6 +499,7 @@ The repository's mixed README product-flow test uses an isolated build, disposab
495
499
  - [Daily discovery snapshot](./docs/DISCOVERED.md)
496
500
  - [Candidate inspection and promotion](./docs/CANDIDATE_INTELLIGENCE.md)
497
501
  - [Credential and update policy](./docs/CREDENTIAL_AND_UPDATE_POLICY.md)
502
+ - [Upstream license decisions](./docs/UPSTREAM_LICENSE_DECISIONS.md)
498
503
  - [Changelog](./CHANGELOG.md)
499
504
 
500
505
  ## Contributing, security, and attribution
package/dist/src/cli.js CHANGED
@@ -264,7 +264,7 @@ async function runSetup(options) {
264
264
  reader?.close();
265
265
  }
266
266
  }
267
- const LOADOUT_VERSION = "0.5.7";
267
+ const LOADOUT_VERSION = "0.5.8";
268
268
  function durableSchedulerLauncher() {
269
269
  return [
270
270
  join(dirname(process.execPath), process.platform === "win32" ? "npx.cmd" : "npx"),
@@ -2711,6 +2711,7 @@ program
2711
2711
  const prepared = await prepareCatalogInstall(setupSelection(options.mode, packageIds), {
2712
2712
  requestedAgents: parseAgentSelection(options.agents),
2713
2713
  onProgress: printSetupProgress,
2714
+ additive: options.mode === "custom",
2714
2715
  });
2715
2716
  console.log(formatPreparedCatalogInstall(prepared, {
2716
2717
  details: options.details,
@@ -179,7 +179,7 @@ export async function prepareCatalogInstall(selection, options = {}) {
179
179
  });
180
180
  return false;
181
181
  });
182
- const reconciliation = selection.mode === "maximum"
182
+ const reconciliation = selection.mode === "maximum" || options.additive
183
183
  ? {
184
184
  obsoleteActivationKeys: [],
185
185
  obsoletePackageIds: [],
@@ -189,6 +189,7 @@ export async function prepareCatalogInstall(selection, options = {}) {
189
189
  : await planManagedProfileReconciliation(usableEntries);
190
190
  return {
191
191
  selection,
192
+ additive: options.additive ?? false,
192
193
  resolution,
193
194
  agents,
194
195
  entries: usableEntries,
@@ -217,6 +218,8 @@ export function formatPreparedCatalogInstall(prepared, options = {}) {
217
218
  `Separately billed model API access: ${formatModelApiAccess(prepared.access)} (ChatGPT and Claude subscriptions do not count as API access)`,
218
219
  "Automatic skill setup does not require an OpenAI, Anthropic, or OpenRouter API key; credentialed MCP/runtime integrations remain explicit and deferred.",
219
220
  ];
221
+ if (prepared.additive)
222
+ lines.push("Additive install: existing managed skills will stay active.");
220
223
  if (directoriesPerAgent > RECOMMENDED_ACTIVE_SKILL_LIMIT)
221
224
  lines.push(`Capacity notice: about ${directoriesPerAgent} skill directories per agent exceeds Stable's ${RECOMMENDED_ACTIVE_SKILL_LIMIT}-skill bound.${prepared.selection.mode === "maximum" ? " Maximum stores them in the disabled library; optimize or activate a project-relevant working set." : prepared.selection.mode === "power" ? " Power is the explicit larger active mode; choose Stable or project optimization when lower context use matters." : " Use project-aware activation for a smaller working set."}`);
222
225
  if (failures.length)
@@ -263,11 +266,15 @@ export async function applyPreparedCatalogInstall(prepared, options = {}) {
263
266
  })
264
267
  : applySkillInstallBatch(prepared.entries, [], {
265
268
  replaceManagedTargets: true,
266
- reconcileManagedTargets: true,
269
+ reconcileManagedTargets: !prepared.additive,
267
270
  ...(prepared.reconciliation
268
271
  ? { expectedReconciliation: prepared.reconciliation }
269
272
  : {}),
270
- afterRecord: () => recordInstalledProfile(prepared).then(() => undefined),
273
+ ...(prepared.additive
274
+ ? {}
275
+ : {
276
+ afterRecord: () => recordInstalledProfile(prepared).then(() => undefined),
277
+ }),
271
278
  });
272
279
  }
273
280
  export function formatCatalogApplyGuidance(riskApprovalRequired) {
@@ -1,6 +1,6 @@
1
1
  # Loadout demo and voiceover
2
2
 
3
- Target length: **2:352:50**. Record the real CLI, cut fetch waits and typing, and do
3
+ Target length: **2:35 to 2:50**. Record the real CLI, cut fetch waits and typing, and do
4
4
  not show the retired dashboard. The final YouTube upload must be public.
5
5
 
6
6
  ## Before recording
@@ -10,7 +10,7 @@ not show the retired dashboard. The final YouTube upload must be public.
10
10
  2. Confirm the release and product health:
11
11
 
12
12
  ```bash
13
- npm install --global loadout-ai@0.5.7
13
+ npm install --global loadout-ai@0.5.8
14
14
  hash -r
15
15
  loadout --version
16
16
  loadout health
@@ -24,7 +24,7 @@ not show the retired dashboard. The final YouTube upload must be public.
24
24
 
25
25
  ## Shot list and exact narration
26
26
 
27
- ### 0:000:15 the problem
27
+ ### 0:00 to 0:15: the problem
28
28
 
29
29
  **Screen:** README hero, then a terminal showing `loadout --version`.
30
30
 
@@ -35,7 +35,7 @@ not show the retired dashboard. The final YouTube upload must be public.
35
35
  > or how to undo it. I built Loadout: one local CLI to discover, inspect, install,
36
36
  > update, and roll back agent extensions across Codex, Claude Code, and other agents.
37
37
 
38
- ### 0:150:50 one safe install
38
+ ### 0:15 to 0:50: one safe install
39
39
 
40
40
  **Screen:** Run the preview, then apply. Cut the fetch wait, not the result.
41
41
 
@@ -52,7 +52,7 @@ loadout setup --mode stable --agents codex,claude-code --api-access none --yes
52
52
  > transaction and gives me a rollback snapshot. My ChatGPT and Claude subscriptions
53
53
  > are not treated as API keys, and normal skill setup does not need one.
54
54
 
55
- ### 0:501:12 see what changed and undo it
55
+ ### 0:50 to 1:12: see what changed and undo it
56
56
 
57
57
  **Screen:**
58
58
 
@@ -70,25 +70,26 @@ loadout rollback --snapshot <stable-snapshot-id>
70
70
  > preserving unrelated skills. I use the exact snapshot ID shown by the install, so
71
71
  > there is no ambiguity. Complete uninstall is available too.
72
72
 
73
- ### 1:121:42 broad library, focused project
73
+ ### 1:12 to 1:42: broad catalog, focused project
74
74
 
75
- **Screen:** Use the already downloaded Maximum library from the acceptance run. Show
76
- the first part of `library`, then run the two read-only commands.
75
+ **Screen:** Show the profile choices, catalog coverage, and a real project
76
+ recommendation. These commands are read-only and do not require a prepared Maximum
77
+ library.
77
78
 
78
79
  ```bash
79
- loadout library
80
+ loadout profiles
81
+ loadout catalog --coverage
80
82
  loadout recommend --project . --agent codex
81
- loadout optimize --project . --agents codex,claude-code --limit 30
82
83
  ```
83
84
 
84
85
  **Say:**
85
86
 
86
- > Maximum does not dump thousands of skills into every prompt. It keeps the broad
87
- > screened catalog disabled, detects this TypeScript CLI project, and proposes a
88
- > focused active set for each agent. That is the core idea: discover broadly, activate
89
- > narrowly, and keep every change reversible.
87
+ > Loadout has three useful levels. Stable installs a bounded daily set. Power is
88
+ > broader. Maximum keeps a large screened library disabled instead of dumping every
89
+ > skill into every prompt. For this TypeScript CLI, the project recommender proposes
90
+ > tools for documentation, testing, security, and MCP work without changing anything.
90
91
 
91
- ### 1:422:05 MCP, tools, and custom skills
92
+ ### 1:42 to 2:05: MCP, tools, and custom skills
92
93
 
93
94
  **Screen:**
94
95
 
@@ -106,7 +107,7 @@ loadout install --mode custom --package humanizer --agents codex
106
107
  > skill such as Humanizer can be installed directly through Custom mode. Each path
107
108
  > discloses permissions and credentials before approval.
108
109
 
109
- ### 2:052:25 today and tomorrow
110
+ ### 2:05 to 2:25: today and tomorrow
110
111
 
111
112
  **Screen:**
112
113
 
@@ -121,7 +122,7 @@ loadout discover --limit 5
121
122
  > watches a wider ecosystem and queues new projects for review, so something going
122
123
  > viral can be noticed quickly without being trusted blindly.
123
124
 
124
- ### 2:252:48 Codex, GPT-5.6, and close
125
+ ### 2:25 to 2:48: Codex, GPT-5.6, and close
125
126
 
126
127
  **Screen:** README section “Built with Codex and GPT-5.6”, then return to the hero.
127
128
 
@@ -138,7 +139,7 @@ loadout discover --limit 5
138
139
 
139
140
  - Remove loading screens, typing pauses, repeated commands, notifications, and secrets.
140
141
  - Keep terminal output readable at 1080p; do not use a synthetic dashboard or mock data.
141
- - Add a small title card: **Loadout Agent extensions, under control.**
142
+ - Add a small title card: **Loadout: Agent extensions, under control.**
142
143
  - Export under three minutes and upload publicly to YouTube.
143
144
  - Watch the uploaded video once, confirm audio and text are legible, then paste the
144
145
  exact public URL into README and Devpost.
@@ -0,0 +1,90 @@
1
+ # Devpost submission copy
2
+
3
+ Edit this in your own voice before submitting. Replace the video placeholder and
4
+ check every link while signed out.
5
+
6
+ ## Project name
7
+
8
+ Loadout
9
+
10
+ ## Tagline
11
+
12
+ One CLI to discover, install, update, and undo the best extensions for your AI coding
13
+ agents.
14
+
15
+ ## Category
16
+
17
+ Developer Tools
18
+
19
+ ## Short category and project answer
20
+
21
+ We are building for the Developer Tools category. Loadout is a local CLI that finds,
22
+ screens, installs, updates, and rolls back skills, MCP servers, and runtime tools
23
+ across Codex, Claude Code, Cursor, and other coding agents, with project-aware
24
+ recommendations and a daily read-only discovery feed.
25
+
26
+ ## Project description
27
+
28
+ Improving an AI coding agent still means hunting through GitHub, Reddit, X, and
29
+ bookmarks, then copying files into several different agent directories. A week later,
30
+ you may not remember where a skill came from, whether a better option has appeared,
31
+ or how to remove it safely.
32
+
33
+ Loadout turns that mess into one local CLI. Stable installs a bounded 30-skill daily
34
+ setup from four pinned public sources. Power prepares a broader toolkit. Maximum
35
+ keeps thousands of screened skill copies in a disabled local library, then recommends
36
+ a focused active set for the current project. Custom mode installs one exact package
37
+ without replacing the rest of your setup.
38
+
39
+ Every change is previewed first. Loadout records source and version ownership, checks
40
+ for collisions and risky files, protects user edits, and creates a rollback snapshot
41
+ before it changes managed files. MCP servers and executable tools remain separate,
42
+ explicit choices. The normal skill workflow does not require an OpenAI or Anthropic
43
+ API key.
44
+
45
+ The bundled catalog credits 53 pinned public repositories. A generated discovery
46
+ snapshot currently watches 240 repositories, including 216 candidates that have not
47
+ been promoted into the catalog. Loadout treats popularity as a reason to inspect a
48
+ project, not proof that it is safe or useful.
49
+
50
+ We built Loadout with Codex and GPT-5.6 during OpenAI Build Week. We used Codex for
51
+ architecture, implementation, repository research, threat modelling, cross-platform
52
+ work, and the founder testing loop. Real tests on Codex and Claude Code exposed bugs
53
+ in rollback history, update performance, project activation, MCP configuration,
54
+ runtime-tool inventory, and adopted-skill removal. Each reproducible failure became a
55
+ regression test. The current release passes 625 tests, packaged CLI journeys, public
56
+ CI, and a 1,000-skill performance gate.
57
+
58
+ Loadout is published on npm and the code is public. The dashboard was deliberately
59
+ removed because it duplicated the CLI and made the product harder to understand. The
60
+ result is the product we wanted to use ourselves: one command-line control layer for
61
+ the extensions around every AI coding agent.
62
+
63
+ ## Links
64
+
65
+ - GitHub: https://github.com/VirajMishra1/loadout
66
+ - npm: https://www.npmjs.com/package/loadout-ai
67
+ - Release: https://github.com/VirajMishra1/loadout/releases/tag/v0.5.8
68
+ - Demo: PASTE_PUBLIC_YOUTUBE_URL_HERE
69
+
70
+ ## Judge testing path
71
+
72
+ ```bash
73
+ npm install --global loadout-ai@0.5.8
74
+ loadout --version
75
+ loadout guide
76
+ loadout setup --mode stable
77
+ ```
78
+
79
+ The Stable command previews first. It changes nothing until the reviewer approves
80
+ the plan. The README and user test guide cover rollback, Maximum, project
81
+ recommendations, MCP recipes, Graphify, discovery, and complete uninstall.
82
+
83
+ ## Final fields to verify
84
+
85
+ - Category is Developer Tools.
86
+ - All three teammates appear on the Devpost submission.
87
+ - The public YouTube URL works while signed out.
88
+ - The Codex `/feedback` session ID is present.
89
+ - The GitHub, npm, and video links are correct.
90
+ - The submission is submitted, not saved as a draft.
@@ -0,0 +1,32 @@
1
+ # Upstream license decisions
2
+
3
+ Reviewed on July 21, 2026 for the public `0.5.8` release.
4
+
5
+ Loadout records `NOASSERTION` when it cannot identify one repository-wide SPDX
6
+ license from the inspected source. Popularity, an official publisher, or a public
7
+ GitHub repository does not replace a license grant.
8
+
9
+ ## Release decision
10
+
11
+ The six records below remain in the credited catalog as source metadata. Loadout
12
+ does not copy their source into the npm package, claim ownership, or assign them a
13
+ license. A selected profile may fetch a pinned upstream snapshot only after showing
14
+ the user a preview. MCP configuration and executable tools remain separate explicit
15
+ actions.
16
+
17
+ None of these six records is part of Stable. Stable continues to use four sources
18
+ with identified SPDX licenses. People who select Power, Maximum, or a Custom package
19
+ must review the linked upstream terms before using content marked `NOASSERTION`.
20
+
21
+ | Catalog record | Upstream source | Recorded decision |
22
+ | ------------------------------ | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
23
+ | OpenAI Skills Catalog | [openai/skills](https://github.com/openai/skills) | Retain the pinned catalog pointer with `NOASSERTION`; no repository-wide root license was identified. |
24
+ | Anthropic Skills | [anthropics/skills](https://github.com/anthropics/skills) | Retain the pinned catalog pointer with `NOASSERTION`; no repository-wide root license was identified. |
25
+ | Vercel Agent Skills | [vercel-labs/agent-skills](https://github.com/vercel-labs/agent-skills) | Retain the pinned catalog pointer with `NOASSERTION`; no repository-wide root license was identified. |
26
+ | Vercel Skills | [vercel-labs/skills](https://github.com/vercel-labs/skills) | Retain the pinned catalog pointer with `NOASSERTION`; no repository-wide root license was identified. |
27
+ | Sentry MCP | [getsentry/sentry-mcp](https://github.com/getsentry/sentry-mcp) | Retain the pinned catalog pointer with `NOASSERTION`; the root license file is not identified as a standard SPDX license by GitHub. |
28
+ | Model Context Protocol Servers | [modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers) | Retain the pinned catalog pointer with `NOASSERTION`; the root license file is not identified as a standard SPDX license by GitHub. |
29
+
30
+ This is a transparent product policy decision, not legal advice or a claim that the
31
+ upstream material may be redistributed under Loadout's MIT license. Each upstream
32
+ project keeps its own copyright and terms.
@@ -211,7 +211,7 @@ cleanup deliberately deletes Loadout's snapshots, so it is the last lifecycle te
211
211
  ## Troubleshooting and recovery
212
212
 
213
213
  - **`loadout` is not found after installation:** confirm `npm install --global
214
- loadout-ai@0.5.7` completed, run `hash -r`, and confirm npm's global binary
214
+ loadout-ai@0.5.8` completed, run `hash -r`, and confirm npm's global binary
215
215
  directory is on `PATH`. For a source checkout, run `npm run build` and `npm link`.
216
216
  - **A preview asks for `--approve-risk`:** read the reported scripts, domains,
217
217
  credentials, binaries, or instruction findings. If you accept that specific plan,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loadout-ai",
3
- "version": "0.5.7",
3
+ "version": "0.5.8",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "Universal upgrade manager for AI coding agents",