Skip to main content

PortWorld CLI for setup, self-hosting, and managed deploy workflows

Project description

PortWorld CLI

Command-line interface for bootstrapping, validating, and deploying PortWorld — the open-source runtime for voice-and-vision AI assistants.

Install

Recommended (with uv):

uv tool install portworld

With pipx:

pipx install portworld

Bootstrap installer (installs uv, Python 3.11+, and Node.js tooling if missing):

curl -fsSL --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/portworld/PortWorld/main/install.sh | bash

Agent skill (Cursor, Codex, others)

Install the portworld-cli-autopilot skill so agents get consistent bootstrap and operator commands (Agent Skills format):

npx skills add portworld/PortWorld --skill portworld-cli-autopilot -a cursor -a codex -y

Direct install of the skill folder only:

npx skills add https://github.com/portworld/PortWorld/tree/main/skills/portworld-cli-autopilot -y

See skills/README.md for --list, -g (global), and telemetry options.

Requirements

  • macOS or Linux
  • Python 3.11+
  • Docker for local published-workspace runs

Quickstart

Initialize a local workspace, configure providers, and start the backend:

portworld init

Validate and inspect:

portworld doctor --target local
portworld status

portworld init supports two setup modes:

  • quickstart — guided onboarding with beginner-friendly defaults
  • manual — guided onboarding with advanced choices like local source runtime

Force either mode with --setup-mode quickstart or --setup-mode manual.

Commands

Command Description
portworld init Run the onboarding wizard, write config, and execute the selected local or managed path
portworld doctor Validate local or managed deployment readiness
portworld deploy Deploy to a managed cloud target
portworld status Inspect workspace and deploy state
portworld logs Read managed deployment logs
portworld config Inspect or edit project configuration
portworld providers Browse supported realtime, vision, search, and cloud providers
portworld extensions Manage extension manifests and install state
portworld update cli Show the recommended CLI upgrade command
portworld update deploy Redeploy the active managed target
portworld ops Lower-level operator tasks (see below)

Operator Tasks

portworld ops check-config                   # validate local config
portworld ops check-config --full-readiness  # full preflight with provider validation
portworld ops bootstrap-storage              # initialize storage
portworld ops export-memory --output /tmp/portworld-memory-export.zip

Deploy Workflows

Supported managed targets: GCP Cloud Run, AWS ECS/Fargate, Azure Container Apps.

Readiness Check

portworld doctor --target gcp-cloud-run    --gcp-project <project> --gcp-region <region>
portworld doctor --target aws-ecs-fargate  --aws-region <region>
portworld doctor --target azure-container-apps --azure-subscription <sub> --azure-resource-group <rg> --azure-region <region>

Deploy

portworld deploy gcp-cloud-run   --project <project> --region <region>
portworld deploy aws-ecs-fargate --region <region>
portworld deploy azure-container-apps --subscription <sub> --resource-group <rg> --region <region>

Logs

portworld logs gcp-cloud-run       --since 24h --limit 50
portworld logs aws-ecs-fargate     --since 24h --limit 50
portworld logs azure-container-apps --since 24h --limit 50

Redeploy

portworld update deploy
portworld update deploy --tag <image-tag>

Source Checkout

Use a repo checkout when developing PortWorld itself:

git clone https://github.com/portworld/PortWorld.git
cd PortWorld
pipx install . --force
portworld init

Updating

Upgrade the CLI:

uv tool upgrade portworld

Install a pinned version:

uv tool install "portworld==<version>"

Upgrade via the bootstrap installer:

curl -fsSL --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/portworld/PortWorld/main/install.sh | bash -s -- --version v<version>

Production Caution

Managed cloud workflows are supported, but some infrastructure defaults favor quick bring-up over locked-down security:

  • AWS: one-click deploy provisions RDS with public accessibility and broad ingress
  • Azure: one-click deploy provisions PostgreSQL with public access

Review and harden these defaults before exposing a deployment to the public internet.

Links

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

portworld-0.2.0.tar.gz (182.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

portworld-0.2.0-py3-none-any.whl (244.3 kB view details)

Uploaded Python 3

File details

Details for the file portworld-0.2.0.tar.gz.

File metadata

  • Download URL: portworld-0.2.0.tar.gz
  • Upload date:
  • Size: 182.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for portworld-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a748bc8858bb9611ce5740e2f445a8734c08e3737d58a14867568ef83b1da2b8
MD5 33d63f3f6bb83efe3d065d6d65bf36d6
BLAKE2b-256 9b644063a1cdebdbf217225cda090e9aa74a69de484c9af448fd2b21e412c73b

See more details on using hashes here.

Provenance

The following attestation bundles were made for portworld-0.2.0.tar.gz:

Publisher: cli-release.yml on portworld/PortWorld

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file portworld-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: portworld-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 244.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for portworld-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5ffddc70bb043748e398086b97f1d5509295761f43d6329231855f412a13a31
MD5 247358047e3d4f851bad27c750dd8770
BLAKE2b-256 17e38bd9e5d2eb0c1f63cec9c719a48e7b190c2192c94c9ea8aa23d0aeaa8cf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for portworld-0.2.0-py3-none-any.whl:

Publisher: cli-release.yml on portworld/PortWorld

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page