Files
deepseek-harness/packages/boot/README.md
Turtle 788368e314 feat(cmdline): hand the launcher's remaining arguments to the app it boots
A launcher provides three values before the tree mounts: ctx.cmdlineArgs
(get() is the whole interface) carrying everything after its own flags,
ctx.appExit for a bounded exit, and ctx.appPatches for decisions a later
recomposition must keep. An app's startup row injects cmdlineArgs and calls
runStartup() with its own commander program.

Rows the app configures inject its startup service, so they wait until the
startup row has resolved their values and provided it; --help prints,
disables those rows, and exits without the app ever starting.

A changed row is recycled — disabled, then re-enabled with its new values —
because a row's config is resolved when the Loader creates its fiber, while
the row is still waiting. Recycling never touches inject: an inject update
restarts the row from its unwrapped callback and loses the plugin's own
static injections. A mount still in flight is allowed to settle first, so
the disable has a fiber to dispose instead of racing one into existence.
2026-08-10 23:45:04 +08:00

807 B

boot/ — shared app-bin boot glue

English | 中文

The channel-neutral boot library the app bins share: apps/cli, the scaffold/ launcher, and the examples/ demo bins all consume it.

Package Role ctx key
app-boot/ Shared boot glue for the app bins: .env loading, fail-loud Loader guards, snapshot-aware config resolution, the settle-the-tree boot sequence (library for the bins)
cmdline/ Launcher-to-app command-line handoff and app-owned startup parsing cmdlineArgs, appExit, appReady

The boot sequence and personal-config contract are documented in app-boot/README.md; app-owned command lines are documented in cmdline/README.md.