Building your first CP extension
Goal: From humanos.extension.v1 manifest to a live org section in the Command Plane.
1. Scaffold
human extension create my-ext --humanos --non-interactive --template blank
cd my-ext-humanos-extension
human extension validate humanos.extension.v1.yaml
human extension dev
Templates include blank, analytics-dashboard, content-list, policy-monitor, companion-toolkit.
2. Declare sections
Use only v1 registry types: artifact_list, metrics_dashboard, policy_progress_gate, alert_config, learning_proposals. Set nav_scope to org for the hub at /extensions or instance for agent-scoped nav.
3. Optional iframe section
Set rendering: sandboxed_iframe plus bundle.url and bundle.hash (sha256: + 64 hex). Expect manual vetting and certified trust tier for global listing. Protocol: apps/command-plane-web/public/ai/humanos-extension-protocol-v1.json.
4. Submit & install
human extension publish humanos.extension.v1.yaml --dry-run
Then submit via API (POST /v1/control-plane/marketplace/submit) with asset_type: extension. Reviewers see metadata.platform_extension_vetting from the automated classifier.
5. Operate
After install, open Platform extensions in CP — org sections link to /extensions/[installationId]/[sectionId]. Section type help and /extensions/section-types explain each renderer.