geni resource publish
Validate and promote the local files to the live version.
geni resource publish --summary "<text>" [id] [flags]Validates the local files and promotes them to the live version. This is what a cloud test execution runs, so publish before you test your latest edits. Exits 9 when validation fails (nothing is published).
For apps, publishing also triggers the Vite build and reports whether it passed.
Synopsis
geni resource publish --summary "Posts a daily digest to Slack"
geni resource publish wf_01HX --summary "Adds a retry on 429"
geni resource publish skl_01HX| Arg / Flag | Notes |
|---|---|
--summary <text> | One plain-language sentence describing the change, shown to the user. Required for workflows and apps; unused for skills. |
[id] | Resource id (wf_ or skl_). Omit to use the marker in --dir. |
--dir <path> | Resource directory. Defaults to cwd. |
--json | Machine-readable output. |
--force | Publish even if the live version changed since you pulled. Discards the other changes. |
pull issues this directory a checkout, and publish sends its id back. The server holds the version that checkout was taken from, so if someone else published in the meantime the publish is refused rather than reverting their work: pull the current version into a scratch directory, merge their changes into yours, and publish again. A directory that never pulled has no checkout and is refused for the same reason. --force overrides both and overwrites what is live.
On success, any webhook trigger URLs are printed. App publishes wait for the build (up to a few minutes) and report its status. A skill publish replaces the whole live bundle, syncs the skill's name and description from the SKILL.md frontmatter, and snapshots a version.
Exit codes
| Code | Meaning |
|---|---|
0 | Published. |
9 | Validation failed — nothing was published. |
10 | The live version moved, or the directory has no recorded base. |