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 defaultsmanual— 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
- Repository
- Backend README — runtime, API reference, configuration
- iOS README — iOS app setup, Meta DAT, permissions
- Getting Started — extended onboarding guide
- Changelog
- CLI Release Process
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file portworld-0.2.2.tar.gz.
File metadata
- Download URL: portworld-0.2.2.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cce1d01062fa9e6bdb097f3b99072121f26a5ed6b9b66e60b8879fe19662135
|
|
| MD5 |
08bed7dd4f2996b622aaa8973b8d1984
|
|
| BLAKE2b-256 |
0804a6d2d776db5e1f9e846e900d568b6f19851fb4ac1ab9e6263d6f8b020c5e
|
Provenance
The following attestation bundles were made for portworld-0.2.2.tar.gz:
Publisher:
cli-release.yml on portworld/PortWorld
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
portworld-0.2.2.tar.gz -
Subject digest:
2cce1d01062fa9e6bdb097f3b99072121f26a5ed6b9b66e60b8879fe19662135 - Sigstore transparency entry: 1239459494
- Sigstore integration time:
-
Permalink:
portworld/PortWorld@35135224709ed0b95e3eca335b3dafe011668214 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/portworld
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cli-release.yml@35135224709ed0b95e3eca335b3dafe011668214 -
Trigger Event:
push
-
Statement type:
File details
Details for the file portworld-0.2.2-py3-none-any.whl.
File metadata
- Download URL: portworld-0.2.2-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e229a74b2c11c0f1e25a2bd52f6b6dedf3eee4e14318f8e7404103dfecac7dd6
|
|
| MD5 |
28b5c16e08730edc34141e995e8d20ac
|
|
| BLAKE2b-256 |
96ae08d6821cb9fcf50c56d9b14007d768fcf5dbc003f135ece61248c68d4970
|
Provenance
The following attestation bundles were made for portworld-0.2.2-py3-none-any.whl:
Publisher:
cli-release.yml on portworld/PortWorld
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
portworld-0.2.2-py3-none-any.whl -
Subject digest:
e229a74b2c11c0f1e25a2bd52f6b6dedf3eee4e14318f8e7404103dfecac7dd6 - Sigstore transparency entry: 1239459496
- Sigstore integration time:
-
Permalink:
portworld/PortWorld@35135224709ed0b95e3eca335b3dafe011668214 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/portworld
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cli-release.yml@35135224709ed0b95e3eca335b3dafe011668214 -
Trigger Event:
push
-
Statement type: