A successful `pnpm add` is no longer the end of `plugins/install`: a new package that declares neither a bundle nor a plugin module, or a bundle whose row id a composed layer already owns, is removed again and reported under `removed` with its reason, while a package the probe refused stays for the view to explain. The profile manifest is snapshotted before the run and restored when pnpm fails. The manager refuses a second mutation while one runs (`plugins/busy`) instead of racing on the manifest and user layers, and `install`/`uninstall` refuse while a session is running (`plugins/agents-running`), because pnpm rewrites the directory those sessions import from. `resolveProfileLayer` factors one bundle's layer out of `loadProfile` so the manager can judge a candidate against the composed layers.
description, kind
| description | kind |
|---|---|
| The boot package group: how dsh app bins start — environment loading, profile and patch layers, clear startup failures, and app-owned command lines. | package-group |
boot/ — shared app-bin boot glue
English | 中文
Summary
The boot group provides what every dsh app bin needs to start: app-boot turns a cordis.yml plus your environment and patch layers into a running app with clear failure messages, and cmdline lets the app own its command-line flags and --help. With these packages you can run dsh or write a new application or test fixture that boots the same way. Both are libraries imported by apps/cli and test-only Loader fixtures, never plugins a composition loads. This page maps the group; each package README owns its per-package contract.
Table of Contents
Packages
| Package | Role | ctx key |
|---|---|---|
app-boot |
Boots a dsh app from a cordis.yml: loads .env, applies profile and patch layers, and reports startup failures clearly |
(library for the bins) |
cmdline |
Lets the app own its flags, --help, and exit code; passes everything after the launcher's flags through verbatim |
cmdlineArgs, appExit |
Related documentation
- dsh app — the
dshbin that consumes these helpers for its boot sequence. - Profile bundles — installable patch layers that
dsh --profilecompositions mount. - dsh-home-paths — the harness-home resolver both packages build on.
- App-owned command-line decision — why an app owns its flag family instead of the launcher.
Dev Note
None.