The push command uploads your Skene bundle (files under the configured output directory) plus the latest Supabase trigger migration to Skene Cloud.
push does not generate anything. It uploads existing bundle files, including journey.yaml. Engine metadata and trigger migrations are included when present.
Prerequisites
Before running push, you need:
- Existing bundle files under the configured
output_dir, typicallyskene-context/. A journey-only bundle is supported. - Optional engine and trigger artifacts. If present,
engine.yamlsupplies manifest metadata and the latest eligible migration undersupabase/migrations/joins the upload.
Configuration: output_dir comes from .skene.config, SKENE_OUTPUT_DIR, or sticky detection (see configuration). Sticky bundle layout is resolved against the PATH you pass to push, not only your current shell directory.
Auth: skene login or SKENE_UPSTREAM_API_KEY for upstream API calls.
Basic usage
From the project root:
uvx skene push
Target another directory:
uvx skene push /path/to/project
With an explicit upstream (otherwise uses config / default Skene Cloud):
uvx skene push --upstream https://skene.ai/workspace/my-app
Flag reference
| Flag | Short | Description |
|---|---|---|
PATH | Project root (default: .). Used for artifact paths and sticky output_dir resolution. | |
--upstream TEXT | -u | Workspace URL (e.g. https://skene.ai/workspace/my-app). Can also live in .skene.config. |
--quiet | -q | Suppress non-error output. |
--debug | Diagnostic messages and LLM debug logging path. |
How it works
- Collect: Reads the resolved bundle directory. Engine metadata is optional; missing or unreadable metadata does not by itself block the upload.
- Payload: Builds a manifest and a
fileslist: all files under the bundle directory (output_dir), plus the latest trigger SQL, each as{ "path", "content" }relative to the project root. Missing optional files (for examplefeature-registry.json) are simply omitted from the upload. - API:
POSTto Skene Cloud/api/v1/pushwith{ "manifest", "files" }. Success responses includeartifact_count,updated_paths, andpush_idwhere applicable.
Publishing a journey from the TUI
A normal CLI analysis writes the journey locally. In current source revision 8eb7942, a linked TUI run using the Skene provider can publish automatically when its workspace has no journey yet. Other providers and workspaces that already have a journey skip this first-publication path. Explicit skene push remains available to upload the existing bundle.
Upstream authentication
uvx skene login --upstream https://skene.ai/workspace/my-app
Upstream URL resolution: --upstream → upstream in .skene.config → default hosted API when unset.
Next steps
- Login: Authenticate with Skene Cloud
- Status: Validate engine vs migrations
- Configuration:
output_dirand sticky bundles - CLI Reference: All commands