What extensions can I build?
Every installable extension ships a glixo.module.json manifest and declares one or more contributions under contributes.*. Required top-level manifest fields: id, name, version, protocolVersion, runtime.kind, entry.command, and at least one capabilities entry (see the Manifest reference).
Pick the type you want to build — each page has a real, copy-pasteable example.
Providers & adapters
Declarative — register a model or storage backend, no server code.
| Type | contributes key |
Guide |
|---|---|---|
| LLM provider | llmProviders |
Providers & adapters |
| Storage provider | storageProviders |
Providers & adapters |
| Adapter (out-of-process) | adapters |
Providers & adapters |
Agent extensions
Give the agent new tools, skills, MCP servers, or run-time context.
| Type | contributes key |
Guide |
|---|---|---|
| Agent tool | tools |
Agent extensions |
| Agent skill | skills |
Agent extensions |
| MCP server | mcpServers |
Agent extensions |
IDE UI surfaces
Contribute UI into Glixo Code.
| Type | contributes key |
Guide |
|---|---|---|
| Sidebar view | sidebarViews |
IDE UI surfaces |
| Settings panel | settingsPanels |
IDE UI surfaces |
| Command / action | actions |
IDE UI surfaces |
| Full-screen page | routes |
IDE UI surfaces |
| Context-menu item | contextMenuItems |
IDE UI surfaces |
| View patch | viewPatches |
IDE UI surfaces |
Agxos apps
Windowed desktop apps that run in Agxos (and, increasingly, in IDE surfaces).
| Type | contributes key |
Guide |
|---|---|---|
| Template app (note/chat/list/terminal) | agxos.apps (template ≠ app) |
Template apps |
| Coded app (sandboxed bundle) | agxos.apps (template: "app") |
Coded apps |
Entry fields without surprises
Glixo uses two different "entry" ideas. Keep them separate so your package works in clean installs and older hosts:
components[].entryis launch metadata for a component process. Prefer explicit siblingcommandandargsfields when you need to start Node or another runtime.contributes.agxos.apps[].entryis a coded iframe app bundle path such asdist/app.js.- Do not import private Glixo Code files through
@tmedanovic/glixo-code/sources/.... Use documented package exports only; private source paths may fail in CI or hosted installs.
{
"components": [{
"id": "worker",
"cell": "server",
"scope": "workspace",
"command": "node",
"args": ["server/index.js"],
"placement": { "kind": "workspace", "required": false }
}],
"contributes": {
"agxos": {
"apps": [{
"id": "recorder",
"name": "Recorder",
"template": "app",
"entry": "dist/app.js"
}]
}
}
}
Themes & services
| Type | contributes key |
Guide |
|---|---|---|
| Theme | themes / agxos.themes |
Themes & services |
| Service (backend integration) | kind: "service" |
Themes & services |
Once you've built one, see Local development to test it and Publish to ship it to the catalog.