Skip to content
CLI docs

Push

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, typically skene-context/. A journey-only bundle is supported.
  • Optional engine and trigger artifacts. If present, engine.yaml supplies manifest metadata and the latest eligible migration under supabase/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

FlagShortDescription
PATHProject root (default: .). Used for artifact paths and sticky output_dir resolution.
--upstream TEXT-uWorkspace URL (e.g. https://skene.ai/workspace/my-app). Can also live in .skene.config.
--quiet-qSuppress non-error output.
--debugDiagnostic messages and LLM debug logging path.

How it works

  1. Collect: Reads the resolved bundle directory. Engine metadata is optional; missing or unreadable metadata does not by itself block the upload.
  2. Payload: Builds a manifest and a files list: 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 example feature-registry.json) are simply omitted from the upload.
  3. API: POST to Skene Cloud /api/v1/push with { "manifest", "files" }. Success responses include artifact_count, updated_paths, and push_id where 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