Kelvin runtime can install plugins from a remote index using:
scripts/plugin-index-install.sh --plugin <id>Default index URL:
https://raw.githubusercontent.com/agentichighway/kelvinclaw-plugins/main/index.json
{
"schema_version": "v1",
"plugins": [
{
"id": "kelvin.cli",
"version": "0.1.0",
"package_url": "https://raw.githubusercontent.com/agentichighway/kelvinclaw-plugins/main/packages/kelvin.cli/0.1.0/kelvin.cli-0.1.0.tar.gz",
"sha256": "7db6...<64 hex chars>...",
"trust_policy_url": "https://raw.githubusercontent.com/agentichighway/kelvinclaw-plugins/main/trusted_publishers.kelvin.json",
"quality_tier": "signed_trusted",
"tags": ["first_party", "cli"]
}
]
}Field requirements:
schema_version: required, must bev1plugins: required array- per plugin entry:
id: requiredversion: requiredpackage_url: requiredsha256: required (fail-closed if missing/mismatch)trust_policy_url: optionalquality_tier: optional (unsigned_local,signed_community,signed_trusted)tags: optional string array for discovery/category
Selection behavior:
--plugin <id>required--version <version>optional- if version is omitted, installer chooses the highest dotted semver release
- optional minimum quality gate via
--min-quality-tierorKELVIN_PLUGIN_MIN_QUALITY_TIER
apps/kelvin-registry serves the same v1 index plus filtered discovery endpoints:
GET /healthzGET /v1/index.jsonGET /v1/pluginsGET /v1/plugins/{plugin_id}GET /v1/trust-policy
Example:
cargo run -p kelvin-registry -- --index ./index.json --bind 127.0.0.1:34718
scripts/plugin-discovery.sh --registry-url http://127.0.0.1:34718
scripts/plugin-index-install.sh --plugin kelvin.cli --registry-url http://127.0.0.1:34718
scripts/plugin-update-check.sh --registry-url http://127.0.0.1:34718 --jsonIf trust_policy_url is present, installer fetches and merges it into local trust policy:
require_signatureremains strict (base && incoming)publishersmerged byid(last entry wins for duplicates)
This keeps runtime signature verification strict by default.
Registry discovery helper:
scripts/plugin-discovery.sh
scripts/plugin-discovery.sh --plugin kelvin.cli
scripts/plugin-discovery.sh --json
scripts/plugin-update-check.sh --json