Skip to main content

Installation

This guide covers setting up the Shift Platform for local development and installing the standalone CLI binary.

Prerequisites​

Required​

ToolVersionInstall
Bun>= 1.0curl -fsSL https://bun.sh/install | bash
GitanyPre-installed on macOS/Linux

Optional (for production-like environments)​

ToolPurposeInstall
DockerContainer buildsDocker Desktop or brew install docker
kindLocal Kubernetes clustersbrew install kind
kubectlKubernetes CLIbrew install kubectl
DopplerSecrets managementbrew install dopplerhq/cli/doppler

Clone the Repository​

The platform uses git submodules for each service. Always clone with --recurse-submodules:

git clone --recurse-submodules https://github.com/the-shift-dev/platform.git
cd platform

If you already cloned without submodules, initialize them:

git submodule update --init --recursive

Install Dependencies​

bun install

This installs dependencies for the root workspace and all service packages.

tip

If you encounter issues with @shift/platform-core not being found in submodules, try running bun install again. The Bun cache may hold a stale version of the shared package.

Start the Dev Server​

bun run dev

This starts all services, the gateway on port 3000, and the platform web UI on port 4100.

Building the Shift CLI​

The standalone CLI binary bundles all service CLIs into a single executable. It connects to the gateway at app.the-shift.dev by default (configurable).

Build​

make build-cli

This compiles the CLI using Bun's bundler and outputs it to dist/cli/.

Install​

Copy the binary to your PATH:

mkdir -p ~/.shift/bin
cp dist/cli/shift-cli ~/.shift/bin/shift-cli

Add ~/.shift/bin to your PATH in ~/.zshrc or ~/.bashrc:

export PATH="$HOME/.shift/bin:$PATH"

Reload your shell:

source ~/.zshrc

Build for All Platforms​

To build binaries for macOS (arm64, x64) and Linux (x64):

make build-cli-all

Binaries are output to dist/cli/.

Verify​

Check that the CLI is installed and can reach the gateway:

shift-cli status

You should see the gateway health status, including the service name and version.

Configure the Gateway URL​

By default, the standalone CLI connects to https://app.the-shift.dev. To point it at your local dev server:

shift-cli config set gateway-url http://localhost:3000

To check the current setting:

shift-cli config get gateway-url

Next Steps​