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

Native apps written in TypeScript and CSS

Example applications and tools for GeaStack.

Hacker Newsarbayi7 分钟阅读

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