examples README

The project's README from github.com/geastack/examples. As one markdown file: README.md.

GeaStack Examples

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.

What Is Here

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 have tests, mostly for a layout or a device setup. Run them with npm test in the app folder.

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. The two checkouts do not need to be 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

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.

Maintenance Notes

License

MIT (see LICENSE). You can ship closed-source products built on it. 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 [email protected] for commercial terms, support and hosted builds.

examples (geastack/examples)

Searching Database…

Что это?Это галерея примеров приложений для GeaStack — коллекция образцов Gea-приложений, которые используют симулятор, встраиваемые платы, GeaOS, таргеты Apple и расширение для VS Code/Cursor, чтобы тестировать платформу и показывать её в демо.
Это сам фреймворк или просто примеры к нему?Это не фреймворк — это монорепозиторий небольших Gea-приложений (в основном TSX) с gea-манифестами в package.json; каждое проверяет одно поведение таргета для настоящего фреймворка GeaStack, который живёт в другом репозитории.
Как запустить эти примеры?Выполните npm test внутри папки конкретного приложения (где есть тесты) или направьте отдельный репозиторий geastack/simulator на этот чекаут, задав GEAAPPSROOT (или передав --app-dir), чтобы его скрипты могли читать приложения.
Нужен ли ещё и репозиторий симулятора?Да — веб-цикл, который гоняет эти приложения, находится в отдельном репозитории geastack/simulator; два чекаута не обязаны лежать рядом, достаточно направить симулятор на этот репозиторий.
Могу ли я выпускать закрытую прошивку на основе этого?Только если вы не трогаете код поддержки встраиваемых плат: всё остальное здесь под MIT, но пакет targets и @geastack/chips — под GPL-3.0-only, поэтому закрытой прошивке с ними нужна коммерческая лицензия от GeaStack.
Какие таргеты может поддерживать одно Gea-приложение?Манифест package.json Gea-приложения объявляет совместимость с таргетами, и большинство приложений в apps/ — это TSX-приложения, которые могут работать в вебе, на ESP32 и/или GeaOS одновременно.
Как организован каталог примеров?Каждый пример — отдельный пакет в apps/ с манифестом package.json; docs/EXAMPLE-CATALOG.md перечисляет категории и совместимость с таргетами, а docs/DEVELOPMENT.md объясняет, как добавить или поддерживать пример.
Зачем нужен инструмент dialer-browser?Это небольшой браузерный вспомогательный инструмент в tools/dialer-browser для сценариев, связанных с dialer, отдельно от самих примеров Gea-приложений.
Creator
geastack
Size
23.7 MB
Stars
120
Updated
CommitOct 10
Age
28d
Commits · 90 Days