Cloud Development

Daily Workflow

Day-to-day usage of your cloud development environment.

Daily Workflow

Once your cloud environment is set up, here's how to use it day-to-day.

Starting Your Day

1. Start Your Instance (if stopped)

./ds cloud-dev start

Wait for the instance to be running:

./ds cloud-dev list

2. Connect

./ds cloud-dev ssh
# Or use the configured alias:
ssh devstride-yourname

3. Start Development

cd ~/dev/devstride
git pull                # Get latest changes
./ds run backend        # Start backend server

In a second terminal (or tmux):

./ds run ui             # Start frontend

Remote Commands

Run commands on your cloud instance from your local terminal:

# Start/stop services
./ds cloud-dev start-backend     # Start backend (./ds run backend)
./ds cloud-dev stop-backend      # Stop backend process
./ds cloud-dev start-frontend    # Start frontend (./ds run ui)
./ds cloud-dev stop-frontend     # Stop frontend process

# Database operations
./ds cloud-dev run-migrations    # Run database migrations
./ds cloud-dev reset-database    # Reset database from source

End of Day

Stop your instance to save costs:

./ds cloud-dev stop

Your data is preserved on the EBS volume. When stopped, you only pay for storage (~$8/month).

Checking Status

# List all your instances
./ds cloud-dev list

# Get connection info
./ds cloud-dev info

Multiple Instances

Create additional instances for different work:

./ds cloud-dev create -i 2       # Creates devstride-dev-yourname-2
./ds cloud-dev ssh -i 2          # Connect to instance 2
./ds cloud-dev stop -i 2         # Stop instance 2

Using VS Code Remote

  1. Install the "Remote - SSH" extension in VS Code
  2. Open Command Palette: Remote-SSH: Connect to Host
  3. Select devstride-yourname (automatically configured)
  4. Open folder: /home/ec2-user/dev/devstride

Using Claude Code

Claude Code is pre-installed on your instance:

# First time: authenticate
claude

# Then use normally
claude "explain this function"

Tips

Keep SSH Alive

The SSH config is automatically set with keepalive settings, but if you experience disconnects, add to your local ~/.ssh/config:

Host devstride-*
    ServerAliveInterval 60
    ServerAliveCountMax 3

Use tmux for Persistent Sessions

# Start a named session
tmux new -s dev

# Detach: Ctrl+B, then D
# Reattach:
tmux attach -t dev

Quick Backend Restart

# On the instance
pkill -f 'sst dev' && ./ds run backend