Creating Agxos apps

Agxos apps appear on the faux-desktop launcher in Agxos mode. They are declared in contributes.agxos.apps[] inside the same glixo.module.json used for extensions.

Two app styles

Template apps (no bundle)

Use built-in templates — chat, note, terminal, or list. The host renders the UI; you only declare metadata and optional agent actions.

Sample: catalog/agxos/apps/incident-notes with "template": "note".

Coded apps (sandboxed bundle)

Set "template": "app" and "entry": "dist/app.js". The bundle runs in an isolated iframe with the Agxos app SDK (window API, data client, intents).

Sample: catalog/agxos/apps/os-control-demo — notifications, tray entries, and window control.

Declarative app contribution

"contributes": {
  "agxos": {
    "apps": [{
      "id": "incident.notes",
      "name": "Incident Notes",
      "icon": "IN",
      "accent": "#0A84FF",
      "template": "note",
      "width": 560,
      "height": 420,
      "actions": [
        { "id": "write", "description": "Replace the visible note." },
        { "id": "add", "description": "Append a line." }
      ]
    }]
  }
}

Coded app contribution

"contributes": {
  "agxos": {
    "apps": [{
      "id": "oscontrol.demo",
      "name": "OS Control Demo",
      "template": "app",
      "entry": "dist/app.js",
      "width": 520,
      "height": 420,
      "actions": [{ "id": "ping", "description": "Tray menu intent." }]
    }],
    "trayEntries": [{
      "id": "oscontrol.tray",
      "appId": "oscontrol.demo",
      "icon": "⚙",
      "menu": [{ "id": "open", "label": "Open demo", "action": "oscontrol.demo#ping" }]
    }]
  }
}

Agxos toolbar actions

Extensions can expose quick-open buttons via contributes.actions with slot: "agxos.toolbar" and command: "glixo.agxos.windowAction" to show, hide, or focus an app window.

Agent integration

Each app can declare actions[] with ids and descriptions. The agent invokes them through the Agxos intent bus — useful for scripted demos and App Maker workflows.

Folder layout

Agxos samples live under catalog/agxos/apps/ and catalog/agxos/extensions/. Build coded bundles into dist/ before packing artifacts.

See also: App Maker for scaffolding from a description, and Extend an existing app for fork-and-iterate workflows.