๐ฅ Read this must-read post from Hacker News ๐
๐ **Category**:
๐ **What Youโll Learn**:
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.
| Path | Purpose |
|---|---|
apps/* |
Gea apps. Most are TSX apps targeting web, ESP32, and/or GeaOS. |
apps/*/package.json |
App manifest, target compatibility, scripts, and launcher metadata. |
tools/dialer-browser |
Small browser-side helper tool for dialer workflows. |
package.json |
Workspace marker for the examples collection. |
docs |
Catalog and contribution guidance. |
Run checks for an individual example:
cd apps/watch
npm install
npm run check
npm run build
Some 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 app
Flash a compatible board through the Gea CLI:
npx gea flash watch --board <alias>
npx gea flash watch --board <alias> --monitor
Every buildable app should have a package.json with a gea field:
{
"gea": {
"id": "watch",
"name": "Watch",
"entry": "index.tsx",
"runtime": "gea",
"targets": ๐ฅ
}
}
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.
{๐ฌ|โก|๐ฅ} **Whatโs your take?**
Share your thoughts in the comments below!
#๏ธโฃ **#geastackexamples #Gea #applications #tools #app #gallery #simulator #embedded #targets #GeaOS #Apple #targets #GitHub**
๐ **Posted on**: 1790107906
๐ **Want more?** Click here for more info! ๐
