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 a catalog app (e.g.
incident-notes,os-control-demo). - Enter your feature list as a diff from the original (“same note app, but with tags and search”).
- Iterate → optional describe / icon / demo → publish.
Path C — Manual catalog fork
- Copy a folder from
glixo-community-modules/catalog/agxos/apps/<source>/. - 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.
Sample coded baseline: catalog/agxos/apps/os-control-demo (notifications, tray, window control).
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-dev-portal
npm run catalog:sync
npm run catalog:pack
# Install in Agxos via marketplace or deep link
See also: App Maker, Agxos apps, Local development.