A settings namespace is now a kind; each registration is an instance
filed under the caller's nearest named scope (dsh-scope gains
createScope(..., { id }) and scopeIdOf). Instances resolve defaults →
composition base → global user section → scopes.<id>.<ns>. Global writes
fan out to every instance gated on its own resolved value; scoped writes
commit one instance. Revisions are per section so a scope nothing has
registered yet can still be written when the kind exists. describe(),
the controller verbs, and both events take an optional trailing scope.
Presets name their standing scopes preset/<id>; skill-filesystem is the
first consumer, resolving customSkillDirs per scope with live updates.
description, kind
| description | kind |
|---|---|
| Package map for the user-settings capability family: the ctx.settings service that resolves per-namespace configuration, and the YAML/JSON file provider that stores it. | package-group |
settings/ — user-editable configuration
English | 中文
Summary
The settings/ group makes plugin configuration user-editable: a plugin registers a named namespace with a schema, and users override values in one document without touching cordis.yml. User overrides win over the deployment's own configuration and schema defaults, and changes apply live. Two packages cover the capability: settings/ provides the settings service, and settings-file/ stores every namespace in one YAML or JSON document users can edit. Settings are optional: without a provider mounted, configuration stays exactly as composed.
Table of Contents
Packages
Two packages cover the capability; each child README owns the full contract, and the subsystem reference owns the exhaustive service surface.
| Package | Role | ctx key |
|---|---|---|
settings/ |
Settings service: register namespaces and read or change their values | ctx.settings |
settings-file/ |
Stores settings in one local YAML/JSON file and hot-publishes external edits | registers ctx.settings |
Related documentation
Start with the subsystem reference for the shared vocabulary, then the capability-seam split this family follows.
- Settings subsystem reference — namespaces, layered resolution, descriptors, change commits, and the generated cordis surface.
- Capability seams — the Service Definition / Service Provider / Consumer split this family follows.
Dev Note
Working context for maintainers — click to expand
None.