Reference material for bundle patches and preset plugin lists. Procedures live in cordis-plugin-development and editing-cordis-compositions.
Loader patch dialect
A profile composes an ordered list of patch layers over the bundle entry lists. Each patch is a mapping:
insert: [rows]appends rows; with anidnaming an existinggroup: truerow, the rows are appended inside that group'sconfiglist.- A patch with an
idand noinserttargets the existing row with that id. Supplied fields replace the row's fields;configis replaced wholesale, never deep-merged, so restate every field the row needs. A truthynameasserts the existing plugin name rather than renaming it. - Non-insert patches without a nonempty
id, and targets that match no row, are warned about and skipped.
A row has id, name (the plugin package specifier; inserted relative paths are anchored beside their patch file), optional config, and optional disabled, inject, intercept, and isolate.
group: truewithname: cordis:groupmakesconfiga nested entry list and allows patches to insert into it by id.cordis:includeloads a literal YAML or JSON entry list fromconfig.path.disabledaccepts a boolean, null, or a!!jsexpression evaluated against the Loader context at every mount decision. A disabled row omits requiredconfigunlessgroup: trueforces activation.!!jsscalars are Loader expressions, never!js. Insideconfigthey are evaluated after the row's declared injections activate, against that plugin's context (ctx.<service>), so!!js dshHomePath('sessions')and!!js "!ctx.get('profileContext')"are valid. Other row metadata stays literal.isolatemaps service names totrueor a realm label; a preset plugin that provides a service isolates the provider and all consumers together. Scope controls contributions and event visibility;isolatecontrols service instances.
plugin_manager list_plugins reports each row's enabled flag and fiberPhase; set_plugin and set_bundle answer overridden when a higher-priority layer wins.
Installable plugin packages
references/packages.md lists every workspace package that exports a Cordis plugin, grouped by package group, with whether its row takes config. Search it with grep -n <keyword> rather than reading it whole. Plugins outside this list come from installed bundles; plugin_manager list_bundles names them.