basemodo deploy
Deploy a folder and print its URL once it is live.
basemodo deploy [OPTIONS] [PATH]Packs the folder (leaving out .git and what .gitignore, .ignore, .basemodoignore and .dockerignore exclude), uploads it, and Basemodo detects how to build and run it (or reads basemodo.toml), builds it and starts it; the command waits until the App answers HTTP at its URL. The App is created the first time. A Deploy that fails leaves the previous one live. With --repository there is no folder: the App is linked to that GitHub repository and its branch's latest commit is deployed.
Arguments
PATH: The folder to deploy. Default: the current one.--name <NAME>: The App to deploy to. Default:namein basemodo.toml, else the folder's name (with --repository, the repository's name).--repository <OWNER/REPO>: A GitHub repository to deploy instead of a folder, as owner/repo: the App is linked to it and its branch's latest commit is deployed now, and again on every push. Basemodo's GitHub App must be able to read it.--branch <BRANCH>: With --repository: the branch to deploy. Default: the one the App is linked to, else the repository's default branch.--subdir <SUBDIR>: With --repository: the folder of the repository that holds the App (apps/web). Default: the one the App is linked to, else the whole repository.--workspace <WORKSPACE>: The Workspace whose App this is, by name: deploy to its App of that name, creating it the first time (which takes an Admin of the Workspace). Default: your own App of that name, else the one App of that name a Workspace of yours owns, else a new App of your own.--link: In a clone of a GitHub repository: link the App to it (this branch and folder) without asking, so every push deploys it.--no-link: Do not offer to link the App to the folder's GitHub repository.
Like every command, it also takes the global options --json and --api-url.
Examples
Deploy the folder you are in:
basemodo deployDeploy another folder, as an App of another name:
basemodo deploy ./site --name team-lunchDeploy and keep the result for a script:
basemodo deploy --json > deploy.jsonDeploy a GitHub repository's latest commit, without a clone (pushes deploy too):
basemodo deploy --repository ana/lunch-rotaOutput
With --json, it prints {"url", "app", "deploy"}, the live Deploy with what was detected; progress events on stderr (upload, detect, queued, build, start, ready). A failed Deploy is an error with "deploy" and the build "log".
From an agent
The local MCP serves it as the tool deploy. It changes things, so an agent's client may ask you before it runs. Its arguments are the command's, named as JSON keys: path (text), name (text), repository (text), branch (text), subdir (text), workspace (text), link (flag), no_link (flag). It answers what the command prints with --json.