GeaStack Voorbeelden

Wat is hier te vinden

PadDoel
apps/*Gea-apps. De meeste zijn TSX-apps gericht op web, ESP32 en/of GeaOS.
apps/*/package.jsonApp-manifest, target-compatibiliteit, scripts en launcher-metadata.
tools/dialer-browserKleine browser-side helpertool voor dialer-workflows.
package.jsonWorkspace-marker voor de collectie voorbeelden.
docsCatalogus en richtlijnen voor bijdragen.

Snelstart

Individuele voorbeelden controleren

Voer controles uit voor een individueel voorbeeld:

cd apps/watch
npm install
npm run check
npm run build

Sommige voorbeelden hebben tests, voornamelijk voor een layout of een apparaatconfiguratie. Voer deze uit met npm test in de map van de betreffende app.

De web-loop

De web-loop wordt aangestuurd vanuit de simulator, wat een aparte repository is: geastack/simulator. De scripts hiervan lezen apps uit een app-projectroot, die zij verkrijgen via GEAAPPSROOT (dit kan deze repository zijn, of een eigen versie). Er is geen standaardwaarde, dus stel deze in of gebruik --app-dir. De twee checkouts hoeven niet naast elkaar te staan.

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 voor web
./targets/web/dev-web.mjs --app-dir /path/to/examples/apps/watch   # of specificeer één app

Een board flashen

Flash een compatibel board via de Gea CLI:

npx gea flash watch --board <alias>
npx gea flash watch --board <alias> --monitor

Documentatie

  • docs/EXAMPLE-CATALOG.md: voorbeeldcategorieën, target-compatibiliteit en hoe manifesten worden gebruikt.
  • docs/DEVELOPMENT.md: hoe een voorbeeld-app te voegen, testen en onderhouden.

Basisprincipes van het App-manifest

Elke buildbare app moet een package.json hebben met een gea-veld:

{
  "gea": {
    "id": "watch",
    "name": "Watch",
    "entry": "index.tsx",
    "runtime": "gea",
    "targets": {
      "web": true,
      "esp32": true,
      "geaos": true
    }
  }
}

Het manifest wordt gebruikt door de simulator, embedded board-scripts, GeaOS, Apple targets en de IDE-extensie. Houd dit up-to-date.

Onderhoudsnotities

  • Houd voorbeelden klein en gefocust. Een goed voorbeeld bewijst één specifiek gedrag duidelijk.
  • Geef de voorkeur aan gedeelde framework API's boven target-specifieke hacks binnen voorbeelden.
  • Voeg tests toe voor voorbeelden met niet-triviale logica, fysica of parsing.
  • Werk de catalogus-documentatie bij wanneer een app wordt toegevoegd, hernoemd, verborgen of wanneer de target-compatibiliteit wijzigt.

Licentie

MIT (zie LICENSE). Je kunt closed-source producten leveren die hierop zijn gebouwd. De enige GeaStack-code onder een andere licentie is de embedded board-ondersteuning (targets en @geastack/chips, GPL-3.0-only): voor het leveren van closed-source firmware via deze onderdelen is een commerciële licentie vereist.

Neem contact op via contact@geastack.com voor commerciële voorwaarden, ondersteuning en hosted builds.