Deploying
Shipping code, redeploying, and getting back to a version that worked.
Your first deploy
Point your agent at a folder and name the app. Names are lowercase letters, numbers and dashes — "mod-app", not "Mod App".
Runtime and entry point are usually inferred: a package.json means Node and index.js, a requirements.txt means Python and main.py. Say so explicitly if your project is laid out differently.
Redeploying
Deploying to a name that already exists ships a new version of that app rather than creating a second one. The version number increments, the previous version is kept, and the container restarts on the new code.
Build logs
Each deploy records its own build output: the fetch, the dependency install, and the first lines your program printed. Open a version on the app’s Deploys tab to read it.
This is separate from the live console. The console is a rolling tail that the next deploy overwrites; a build log belongs to one version and stays with it, which is what you want when the question is "what changed between v3 and v4?".
Rolling back
Every version you have deployed is still there.
The old bundle is re-served and the container restarts on it. Rolling back does not delete the newer version — you can go forward again once you have fixed it.
What to include
Agents generally get this right on their own. If a deploy is unexpectedly large, ask what it included.