### Install a skill with outplane skills install Source: https://docs.outplane.com/docs/cli/skills/install Shows the base command syntax for installing a skill. Use this as the starting point for any install invocation. ```bash outplane skills install [flags] ``` -------------------------------- ### Run migrations and start server Source: https://docs.outplane.com/docs/console/frameworks/go Runs database migrations with golang-migrate and then starts the server. Out Plane has no pre-deploy hook, so run migrations from the browser terminal or fold them into the start command. ```bash sh -c "migrate -path migrations -database $DATABASE_URL up && /server" ``` -------------------------------- ### Build and Start Commands Source: https://docs.outplane.com/docs/console/frameworks/nodejs Commands for building and starting Node.js applications. ```bash npm ci ``` ```bash npm ci && npm run build ``` ```bash node server.js ``` -------------------------------- ### Install Outplane CLI and skill (Windows/Node) Source: https://docs.outplane.com/cli/agents Installs the CLI globally via npm and then installs the agent skill. Both lines are required; the skill is not installed by the package alone. ```bash npm i -g outplane outplane skills install ``` -------------------------------- ### GitHub Actions deployment workflow Source: https://docs.outplane.com/docs/cli/ci A complete GitHub Actions workflow example that installs the CLI, deploys a specific image, and reports the deployment status. ```yaml name: Deploy on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest env: OUTPLANE_TOKEN: ${{ secrets.OUTPLANE_TOKEN }} steps: - uses: actions/checkout@v4 - name: Install the CLI run: OUTPLANE_VERSION=v0.2.9 sh -c "$(curl -fsSL https://outplane.com/install.sh)" # ... build and push your image here ... - name: Deploy and wait run: | outplane deploy create checkout \ --image ghcr.io/acme/checkout:${{ github.sha }} \ --follow --timeout 15m - name: Report where it landed run: outplane app get checkout --json --fields status,url ``` -------------------------------- ### Preview install with --dry-run --json Source: https://docs.outplane.com/docs/cli/skills/install Preview which tools would receive the skill and the version that would be installed, without making changes. Output is JSON. ```bash outplane skills install --dry-run --json ``` -------------------------------- ### Install production dependencies Source: https://docs.outplane.com/docs/console/frameworks/django Install the required packages for production: Gunicorn, WhiteNoise, a PostgreSQL driver, and dj-database-url. Then freeze the environment into requirements.txt for the build. ```bash pip install gunicorn whitenoise "psycopg[binary]" dj-database-url pip freeze > requirements.txt ``` -------------------------------- ### Example: Read record with --json and --fields Source: https://docs.outplane.com/docs/cli/domain/dns Example showing how to read the record to create it with another tool. Uses --json and --fields to output only the type, name, and value fields. ```bash outplane domain dns app.example.com --json --fields type,name,value ``` ```json { "name": "app", "type": "CNAME", "value": "domains-management.outplane.app" } ``` -------------------------------- ### Check installation status Source: https://docs.outplane.com/docs/cli/agents Run this command to confirm the installation and view the current configuration status in JSON format. ```bash outplane status --json ``` ```json { "daysLeft": 146, "expired": false, "expiresAt": "2027-01-01T00:00:00Z", "linkedDirectory": null, "problem": null, "signedIn": true, "teamId": "", "teamSlug": "", "teamSource": "config file", "tokenSource": "keychain", "version": "" } ``` -------------------------------- ### Run Alembic migrations and start FastAPI Source: https://docs.outplane.com/docs/console/frameworks/fastapi Run Alembic migrations and start the app in one command. Out Plane has no pre-deploy hook, so run migrations manually or fold them into the start command. Prefer running migrations once manually if you have more than one instance to avoid races. ```bash sh -c "alembic upgrade head && uvicorn main:app --host 0.0.0.0 --port $PORT" ``` -------------------------------- ### Wait for rollout with JSON output Source: https://docs.outplane.com/docs/cli/app/instances Uses `--json` and `--fields name,ready` to get machine-readable output for scripting. The example shows a JSON response with instance readiness status. ```bash outplane app instances --json --fields name,ready ``` ```json { "items": [ { "name": "checkout-7d9f-abcde", "ready": true }, { "name": "checkout-7d9f-fghij", "ready": false } ], "total": 2, "truncated": false } ``` -------------------------------- ### Run Prisma migrations and start server Source: https://docs.outplane.com/docs/console/frameworks/nextjs Run database migrations before starting the server. Out Plane has no pre-deploy hook, so this command runs migrations and then starts the standalone server. ```bash sh -c "npx prisma migrate deploy && node server.js" ``` -------------------------------- ### Example: The only role and database Source: https://docs.outplane.com/docs/cli/db/url Prints the connection string for the 'orders' database when there is only one role and one database. ```bash outplane db url orders ``` -------------------------------- ### Run a local server against the deployed configuration Source: https://docs.outplane.com/docs/cli/env/run Runs `npm start` with the environment variables from the deployed configuration. ```bash outplane env run -- npm start ``` -------------------------------- ### Start Gunicorn with sh -c Source: https://docs.outplane.com/docs/console/frameworks/django Use this as the start command for the application. It binds Gunicorn to 0.0.0.0 and the exposed port, expanding $PORT via sh -c. Replace myproject with the package containing wsgi.py. ```bash sh -c "gunicorn myproject.wsgi:application --bind 0.0.0.0:$PORT --workers 4" ``` -------------------------------- ### List database roles for a specific database Source: https://docs.outplane.com/docs/cli/db/roles Example command to list all logins for the 'orders' database. ```bash outplane db role list orders ``` -------------------------------- ### Example: Name them when there is a choice Source: https://docs.outplane.com/docs/cli/db/url Specifies the role and database explicitly when there is more than one of each. The command refuses to pick automatically and requires these flags. ```bash outplane db url orders --role app --database main ``` -------------------------------- ### Basic usage of skills list Source: https://docs.outplane.com/docs/cli/skills/list Displays all detected coding tools and their skill installation status on the machine. ```bash outplane skills list ``` -------------------------------- ### Quickstart: create database, wait for active, create app with DATABASE_URL Source: https://docs.outplane.com/cli/agents Quickstart workflow: create a managed PostgreSQL database, wait for it to become active, then create an application wired to it. The database must be created first because the application needs the connection string at creation time. The `--region` flag is required and permanent; use `aws-eu-central-1`. The `--env` substitution uses `outplane db url` without `--json`; adding `--json` would break the connection. ```bash outplane db create quickstartdb --region aws-eu-central-1 --json ``` ```bash outplane db get quickstartdb --json --fields status ``` ```bash outplane app create \ --repo outplane/outplane-examples \ --branch main \ --public-repo \ --dir agent-quickstart \ --port 8080:http:public \ --env DATABASE_URL="$(outplane db url quickstartdb)" \ --json ``` -------------------------------- ### Check usage before deleting: outplane volume get data -o text Source: https://docs.outplane.com/docs/cli/volume/get Example command to get volume details in plain text format, useful for checking if a volume is in use before deletion. ```bash outplane volume get data -o text ``` -------------------------------- ### Create and mount in one step Source: https://docs.outplane.com/docs/cli/volume/create Provisions a 20GB disk and mounts it to the 'checkout' application at the specified path. ```bash outplane volume create data --size 20 --app checkout --mount /var/lib/data ``` -------------------------------- ### Install CLI in CI Pipeline Source: https://docs.outplane.com/docs/cli/install Example of pinning the CLI version within a CI runner configuration. ```yaml - run: OUTPLANE_VERSION=v0.2.9 sh -c "$(curl -fsSL https://outplane.com/install.sh)" ``` -------------------------------- ### Minimal Dockerfile for Node.js Source: https://docs.outplane.com/docs/console/frameworks/nodejs A basic Dockerfile configuration using Node.js 22-alpine to install dependencies and start the server. ```dockerfile FROM node:22-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --omit=dev COPY . . CMD ["node", "server.js"] ``` -------------------------------- ### Show a disk: outplane volume get data Source: https://docs.outplane.com/docs/cli/volume/get Example command to retrieve details for a volume named 'data'. ```bash outplane volume get data ``` -------------------------------- ### Create an application connected to the database with outplane app create Source: https://docs.outplane.com/docs/cli/agents Creates an application from the public repository 'outplane/outplane-examples', using the 'agent-quickstart' subdirectory. The --port flag exposes port 8080 as public HTTP. The DATABASE_URL environment variable is set to the output of 'outplane db url quickstartdb'. Note: do not add --json to the db url command, as it would put a JSON object into the variable and cause connection failures. ```bash outplane app create \ --repo outplane/outplane-examples \ --branch main \ --public-repo \ --dir agent-quickstart \ --port 8080:http:public \ --env DATABASE_URL="$(outplane db url quickstartdb)" \ --json ``` -------------------------------- ### Read mount path in a script: outplane volume get data --json --fields Source: https://docs.outplane.com/docs/cli/volume/get Example command that outputs JSON with selected fields (app, mountPath, sizeGb) for scripting. The output shows the JSON structure returned. ```bash outplane volume get data --json --fields app,mountPath,sizeGb ``` ```json { "app": "checkout", "mountPath": "/data", "sizeGb": 10 } ``` -------------------------------- ### List all repositories Source: https://docs.outplane.com/docs/cli/repos Lists all repositories the current user can deploy from. ```bash outplane repos ``` -------------------------------- ### Read the whole record instead Source: https://docs.outplane.com/docs/cli/port/get Example of using the `--json` flag to get the full port record as JSON. The output includes fields like `port`, `public`, `scheme`, and `url`. This is useful when the caller wants the structured record rather than just the address. ```bash outplane port get 3000 --app checkout --json ``` ```json { "port": 3000, "public": true, "scheme": "http", "url": "https://checkout-3000-acme.outplane.app" } ``` -------------------------------- ### Basic usage syntax Source: https://docs.outplane.com/docs/cli/deploy/get The standard command structure for retrieving deployment information. ```bash outplane deploy get [APP] ``` -------------------------------- ### Provision a managed PostgreSQL instance Source: https://docs.outplane.com/docs/cli/db/create Basic usage syntax for the db create command. ```bash outplane db create [flags] ``` -------------------------------- ### Install skill everywhere with outplane skills install Source: https://docs.outplane.com/docs/cli/skills/install Installs the newest skill release into every detected coding tool on this machine. No credential is required. ```bash outplane skills install ``` -------------------------------- ### Basic app create command usage Source: https://docs.outplane.com/docs/cli/app/create The standard syntax for creating a new application using the outplane CLI. ```bash outplane app create [flags] ``` -------------------------------- ### Show help usage Source: https://docs.outplane.com/docs/cli/help Displays the usage syntax for the help command, showing the optional TOPIC argument. ```bash outplane help [TOPIC] ``` -------------------------------- ### Install it for zsh Source: https://docs.outplane.com/docs/cli/completion Redirects the zsh completion script to the first directory in the fpath array, installing it for zsh. ```bash outplane completion zsh > "${fpath[1]}/_outplane" ``` -------------------------------- ### Install Out Plane CLI via Shell Source: https://docs.outplane.com/cli Use this command to install the Out Plane CLI on Unix-based systems. ```bash curl -fsSL https://outplane.com/install.sh | sh ``` -------------------------------- ### Initial CLI Commands Source: https://docs.outplane.com/cli The first four commands to authenticate, link a directory, check status, and list applications. ```bash outplane login # opens the console, approve there, nothing to copy outplane link checkout # remember this directory's team and application outplane status # what the next command will act on, and why outplane app list # everything in the current team ``` -------------------------------- ### outplane build get [flags] Source: https://docs.outplane.com/docs/cli/build Shows the usage syntax for the 'build get' command. It is a read-only operation. ```bash outplane build get [flags] ``` -------------------------------- ### Start command with shell features Source: https://docs.outplane.com/docs/console/build-configuration Use this command when your start command needs shell features like `&&`, `$VAR`, or pipes, because the start command runs as a direct exec, not through a shell. Wrap the command in `sh -c` to enable shell interpretation. ```bash sh -c "npm run migrate && npm start" ``` -------------------------------- ### Deploy an application Source: https://docs.outplane.com/cli/agents Use deploy create for subsequent deployments after the initial app creation. The --wait flag blocks quietly, while --follow streams the build. ```bash outplane deploy create --wait ``` -------------------------------- ### Install Out Plane CLI via NPM Source: https://docs.outplane.com/cli Use this command to install the Out Plane CLI on Windows or environments with Node.js. ```bash npm i -g outplane ``` -------------------------------- ### Create a managed PostgreSQL database with outplane db create Source: https://docs.outplane.com/docs/cli/agents Creates a managed PostgreSQL database named 'quickstartdb' in the 'aws-eu-central-1' region. The --region flag is required and permanent. The --json flag outputs the result in JSON format. ```bash outplane db create quickstartdb --region aws-eu-central-1 --json ``` -------------------------------- ### Create app from connected repo or container image Source: https://docs.outplane.com/cli/agents Create an application from a connected repository or from a container image. The first line is for a repository the person has connected; the second is for a container image they named. Angle brackets are placeholders and are invalid on purpose, so a pasted block fails before acting on a real resource. ```bash outplane app create --repo / --branch --port :http:public ``` ```bash outplane app create --image --port :http:public ``` -------------------------------- ### Update all installed skills Source: https://docs.outplane.com/docs/cli/skills/update Running the command without arguments updates every installed copy of the skill across detected tools. ```bash outplane skills update ``` -------------------------------- ### Example: Apex domain DNS record Source: https://docs.outplane.com/docs/cli/domain/dns Example for an apex domain. The command outputs a DNS record with type A for an apex domain. ```bash outplane domain dns example.com ``` -------------------------------- ### Listen on 0.0.0.0 with PORT Source: https://docs.outplane.com/docs/console/frameworks/go Reads the PORT environment variable, defaults to 8080, and starts an HTTP server bound to all interfaces. The ":"+port form binds 0.0.0.0; binding 127.0.0.1 or localhost makes the app unreachable. ```go port := os.Getenv("PORT") if port == "" { port = "8080" } log.Printf("listening on 0.0.0.0:%s", port) log.Fatal(http.ListenAndServe(":"+port, nil)) ``` -------------------------------- ### Start FrankenPHP or Octane server Source: https://docs.outplane.com/docs/console/frameworks/php-laravel Use this command to start a single-process server that reads the port directly. It is suitable for production when using FrankenPHP or Octane. ```bash sh -c "php artisan octane:start --server=frankenphp --host=0.0.0.0 --port=$PORT" ``` -------------------------------- ### Usage: outplane db get Source: https://docs.outplane.com/docs/cli/db/get Shows the usage syntax for the db get command. The DATABASE argument is required and can be a database name or id. ```bash outplane db get ``` -------------------------------- ### env group get usage Source: https://docs.outplane.com/docs/cli/env/groups Shows the usage line for the env group get command. Use it to see the required GROUP argument and available flags. ```bash outplane env group get [flags] ``` -------------------------------- ### Create and configure a database Source: https://docs.outplane.com/cli/agents Creates a PostgreSQL database, polls for active status, and sets the connection string in the application environment. Capture the connection string securely. ```bash outplane db create --region aws-eu-central-1 outplane db get outplane env set DATABASE_URL="$(outplane db url )" --app --deploy ``` -------------------------------- ### Example: Subdomain DNS record Source: https://docs.outplane.com/docs/cli/domain/dns Example for a subdomain. The command outputs a JSON object with host, name, type, and value fields. The type is CNAME for a subdomain. ```bash outplane domain dns app.example.com ``` ```json { "host": "app.example.com", "name": "app", "type": "CNAME", "value": "domains-management.outplane.app" } ``` -------------------------------- ### Basic usage Source: https://docs.outplane.com/docs/cli/port/list List all ports for the currently linked application. ```bash outplane port list ``` -------------------------------- ### Show the app this directory is linked to Source: https://docs.outplane.com/docs/cli/app/get Retrieves details for the application linked to the current directory. ```bash outplane app get ``` -------------------------------- ### Install Out Plane skill in Claude Code Source: https://docs.outplane.com/cli/agents Adds the Out Plane skill to Claude Code via its plugin marketplace and installs it. Use these commands in the Claude Code CLI. ```shell /plugin marketplace add outplane/skills /plugin install outplane@outplane ``` -------------------------------- ### Attach and deploy in one step Source: https://docs.outplane.com/docs/cli/volume/attach Attaches the volume and deploys in one step using --deploy. The --json and --fields flags control the output format and fields. ```bash outplane volume attach data --app checkout --mount /data --deploy --json --fields app,mountPath,changed ``` -------------------------------- ### Remove start command with --start-command Source: https://docs.outplane.com/docs/cli/build Removes the start command override by setting an empty value. The --start-command flag overrides the image's own command, and an empty value removes it. ```bash outplane build set --start-command "" ``` -------------------------------- ### Documentation URLs for plain Markdown pages Source: https://docs.outplane.com/cli/agents These URLs point to the documentation index and an example page, both served as plain Markdown. Use them to fetch the full CLI documentation for agent consumption. ```text https://docs.outplane.com/llms.txt the index https://docs.outplane.com/docs/cli/app/scale.md any one page ``` -------------------------------- ### Create a database with a specific version Source: https://docs.outplane.com/docs/cli/db/create Provisions a database named 'legacy' in the specified region using version 15. ```bash outplane db create legacy --region aws-eu-central-1 --version 15 ``` -------------------------------- ### Usage: outplane port get [flags] Source: https://docs.outplane.com/docs/cli/port/get Shows the basic command syntax for `port get`. The `PORT` argument is required, and the `--app` flag can specify an application name or ID, defaulting to the linked app. ```bash outplane port get [flags] ```