Adding features to an existing app

Most Agxos apps are forks or iterations of something that already works. Glixo supports three paths — pick the one that matches how you work.

Path A — Fork in Agxos (fastest)

  1. Open the app on the Agxos desktop (built-in, installed, or catalog sample).
  2. Use Fork app… from the window menu (live mode).
  3. Glixo copies the source into your workspace under .agxos/extensions/<new-id>/ with a new module id.
  4. Open App Creator or continue in the agent session — describe the diff you want (“add export to Markdown”, “add dark theme toggle”).
  5. Run the iterate gate until you approve the preview.

Provenance is recorded (origin.kind: fork, source extension id). You can only publish a fork if the source license allows it.

Path B — App Creator fork

  1. Launch App Creator → choose Fork and pick an installed app you are licensed to extend.
  2. Enter your feature list as a diff from the original (“same note app, but with tags and search”).
  3. Iterate → optional describe / icon / demo → publish.

Reference source — Sticky Counter Board

The working coded-app tutorial lives under glixo-extensions-docs/samples/apps/agxos-coded-app. It is teaching source, not a marketplace product.

  1. Copy samples/apps/agxos-coded-app from the extension docs repository.
  2. Change module id, app contributes.agxos.apps[].id, and artifact name.
  3. Edit the real dist/app.js entry and lifecycle process; do not submit a placeholder.
  4. Commit demo/demo.replay.json (2–3 replay turns) and demos[] in glixo.module.json.
  5. Run npm run catalog:sync in glixo-portals/dev — embed URLs point at mini.os.glixo.dev; share links stay on os.glixo.dev.
  6. Try interactive preview: https://os.glixo.dev/?preview=<your-module-id>.

Path C — Manual catalog fork

  1. Copy a working folder from glixo-extensions-docs/samples/apps/.
  2. Change id, name, and every contributes.agxos.apps[].id — ids must stay unique.
  3. Implement your feature (see below).
  4. Bump version, update changelog.entries[], repack artifact, validate, publish.

What to change for a new feature

Template app (e.g. note, list)

Edit contributes.agxos.apps[]:

Example — add a “clear” action to Incident Notes:

"actions": [
  { "id": "write", "description": "Replace the visible note." },
  { "id": "add", "description": "Append a line." },
  { "id": "clear", "description": "Clear all note text." }
]

Coded app (template: "app")

Working coded baseline: glixo-extensions-docs/samples/apps/agxos-coded-app.

Version and publish checklist

  1. Semver bump in version (immutable per channel).
  2. New artifact filename matching the version (e.g. my-app-0.2.0.zip).
  3. changelog.entries[] documents what changed.
  4. Public source URL — required for marketplace-listed Agxos apps (see Publish → Source repository).
  5. Validate → publish via glixo.dev or community PR.

Local test loop

cd glixo-portals/dev
npm run catalog:sync
npm run catalog:pack
# Install in Agxos via marketplace or deep link

See also: App Maker, Agxos apps, Local development.