Your data repo — Steward stores nothing itself; everything it knows lives here.
data/routines.yaml— what runs, and when.data/dashboards/<slug>.yaml— one grid layout per board (mainis the default).data/repo.yaml— optional rail display name and section order.data/triggers/<slug>.json— API-trigger token for a manual cloud routine.templates/routines/<id>.md— routine templates, shown in the app's picker.artifactsbranch — published widgets, written viapublish-widget.
Edit in the Steward app or by hand — it's plain YAML, validated on load.
Run the steward CLI (published to npm) and point it at this repo — no
checkout needed; it manages its own clone:
npx @devord/steward sync --repo <owner>/<name> # dry-run plan
npx @devord/steward sync --repo <owner>/<name> --applyScheduled-local routines (launchd) want a stable install —
npm i -g @devord/steward, then steward sync …. The app's per-widget setup
cards print these lines pre-filled.
The first publish-widget run creates the artifacts orphan branch
automatically. To hand-publish a sample before any routine exists:
git checkout --orphan artifacts && git rm -rf .
mkdir -p w/my-widget
# author w/my-widget/index.html per the widget standard
git add w && git commit -m "publish: my-widget (sample)" && git push -u origin artifacts