Skip to main content

Module packages

Module packages 

Source
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§

PackageExtensionLaunch
Launch description for a process extension shipped inside a package; also usable by hand-written roder-extension.toml manifests. Relative paths in args and cwd resolve against the manifest’s directory.
PackageIdentity
Identity key for scope deduplication (project entry wins over user entry).
PackageManifestSpec
Declared resources from roder.toml or the package.json roder key. Entries are package-root-relative paths or globs.
PackageRecord
One installed (or configured) package in a scope’s packages.json.
PackageResource
One enumerated resource inside an installed package.
PackageResourceFilters
Per-type filter patterns layered on top of the manifest by settings.

Enums§

PackageError
PackageResourceKind
PackageScope
PackageSource
Where a package source was fetched from. The canonical spec string round-trips through parse_package_spec and PackageSource::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.json or <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 of path also counts (so skills matches skills/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.