Legacy module manifests (glixo.module.json)
This page documents protocol-v0 records for migration and inspection. Do not use it as an executable marketplace template. New executable extensions use the V2 glixo.extension.json generated by glxdev; see the Rust provider guide.
Required fields
These fields describe the legacy protocol-v0 contract only (see the legacy reference):
id— stable reverse-DNS identifiername— display nameversion— semverprotocolVersion— catalog protocol channel (currently0)runtime—runtime.kindis required, e.g.{ "kind": "node", "version": "20" }entry— launch command;entry.commandis required, e.g.{ "command": "node", "args": ["index.js"] }. Client-bundled apps use the declarative marker{ "command": "echo", "args": ["client-bundled-in-app"] }.capabilities[]— at least one capability the module provides (namespaced id). Capabilities it uses go inrequiresascapability.<id>.
Common optional fields
description— shown in the marketplacekind— authoring hint only:module,service,extension,app, ortheme. Not required; the runtime role is derived from components, requires, capabilities, and contributions.artifacts[]— legacy ZIP references. Their presence does not prove installability or convert a protocol-v0 package into VNext.requires— platform features / capabilities the module depends onicon,images[]— marketplace presentationchangelog.entries[]— version history shown on the detail pagecomponents[]— runnable cells and placementcontributes— UI, tools, skills, Agxos apps (see Extension types)config.fields[]— user-editable settings schemahealth— health-check path for long-running server componentsupdateChannels— e.g.["stable"]sourceRepository— public HTTPS git URL (required for marketplace-listed Agxos apps; see below)license— SPDX id and optionalsourceattribution URL
sourceRepository (marketplace policy)
Agxos apps listed on the public marketplace must declare where their source lives so users can audit, fork, and report issues.
"sourceRepository": {
"url": "https://github.com/you/my-agxos-app",
"directory": "."
}
| Field | Rule |
|---|---|
url | HTTPS git URL (https://github.com/…, https://gitlab.com/…, etc.). Must be publicly readable without auth. |
directory | Optional path inside the repo where the module root lives (default .). |
Status: documented policy for Agxos marketplace listings. The validate API does not reject missing sourceRepository yet — add it now so you are ready when enforcement lands. Code extensions and bundled browse-only providers may omit it until their listing policy is finalized.
The marketplace detail page will link “View source” to this URL. Fork workflows (App Creator, Agxos “Fork app…”) can clone from it when the app is not in the community monorepo.
Example (trimmed)
This client-bundled example is source reference only and is explicitly not catalog-listed or installable.
{
"id": "glixo.samples.memory-inspector",
"name": "Memory Inspector",
"kind": "extension",
"version": "0.1.0",
"protocolVersion": "0",
"runtime": { "kind": "node", "version": "20" },
"entry": { "command": "echo", "args": ["client-bundled-in-app"] },
"capabilities": ["glixo.samples.memory-inspector"],
"contributes": {
"sidebarViews": [{ "id": "…", "slot": "session.sidebar", "title": "Agent Memory", "component": "AgentMemoryPanel" }],
"tools": [{ "id": "…", "name": "list_saved_memory", "description": "…", "inputSchema": { "type": "object" } }]
},
"catalog": { "listed": false, "disposition": "legacy-reference-only" }
}
Schema and reference
- module.schema.json — JSON Schema
- manifest-reference.md — field-by-field reference