Skip to content

Cantila Deploy (chat)

Cantila Deploy is the conversational front door — the chat at Console → Chat Deploy. One thread that turns intent or files into a running deployment, with the database, domain, mailbox, and SMS number already attached.

Two ways to start a project

Drop files in

The supported drop shapes:

  • A GitHub URLhttps://github.com/<owner>/<repo> (public or, when you've connected GitHub, private).
  • A zip archive of the project directory.
  • Individual files dragged into the thread (Cantila assembles them).

Cantila reads the project, detects the stack, infers environment variables, generates the build configuration, and starts.

Describe what you want

Skip the files. Type the project:

ship me a Next.js blog with Postgres and a contact form
that posts to a Slack channel

Cantila scaffolds the repo, attaches a Postgres, sets the env vars, and ships. You can iterate on the same thread — "switch the contact form to email me instead", "swap the theme to dark".

Iterating on a live project

Once a project is live, the same chat operates on it. Common moves:

switch the database to MySQL
add my custom domain blogapp.dev
give it more memory — 2GB
why is the latest deploy crashing

Every action shows up as a concrete row in the dashboard's Activity feed and is reversible.

Stack detection — what Cantila knows

Signal in repoStack inferred
next.config.{js,mjs,ts}Next.js
package.json with react-scriptsCreate React App
astro.config.*Astro
svelte.config.*SvelteKit
requirements.txt / pyproject.tomlPython (FastAPI, Flask)
GemfileRuby
go.modGo
Cargo.tomlRust
DockerfileContainerised, your call

Detection runs through Nixpacks; if it misses, drop a Dockerfile and Cantila honors it. See builds & the deploy pipeline for the full runtime list and the 8-step pipeline every deploy runs.

What "auto-wired" means

Every project lands with three services already attached. Their connection details live in the project's environment as secrets:

  • DATABASE_URL — managed Postgres, private to the project
  • SMTP_* — project mailbox (Phase 2)
  • SMS_* — project SMS number (Phase 3)

See auto-wired services for the full table.

Both Mail and SMS are sequenced behind their respective carrier paths. The env vars exist today against the stub adapters, so you can write code that targets them; the live delivery flips on as each phase ships.

When to leave chat

For everything except the first deploy and routine iteration, the CLI is faster:

  • Tail logs: cantila logs <project>
  • Roll back: cantila rollback <project> <deployId>
  • Set an env var: cantila env set <project> KEY=value

See the Cantila CLI.