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)
- Open the app on the Agxos desktop (built-in, installed, or catalog sample).
- Use Fork app… from the window menu (live mode).
- Glixo copies the source into your workspace under
.agxos/extensions/<new-id>/with a new module id. - Open App Creator or continue in the agent session — describe the diff you want (“add export to Markdown”, “add dark theme toggle”).
- 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
- Launch App Creator → choose Fork and pick an installed app you are licensed to extend.
- Enter your feature list as a diff from the original (“same note app, but with tags and search”).
- 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.
- Copy
samples/apps/agxos-coded-appfrom the extension docs repository. - Change module
id, appcontributes.agxos.apps[].id, and artifact name. - Edit the real
dist/app.jsentry and lifecycle process; do not submit a placeholder. - Commit
demo/demo.replay.json(2–3 replay turns) anddemos[]inglixo.module.json. - Run
npm run catalog:syncinglixo-portals/dev— embed URLs point atmini.os.glixo.dev; share links stay onos.glixo.dev. - Try interactive preview:
https://os.glixo.dev/?preview=<your-module-id>.
Path C — Manual catalog fork
- Copy a working folder from
glixo-extensions-docs/samples/apps/. - Change
id,name, and everycontributes.agxos.apps[].id— ids must stay unique. - Implement your feature (see below).
- Bump
version, updatechangelog.entries[], repack artifact, validate, publish.
What to change for a new feature
Template app (e.g. note, list)
Edit contributes.agxos.apps[]:
- Add
actions[]entries — each becomes an agent-callable intent with a description. - Update
descriptionand marketplace copy. - Optional: add toolbar
contributes.actionswithglixo.agxos.windowAction.
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")
- Edit source under
src/(or your bundle entry). - Run your build → update
dist/app.js. - Register new agent actions in the manifest if the agent should call them.
- Repack
artifacts/*.zipwith a new SHA-256.
Working coded baseline: glixo-extensions-docs/samples/apps/agxos-coded-app.
Version and publish checklist
- Semver bump in
version(immutable per channel). - New artifact filename matching the version (e.g.
my-app-0.2.0.zip). changelog.entries[]documents what changed.- Public source URL — required for marketplace-listed Agxos apps (see Publish → Source repository).
- 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.