Stack0 Cloud

Stack0 Cloud hosts Pylon apps. Each project is one Pylon app on its own machine, with its own database, secrets, and domains. Cloud is also where you manage your organization, its members, and the one Stack0 plan that covers every Stack0 product. The console is at cloud.stack0.dev/dashboard. Each organization has its pages under /dashboard/orgs/<slug>.

Create a project

On your organization page, select New project. The form has two ways to start:

  • Describe an app. Cloud creates the project, then shows a prompt on the organization page. Copy the prompt into your coding agent (Claude Code, Codex, Cursor, or OpenCode). The agent signs the CLI in, scaffolds the app, and deploys it.
  • Import a Pylon repository. Connect a GitHub repository, then set the branch and the folder of the app in the repository. Every push to that branch deploys.
  • Name

    The display name of the project.

  • Subdomain

    Lowercase letters, numbers, and hyphens. The app serves at <subdomain>.stack0.app over HTTPS.

  • Primary region

    The region the machine runs in.

  • Database

    SQLite is included. It is a database file on the project's volume. Postgres is a PlanetScale database from $7.50 a month, a single node by default. You can move a SQLite project to Postgres later from the project's Database page. The move copies the data.

You can also add secrets on the form. You can add them later on the Secrets page.

Sign in the CLI

Run bunx pylon login. The CLI prints a code and opens cloud.stack0.dev/cli. Sign in, type the code from your terminal, and select Authorize CLI. The CLI then saves a token and continues.

Only type a code that you got from pylon login yourself. A code from another person gives that person access to your account.

For CI or a machine with no browser, create a token under Account, then CLI tokens. Give the token a label, such as ci-prod. The token shows one time. It has your role in every organization you belong to. Revoke a token from the same page.

Deploy

From a new directory, these commands scaffold an app, create the project, and deploy it. Bun 1.0 or newer must be on your PATH.

bash
npm create @pylonsync/pylon@latest my-app
cd my-app
bunx pylon login
bunx pylon projects create my-app
bunx pylon deploy

After the first deploy, run bunx pylon deploy from the project directory to ship a change. The command uploads the directory and waits for the build. Add --template saas to the create command when the app needs accounts, organizations, and billing. bunx pylon dev runs the app on your computer.

Deploy on push

Install the Stack0 Cloud GitHub App under the organization's Integrations page. Then set the repository and branch on the project's Git settings page. Each push to the branch deploys. The GitHub App uses a short-lived token for each repository.

Deployments and rollback

The project's Deployments page lists every deploy. Each deploy is a version. To go back, select Roll back on an earlier deploy. When a deploy changes the schema, it goes to the organization's Approvals page for review.

Other project pages: Overview, Database, Data, Backups, Functions, Jobs, Workflows, Usage, and Logs.

Secrets

Open the project, then Settings, then Secrets. A secret is an environment variable that your app reads from process.env. Names use SCREAMING_SNAKE_CASE. To add many at once, paste a block in .env format. Download .env exports the decrypted values, so keep that file safe.

Cloud encrypts values at rest with AES-256-GCM. A new or changed secret applies on the next deploy. The same page sets the allowed browser origins (CORS). By default they come from the project's domains.

From the CLI:

bash
bunx pylon secrets set STRIPE_SECRET_KEY=sk_live_... RESEND_API_KEY=re_...
bunx pylon domains add app.example.com
bunx pylon domains verify app.example.com

Custom domains

Every project serves at <slug>.stack0.app. To add your own hostname:

  1. Open the project, then Settings, then Domains.
  2. Under Add a domain, type the hostname, for example api.acme.com.
  3. Set the DNS record that the page shows. Use a CNAME for a subdomain. For an apex domain, use the A and AAAA records.
  4. Select Verify DNS. Cloud issues the certificate.

You can set one domain as the default. The default sets PYLON_PUBLIC_URL, which the app uses for OAuth redirects, emails, and invite links.

Members and roles

Open Members in the organization sidebar. Owners and admins invite people by email. An invite link is valid for one week. There are three roles:

  • owner

    All actions, including deleting the organization. Only an owner can invite an owner.

  • admin

    Manages members and most settings.

  • member

    Reads and uses the organization's projects.

There is no charge for each member.

Single sign-on

Open /dashboard/orgs/<slug>/settings/sso. Only owners can change it. Connect one of these:

  • OIDC

    Issuer URL, client ID, and client secret. Works with Google Workspace, Okta, Auth0, and Authentik.

  • SAML 2.0

    The IdP metadata URL, or the IdP metadata XML.

For each provider, list the email domains, such as acme.com. Sign-ins from those domains go through your identity provider. If you disable a provider, existing members keep their accounts.

Billing

One subscription covers every Stack0 product. Open Billing in the organization sidebar and select Subscribe. The Stack0 Platform plan is $20 a month for each organization and includes:

  • $10 of usage credit each month, used by all Stack0 products
  • Unlimited apps and members
  • Custom domains, single sign-on, the audit log, and backups
  • One agent run at a time. More runs wait in a queue.

Compute, storage, bandwidth, and AI usage past the credit are metered and added to the invoice. Manage opens the Stripe billing portal, where you change the card. The Invoices list shows each invoice. The Usage page shows usage across products and for each project. For custom limits, contact sales from the Billing page. See pricing.

Connect a coding agent

Every organization can connect Claude Code and other MCP clients to Stack0. Open Agents in the organization sidebar (Settings, then Agents). The server URL is:

text
https://cloud.stack0.dev/mcp

You do not need an API key. The client registers itself and opens the Stack0 sign-in page. The agent acts as you, in the organization you select when you sign in.

Claude Code

bash
claude mcp add --transport http stack0 https://cloud.stack0.dev/mcp

Run the command. Then in Claude Code, run /mcp, select stack0, and sign in.

Claude (web and desktop)

Open Settings, then Connectors, then Add custom connector. Paste the server URL, select Connect, and sign in.

Cursor

json
{
"mcpServers": {
"stack0": { "url": "https://cloud.stack0.dev/mcp" }
}
}

Add the server to ~/.cursor/mcp.json. In Cursor settings, open MCP and select Connect next to stack0.

VS Code

bash
code --add-mcp '{"name":"stack0","type":"http","url":"https://cloud.stack0.dev/mcp"}'

Run the command. Start the stack0 server from the MCP view and sign in.

Tools

Tool names start with the product name. Today only Stack0 Feedback serves tools: list projects, boards, and posts; read a post; create a post; change a status; and comment. Cloud itself serves no tools yet.

Connected agents

The Agents page lists each connected agent with its user, the date it connected, and the date it was last used. Select Disconnect to stop its access at once. The agent must sign in again to reconnect.