
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.
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。