pylon binary covers the full operator surface: dev loop, deploys, secrets, logs, db, data, domains, deployments, members, project health. Anything you can do from the Pylon Cloud dashboard, you can do from the CLI (and pipe to other shell tools).
Install + sign in
PYLON_CLOUD_URL overrides the default https://www.pylonsync.com for staging or self-hosted Pylon Cloud installs.
Project context
Most commands target a single project. Resolution order (first match wins):--project <slug>flag on the commandPYLON_PROJECTenv var.pylon/projectfile in cwd or any ancestor (written bypylon projects use)- Interactive picker (TTY only)
Create
pylon projects create <slug> provisions a project on Pylon Cloud without touching
the dashboard: it creates the project in your org, waits for the machine to come up
(usually well under a minute; --db postgres adds a managed-database provision first),
pins the slug as your local context, and prints the live https://<slug>.pyln.dev URL.
--json the final line is a single machine-readable object
({"ok":true,"slug":"my-app","status":"running","url":"https://my-app.pyln.dev",...}),
so agents and scripts can chain straight into pylon deploy.
Test
pylon test runs each test file with Bun against an in-memory Pylon; it exits non-zero on failure (drops straight into CI). pylon test:security is a separate probe that hits a running app and reports auth/policy holes. See the Testing guide for the unit / component / HTTP patterns.
Deploy
pylon deploy (no flag) does the actual hosted deploy. The other targets write IaaS config files to ./deploy/.
Secrets
syncSecretsToFly immediately so the running machine sees the new value within ~10s (no redeploy required).
Logs
kind: unavailable (machine stopped, framework predates the tail endpoint, etc.) — backs off to 30s until the surface comes back.
Database
Data browser
Domains
pylon-<slug>.fly.dev hostname is always available regardless.
Deployments
Members
owner, admin, member.
Status
JSON mode
Every command accepts--json and emits parseable output for scripts: