Files
deepseek-harness/packages/boot
Yichen Jiang e3386d1105 feat(plugins): judge an install after pnpm, restore the manifest on failure, run one mutation at a time
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.
2026-09-04 13:41:20 +08:00
..
2026-09-03 02:27:19 +08:00

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

Dev Note

None.