Skene
Product
Pricing
Docs
Blog
Events
About
Log InStart free
ProductPricingDocsBlogEventsAbout
Log InStart free
Skene subpage background texture

From an earlier version of Skene. See the current product →

  1. Home
  2. /
  3. Resources
  4. /
  5. Docs
  6. /
  7. skene CLI
CLI docs

Push

Navigation

skene CLI

  • Quickstart
  • Overview
  • Installation
  • Push
  • Login
  • Status
  • Features
  • LLM Providers
  • Configuration
  • MCP Server
  • CLI Reference
  • HTTP API
  • Python API
  • Troubleshooting

Resources

  • Skene Cloud docs
  • Playbooks
  • Glossary

skene CLI

  • Quickstart
  • Overview
  • Installation
  • Push
  • Login
  • Status
  • Features
  • LLM Providers
  • Configuration
  • MCP Server
  • CLI Reference
  • HTTP API
  • Python API
  • Troubleshooting

Resources

  • Skene Cloud docs
  • Playbooks
  • Glossary

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 artifacts: engine.yaml, the optional feature registry, and trigger migrations must already exist.

Prerequisites

Before running push, you need:

  • {output_dir}/engine.yaml: typically skene-context/engine.yaml (see configuration for output_dir).
  • supabase/migrations/ containing at least one eligible trigger migration (newest *_skene_triggers.sql is used; older repos may use *skene_trigger* / *skene_telemetry* patterns).

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. Preflight: Verifies engine.yaml exists under the resolved output directory and that a trigger migration exists under supabase/migrations/. Exits with errors if not.
  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

Running journey analysis (from the TUI or the CLI) never publishes anything by itself: the journey reaches Skene Cloud only when you push. In the TUI that is the explicit "Deploy to Skene Cloud" step, which runs a normal skene push and uploads the full bundle (engine, registry, migrations, journey) as described above.

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_dir and sticky bundles
  • CLI Reference: All commands
Previous← InstallationNextLogin →
Skene

Product

How it worksFeaturesSupabaseArchitectureIntegrationsSecurityPricing

Resources

DocumentationGlossaryPlaybooksBlog

Company

AboutOpen sourceContactPrivacyTerms
© 2026 Skene. All rights reserved.
Privacy PolicyTerms of Service
Skene