Add ZCode as a first-party runtime via a declarative capability descriptor (capabilities/zcode/capability.json) with zero hardcoded runtime === 'zcode' branches — exercising the de-hardcoded, data-driven runtime path that 1.7.0 (ADR-1016 / ADR-1239) enables. Descriptor (all axes sourced verbatim from zcode.z.ai docs): - configHome ~/.zcode; nested skills + flat commands/agents; profile-marker install - Claude-shaped skill format reuses convertClaudeCommandToClaudeSkill (no new converter) - hostIntegration: declarative / slash-file / mcp / electron; dispatch background=false (foreground-only per docs); nested+maxDepth undocumented; passive model mode Installer registration (data, not branches): --zcode flag, allRuntimes, runtimeMap, interactive menu, --all list. getGlobalConfigDir + resolveRuntimeArtifactLayout + ALLOWED_CONFIG_RUNTIMES + resolveInstallPlan all derive from the descriptor. Revamped the brittle per-runtime golden-master tests to be count-agnostic, descriptor-derived property tests (1.7.0 makes runtimes pluggable data, so pinning frozen '15 runtime' snapshots is the wrong invariant): getdirname, label-policy, config-adapter-registry (intent + install-plan golden master), capability-registry, host-integration-descriptors (counts derive from curated maps). Adding a runtime descriptor now extends coverage with zero edits to those suites. Welcome banner, --zcode help, supported-runtimes how-to, and the host-integration capability matrix (every axis cited) updated.
103 lines
2.7 KiB
JSON
103 lines
2.7 KiB
JSON
{
|
|
"id": "zcode",
|
|
"role": "runtime",
|
|
"version": "1.7.0-rc.2",
|
|
"title": "ZCode",
|
|
"description": "ZCode (Z.ai) — desktop Agentic Development Environment for GLM-5.2; Claude-shaped nested skills at ~/.zcode/skills/<name>/SKILL.md, slash commands, named subagents, native MCP; declarative plugin surface; profile-marker install; tier-2 community support.",
|
|
"tier": "core",
|
|
"requires": [],
|
|
"engines": {
|
|
"gsd": ">=1.6.0"
|
|
},
|
|
"runtime": {
|
|
"configHome": {
|
|
"kind": "dot-home",
|
|
"name": ".zcode",
|
|
"env": [
|
|
"ZCODE_CONFIG_DIR"
|
|
]
|
|
},
|
|
"localConfigDir": ".zcode",
|
|
"configFormat": "none",
|
|
"artifactLayout": {
|
|
"global": [
|
|
{
|
|
"kind": "skills",
|
|
"destSubpath": "skills",
|
|
"prefix": "gsd-",
|
|
"nesting": "nested",
|
|
"recursive": false,
|
|
"converter": "convertClaudeCommandToClaudeSkill"
|
|
},
|
|
{
|
|
"kind": "commands",
|
|
"destSubpath": "commands",
|
|
"prefix": "gsd-",
|
|
"nesting": "flat",
|
|
"recursive": false,
|
|
"converter": null
|
|
},
|
|
{
|
|
"kind": "agents",
|
|
"destSubpath": "agents",
|
|
"prefix": "gsd-",
|
|
"nesting": "flat",
|
|
"recursive": false,
|
|
"converter": null
|
|
}
|
|
],
|
|
"local": [
|
|
{
|
|
"kind": "skills",
|
|
"destSubpath": "skills",
|
|
"prefix": "gsd-",
|
|
"nesting": "nested",
|
|
"recursive": false,
|
|
"converter": "convertClaudeCommandToClaudeSkill"
|
|
},
|
|
{
|
|
"kind": "commands",
|
|
"destSubpath": "commands",
|
|
"prefix": "gsd-",
|
|
"nesting": "flat",
|
|
"recursive": false,
|
|
"converter": null
|
|
},
|
|
{
|
|
"kind": "agents",
|
|
"destSubpath": "agents",
|
|
"prefix": "gsd-",
|
|
"nesting": "flat",
|
|
"recursive": false,
|
|
"converter": null
|
|
}
|
|
]
|
|
},
|
|
"commandStyle": "slash-hyphen",
|
|
"hooksSurface": "none",
|
|
"sandboxTier": "none",
|
|
"supportTier": 2,
|
|
"installSurface": "profile-marker-only",
|
|
"writesSharedSettings": false,
|
|
"permissionWriter": null,
|
|
"extendedHookEvents": [],
|
|
"hostIntegration": {
|
|
"embeddingMode": "declarative",
|
|
"commandSurface": "slash-file",
|
|
"dispatch": {
|
|
"namedDispatch": true,
|
|
"nested": "undocumented",
|
|
"maxDepth": "undocumented",
|
|
"background": false,
|
|
"subagentToolkit": "full",
|
|
"backgroundDispatch": false
|
|
},
|
|
"modelMode": "passive",
|
|
"hookBus": "host",
|
|
"stateIO": "filesystem",
|
|
"transport": "mcp",
|
|
"runtime": "electron"
|
|
}
|
|
}
|
|
}
|