Module manifests (glixo.module.json)
The manifest is the contract between your module and Glixo Code, Agxos, and the marketplace. Validate before every publish.
Required fields
The validator requires exactly these (see manifest-reference.md):
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[]— versioned zip(s), each withrid,url,sha256. Needed in practice to install; the validator checks each entry's fields when present.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)
{
"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" } }]
},
"artifacts": [{ "rid": "any", "url": "artifacts/….zip", "sha256": "…" }]
}
Schema and reference
- module.schema.json — JSON Schema
- manifest-reference.md — field-by-field reference