Guide
How Statio Deploy works, from the first app to the last variable in
the .env. Each section stands on its own: read the one you need.
The app's interface is in Italian: this guide gives the names of buttons and fields as they appear on screen, with their meaning in brackets.
Adding an app
The + button at the top of the list opens the Nuovo applicativo (new app) sheet. There are only a few fields:
- Nome (name): what you see in the list.
- Cartella (folder): the project folder, picked with Scegli… or typed in. The command runs from here.
- Comando (command): what you would type in Terminal, for example
npm run dev. - Indirizzo (address): optional, the page to open in the browser.
- Browser: the one to open this app in, or the default.
- File di ambiente (environment files): left empty, Statio Deploy
uses the
.envand.env.*files in the folder. If the project keeps them elsewhere, enter their paths relative to the folder, separated by commas. - Note (notes): anything you want to remember about the project.
An app is changed with Modifica… (edit) and removed with Elimina… (delete): it disappears from the list, but the project folder is not touched.
Command detection
As soon as you pick the folder, or with the Rileva (detect) button, Statio Deploy reads the project files and suggests the commands it finds, from the most to the least likely. Clicking a suggestion copies it into the command field.
It recognizes the scripts in package.json (choosing npm, pnpm, yarn or
bun from the lockfile), Django, FastAPI and Streamlit projects, Python entry points with
.venv, Poetry or uv, Makefile targets, Docker Compose, shell scripts,
Procfile and the code blocks in the README.
Detection only reads: it never runs anything. If it finds nothing, you type the command yourself.
Starting and stopping
Avvia (start, ⌘R) runs the command in your login shell, the same
one as Terminal: your PATH, nvm, pyenv and everything in
.zprofile and .zshrc apply. Below, the
Log panel shows the output live. With Segui
(follow) on, the log scrolls to the last line by itself; Svuota
(clear) empties it.
Arresta (stop, ⌘.) stops the app and every process it started, not just the first one: each app runs in its own process group. First it asks the app to quit gracefully; after five seconds, if needed, it forces it. Riavvia (restart, ⇧⌘R) does both in a row. Ferma tutto (stop all, ⌥⌘.) stops every running app.
When you quit Statio Deploy, the apps still running are stopped.
Opening in the browser
Apri nel browser (open in browser, ⌘O) opens the app's address.
The address can contain variables read from the project's .env files:
http://localhost:${PORT} uses the value of PORT, and
${PORT:-3000} uses 3000 if the variable is missing. So if you change
the port in the .env, the link follows.
The browser is chosen at three levels: the one set on the app, otherwise the default in Statio Deploy's Settings, otherwise the system one. The Apri con (open with) menu picks one for a single time.
Editing the .env
The Ambiente (environment) panel, next to Log, shows the variables of the app's environment files, one file at a time. You can change a value, add a variable at the end or delete one (and Ripristina, restore it, until you save). Salva (save, ⌘S) writes the file.
The rest of the file does not change by a single byte: comments, blank lines,
quotes, export and line endings stay as you wrote them. Lines the app
cannot interpret are left there, untouched, and multi-line values are shown but not
editable: for those there is Apri nell'editor (open in editor).
If another program changes the file while you are editing it, Statio Deploy notices and, before saving, asks whether to Ricarica (reload) the version on disk or Sovrascrivi (overwrite) it. Before every save, the previous version is copied into Statio Deploy's data, outside the project.
Statio Deploy does not pass the variables to the app: the app itself reads its
.env when it starts. That is why, if you change it while the app is
running, you are prompted to restart it.
Ports in use
Before starting an app, Statio Deploy checks the port in its address. If it is already taken, it tells you by whom, another Statio Deploy app or an unrelated process, and lets you choose: stop the other process, start anyway or cancel.
A stopped app whose port is in use also shows a warning in the list: usually it is a copy left running in a terminal.
Menu bar, Dock and notifications
The quickest way to use Statio Deploy is the panel in the menu bar. The icon (a stack of cards, with a dot when something is running) opens it with all your apps in a column: for each one the status dot, the name, the button to open it in the browser, if it has an address, and the one to start or stop it. Clicking the name opens the main window on that app. At the top is the number of running apps; at the bottom Ferma tutto (stop all), Apri Statio Deploy (open Statio Deploy) and Esci da Statio Deploy (quit). The panel works even with the main window closed, and can be hidden in Settings.
The Dock icon shows the number of running apps. If an app exits on its own, you get a notification: one click and Statio Deploy opens on that app, with the log telling you why.
Processes left running
Statio Deploy keeps track of the processes it starts. If it quits unexpectedly (a crash, a forced shutdown), on the next launch it finds the apps left running and shows a warning: you can stop them or ignore them. Their log is no longer available, because there is no way to reattach to a process started earlier.
AI agents
Statio Deploy includes an MCP server, the protocol AI agents use to work with
external tools. Connected to Claude Code, Claude Desktop, Cursor, Codex or another MCP
client, the agent can list your apps, read their status, logs and .env,
look up a project's commands and, if you allow it, start, stop, add and edit apps for
you.
It is off by default: turn it on in Settings › Agenti AI (AI agents) with Consenti agli agenti AI di gestire Statio Deploy (let AI agents manage Statio Deploy). Below, the Permessi (permissions) come in groups: reading apps, status, logs and .env; starting, stopping and opening apps; adding, editing and removing apps; editing .env files. Apart from reading, each group stays off until you turn it on.
Values of keys containing SECRET, TOKEN, PASSWORD, KEY, PRIVATE or CREDENTIAL reach
the agent masked, in .env files and in logs, unless you turn on
Consenti di leggere i valori sensibili (allow reading sensitive
values). With Chiedi conferma per le azioni a rischio (ask before
risky actions, on by default) Statio Deploy asks you before starting a command you
never started yourself or that an agent changed, and before stop all. Adding apps,
changing their command or folder, removing them and deleting variables always asks
for confirmation.
In Configura un client (set up a client) you pick your client and copy the ready-made configuration; for Claude Desktop there is Aggiungi a Claude Desktop (add to Claude Desktop). The connection goes through a small program inside the app and opens no network ports. For clients that cannot launch local programs there is the Server HTTP locale (local HTTP server): it listens only on 127.0.0.1 and requires a token. Agents that live only in the browser, such as ChatGPT on the web, cannot connect. The Registro attività (activity log) lists every agent operation, with client, time and outcome.
Settings and data
In Settings (⌘,) you choose the theme (system, light or dark), the default browser, the menu bar icon, notifications and launch at login. If macOS asks you to approve it, you will find it in System Settings, under Login Items.
All data lives in ~/Library/Application Support/Local Deploy/: the
list of apps (apps.json), the copies of edited .env files
(env-backups/, the last ten per file) and the processes started
(running.json). The folder still has the app's original name, so existing
users' data stays where it is.