Use this skill when the user asks for the app to be started or stopped locally, for example:
start the rails serverboot this branch locallyfind an open port and run the appgive me the local URL for this worktreestop the local Rails server
Goal
Start exactly one local development stack for the current worktree and return a reachable worktree-specific .localhost URL.
Read parallel Rails details for command variants, launcher behavior, failure handling, and output rules.
Workflow
- Run
parallel rails sfrom the target Rails app root. - Let it attach a Zellij session when available, with a prominent working shell plus smaller selectable service panes for:
bin/rails serverbin/rails tailwindcss:watchbundle exec sidekiq
- Let it pick the next free port starting at
3000when no port is specified. - Return the URL printed on stdout. Use that URL instead of
localhost:<port>so each worktree gets separate browser cookies.
Command
Run from the target Rails repo root:
parallel rails s
If the user explicitly wants a specific port, pass it as a bare argument or with --port:
parallel rails s 3107
parallel rails s --port 3107
Stop the three terminals for the current worktree:
parallel rails s stop
Check whether the stack is tracked as running:
parallel rails s status
If the user explicitly wants a URL host, pass it through:
parallel rails s --hostname backburner-3.localhost
Behavior
- Treat the current working directory as the target worktree.
- Require
bin/railsto exist in that directory. - Refuse to start a duplicate stack when tracked terminals are already running for the same worktree.
- Start Rails in
developmentand bind it to127.0.0.1. - Return
http://<worktree-name>.localhost:<port>by default, sanitized as a DNS label. - Keep browser sessions isolated across worktrees by avoiding shared
localhostcookies. - Print only the final URL on success so the caller can relay it directly.