
Native apps written in TypeScript and CSS
Example applications and tools for GeaStack.
以下正文同步自 Hacker News,版权归原站所有,已转换为易读排版。
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.
Quick Start
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
Documentation
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.
App Manifest Basics
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.
License
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.
正文由 FLUX 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。