User guideDeploying
From your machine
Deploy your working tree with toft deploy — uncommitted changes included, no git push needed.
toft deploy sends the folder you are in, exactly as it is on disk —
uncommitted edits included, no commit or push required. It is the fast loop
while you are iterating.
toft login https://toft.your-company.com # oncetoft create # first time: create an app from this foldertoft deploy # every time afterInstall toft first: Installing toft. The full
command reference is in the CLI & SDK guide.
Which app it deploys to
Section titled “Which app it deploys to”toft link <slug> records the app in toft.toml, which you commit:
[app]slug = "sales-dashboard"toft create --link does the same when it creates the app. --app <slug>
overrides it for one command.
What gets sent
Section titled “What gets sent”.gitignoredecides — every.gitignorein the tree, plus.git/info/exclude. A.toftignoreadds more patterns; it never replaces them.toftreads the files itself, so a folder that is not a git repository works too.- Always dropped:
.git/,.hg/,.svn/,node_modules/,venv/,.venv/,__pycache__/,*.pyc,.DS_Store. - Dropped when the root has a
package.json:dist/,build/,out/,.next/,.nuxt/,.svelte-kit/— the build recreates them. A static site whose[static] rootpoints into one of these still ships it.
The bundle can be at most 100 MB.
Watching
Section titled “Watching”toft deploy streams progress and exits with the deploy’s outcome. --logs
interleaves the build log. If you lose the terminal, rejoin:
toft deploy --watch <deployID>In a pipeline
Section titled “In a pipeline”export TOFT_URL=https://toft.your-company.comexport TOFT_TOKEN_FILE=/run/secrets/toft # or TOFT_TOKENtoft deploy --app reportsThere is no --token flag, so secrets stay out of shell history and the
process list. Use a deploy key (toftd_…) rather than
your personal key, so the pipeline survives your leaving.
| Exit code | Meaning |
|---|---|
0 |
Deployed. |
1 |
The deploy ran and failed — read the build log. Also when another deploy of the app is still queued: wait, then retry. |
2 |
Usage or configuration: no app linked, a bad flag, an unknown deployment id. |
3 |
Not authenticated, or the credential was refused. |
4 |
The install did not answer. |