返回资讯中心
外部精选
软件工程
#社区热议

Native apps written in TypeScript and CSS

Example applications and tools for GeaStack.

Hacker Newsarbayi2026/9/22 · 2026/9/227 分钟阅读

以下正文同步自 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 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →