Example applications and tools for GeaStack.

This repo is the app gallery used by the simulator, embedded targets, GeaOS,

Apple targets, the VS Code/Cursor extension, and marketing demos. Each example

is a small package with a gea manifest in package.json.

Run checks for an individual example:

cd apps/watch

npm install

npm run check

npm run buildSome examples also carry tests, mostly guarding a layout or a device setup that

nothing else would catch -- npm test in the app folder runs them.

The web loop is driven from the simulator, which is a separate repository:

geastack/simulator. Its scripts read

apps out of an app project root, which they take from GEA_APPS_ROOT -- this

repo, or your own. There is no default, so set it or pass --app-dir; nothing

assumes the two checkouts sit next to each other.

cd /path/to/simulator

GEA_APPS_ROOT=/path/to/examples ./targets/web/dev-web.mjs watch # development loop

GEA_APPS_ROOT=/path/to/examples ./targets/web/build-web.sh watch # build for web

./targets/web/dev-web.mjs --app-dir /path/to/examples/apps/watch # or name one appFlash a compatible board through the Gea CLI:

npx gea flash watch --board <alias>

npx gea flash watch --board <alias> --monitor- docs/EXAMPLE-CATALOG.md: example categories, target compatibility, and how manifests are used.

- docs/DEVELOPMENT.md: how to add, test, and maintain an example app.

Every buildable app should have a package.json with a gea field:

{

"gea": {

"id": "watch",

"name": "Watch",

"entry": "index.tsx",

"runtime": "gea",

"targets": {

"web": true,

"esp32": true,

"geaos": true

}

}

}The manifest is consumed by the simulator, embedded board scripts, GeaOS, Apple targets, and the IDE extension. Keep it accurate.

- Keep examples small and focused. A good example proves one behavior clearly.

- Prefer shared framework APIs over target-specific hacks inside examples.

- Add tests for examples with non-trivial logic, physics, or parsing.

- Update the catalog docs when adding, renaming, hiding, or changing target compatibility for an app.

MIT (see LICENSE). Use it, change it, ship closed-source products on it, no

strings attached. The only GeaStack code under a different license is the

embedded board support (targets and @geastack/chips, GPL-3.0-only):

shipping closed-source firmware through those needs a commercial license.

Contact contact@geastack.com for commercial terms, support and hosted builds.