| name | portworld-cli-autopilot |
| description | Installs, initializes, validates, and operates the PortWorld `portworld` CLI end-to-end with non-interactive defaults. Use when the user needs CLI bootstrap or re-bootstrap, local readiness checks (`doctor`, `status`), managed deploy flows (GCP, AWS, Azure), logs, or config/providers work. Applies to a PortWorld git checkout, a published CLI install on PATH, or agents using this skill after `npx skills add`. |
PortWorld CLI Autopilot
Overview
Automate PortWorld CLI setup and operation so the agent runs concrete commands instead of asking the user to perform setup steps manually.
Use This Flow
- Run bootstrap first using
scripts/bootstrap_portworld_cli.sh (see Bootstrap).
- Run the requested PortWorld CLI task (
doctor, status, logs, deploy, config, providers, update).
- Verify with
doctor / status before and after material changes.
For detailed command matrices and target-specific examples, read references/command-map.md.
CLI entry (choose one)
portworld — use when the CLI is installed from PyPI/pipx/uv tool and on PATH (typical for operators and many agents).
uv run python -m portworld_cli.main — use in a repo checkout with uv sync / editable install, or when debugging against source.
Do not assume uv is available unless the workspace is a PortWorld clone with a synced environment.
Bootstrap Workflow
Bootstrap needs uv, a PortWorld project root (repo checkout or published workspace root), and OPENAI_API_KEY or GEMINI_LIVE_API_KEY in the environment.
- Confirm
uv exists. If missing, stop and ask for permission to install uv.
- Change to the skill directory (the folder that contains this
SKILL.md — after npx skills add, that is the installed skill root, e.g. .agents/skills/portworld-cli-autopilot or skills/portworld-cli-autopilot in a clone).
- Run:
bash scripts/bootstrap_portworld_cli.sh --project-root "<repo-root>" --mode source
- For published workspace bootstrap:
bash scripts/bootstrap_portworld_cli.sh --project-root "<repo-root>" --mode published --stack-name default
- Treat bootstrap as idempotent. Re-run when config drift or missing runtime prerequisites are detected.
Operating Rules
- Prefer non-interactive CLI execution in automation contexts.
- Prefer explicit flags over prompts.
- Keep defaults unless the user asked for custom provider or deploy shape.
- Use source mode for repo development tasks.
- Use published mode for operator-style local runtime when a source checkout is not required.
Provider and Secrets Policy
- Use
OPENAI_API_KEY when present.
- Fallback to
GEMINI_LIVE_API_KEY when the OpenAI key is absent.
- If neither key exists, stop with one concise request for a key; do not continue with a half-configured setup.
- Keep vision and tooling disabled by default during bootstrap unless the user explicitly requests them.
Verification Gates
- After bootstrap: run
doctor --target local and status.
- Before managed deploy: run target-specific
doctor.
- After managed deploy: run target-specific
doctor and collect status.
Common Task Shortcuts
Prefer portworld when available; otherwise use uv run as in references/command-map.md.
- Validate local runtime:
portworld doctor --target local
- Show workspace/deploy state:
portworld status
- Show config:
portworld config show
- List providers:
portworld providers list