Expand description
Canonical Roder package contracts (roadmap phase 97).
A Roder package is an installable bundle of process extensions, skills,
slash commands, and themes fetched from npm, git, or a local path with one
command (roder install npm:@foo/pkg). These types are the canonical
model shared by the fetch/store layer (roder-config), the activation
layer (roder-extension-host), and the app-server protocol surface.
Plugin authors publish a roder.toml manifest at the root of their
repository (or a roder key in package.json) describing what the
package provides and how to launch any process extensions.
Structs§
- Package
Extension Launch - Launch description for a process extension shipped inside a package; also
usable by hand-written
roder-extension.tomlmanifests. Relative paths inargsandcwdresolve against the manifest’s directory. - Package
Identity - Identity key for scope deduplication (project entry wins over user entry).
- Package
Manifest Spec - Declared resources from
roder.tomlor thepackage.jsonroderkey. Entries are package-root-relative paths or globs. - Package
Record - One installed (or configured) package in a scope’s
packages.json. - Package
Resource - One enumerated resource inside an installed package.
- Package
Resource Filters - Per-type filter patterns layered on top of the manifest by settings.
Enums§
- Package
Error - Package
Resource Kind - Package
Scope - Package
Source - Where a package source was fetched from. The canonical spec string
round-trips through
parse_package_specandPackageSource::spec.
Constants§
- EVENT_
PACKAGE_ EXTENSIONS_ APPROVED - EVENT_
PACKAGE_ INSTALLED - EVENT_
PACKAGE_ REMOVED - EVENT_
PACKAGE_ RESOURCE_ TOGGLED - EVENT_
PACKAGE_ UPDATED - PACKAGES_
SETTINGS_ FILE - Settings file name inside a scope directory (
~/.roder/packages.jsonor<workspace>/.roder/packages.json). - PACKAGE_
MANIFEST_ FILE - Canonical package manifest file at the package (repository) root.
- PACKAGE_
NPM_ KEYWORD - npm keyword recommended for discoverability of Roder packages.
Functions§
- derive_
package_ id - Derives a fallback package id from the source when the manifest does not declare one (npm name tail, git repo name, or directory name).
- glob_
match - Segment-wise glob match.
*matches within one path segment,**matches any number of segments. A pattern that matches a leading directory prefix ofpathalso counts (soskillsmatchesskills/foo/SKILL.md). - package_
resource_ id - parse_
package_ resource_ id - Parses
<package-id>:<kind>/<name>back into its parts. - parse_
package_ spec - Parses one package spec string into a
PackageSource. - validate_
package_ id - Package ids are lowercase alphanumeric with
-,_, and.separators.