Use Case: Development Workflow
This guide shows how to use RemoteX as a developer's command palette. The goal: replace the most repetitive terminal commands with one-click buttons, organised by project.
The scenario
You work on two projects:
- A frontend (React app, running locally)
- A backend API (Node.js, deployed on a remote VPS)
You run the same commands dozens of times a day: build, test, deploy, check logs. RemoteX replaces your muscle memory with visible, labelled buttons.
Step 1 — Add your server as an SSH machine
For commands that run on the VPS, add it first:
| Field | Value |
|---|---|
| Name | VPS Production |
| Host | your-vps-ip |
| SSH User | deploy |
| SSH Key Path | ~/.ssh/id_ed25519 |
Click Test to verify connectivity.
!!! tip "Pro feature" SSH machines require RemoteX Pro.
Step 2 — Frontend category
Create these buttons with Category: Frontend.
Install dependencies
npm install
- Execution mode: Show output (see if something fails)
- Working directory tip: prefix with
cd ~/projects/myapp &&
Full command: cd ~/projects/myapp && npm install
Start dev server
cd ~/projects/myapp && npm run dev
- Execution mode: Open in terminal — the dev server is interactive and streams output continuously
Build for production
cd ~/projects/myapp && npm run build
- Execution mode: Show output — you want to see build errors
- Icon:
package-x-generic-symbolic
Run tests
cd ~/projects/myapp && npm test -- --watchAll=false
- Execution mode: Show output
- Tooltip:
Run the full Jest test suite once
Lint
cd ~/projects/myapp && npm run lint
- Execution mode: Show output
- Color:
#1c71d8(blue — informational)
Step 3 — Backend category
Create these buttons with Category: Backend. Target: VPS Production.
Pull latest code
cd ~/app && git pull origin main
- Execution mode: Show output
- Confirm before running: enabled (avoids accidental deploys)
Restart API server
sudo systemctl restart myapp
- Execution mode: Silent
- Confirm before running: enabled
Docker: rebuild and restart
cd ~/app && docker compose down && docker compose up -d --build
- Execution mode: Show output
- Tooltip:
Rebuild containers and restart (takes ~30s) - Color:
#26a269(green — deploy action)
Tail application logs
sudo journalctl -u myapp -f -n 100
- Execution mode: Open in terminal —
journalctl -fstreams indefinitely
Check Docker containers
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
- Execution mode: Show output
Database backup
cd ~/app && pg_dump mydb > ~/backups/mydb_$(date +%Y%m%d).sql
- Execution mode: Show output
- Confirm before running: enabled
- Tooltip:
Dump the production database to ~/backups/
Step 4 — Use "Show output" strategically
Not every command needs Show output. A good rule:
| Use Silent for | Use Show output for | Use Open in terminal for |
|---|---|---|
| Service restarts | Builds and tests | Interactive processes (htop, vim, psql) |
| Simple triggers | Commands that can fail | Long-running streams (tail -f, docker logs -f) |
| Deploys you trust | Anything with meaningful stdout | SSH sessions |
Step 5 — Migrating to a new server
When your VPS is upgraded or migrated, you don't need to edit each button individually. Use multi-select to reassign all Backend buttons at once:
- Enter select mode (☑ in the header bar)
- Click each Backend button, or rubber-band select them all
- Click Machine in the action bar at the bottom
- Choose the new server
All selected buttons are updated in one operation.
Result
Two clean category tabs — Frontend and Backend — surface exactly the commands you need. Your terminal stays open for exploratory work; RemoteX handles the repetitive parts.
!!! tip Keep the number of buttons per category to around 6–10. More than that and it becomes as hard to navigate as the terminal.