Projects & discovery

Rig works at the folder level. You point it at a directory, and it keeps a live list of every project inside.

Adding a folder

Click Add folder in the sidebar, or from the CLI:

terminal
$ rig add ~/Sites

Rig scans the folder for any project containing a package.json or deno.json, and watches for changes so new projects appear and deleted ones disappear automatically. Stop watching with rig remove <path>.

To run a single directory ad hoc without adding it to the watch set, use rig dev <path>.

Ports

Each project is assigned a free port in the 3000-9999range the first time it's seen. That port is persisted and stays with the project across restarts and reboots - it only changes if something else has taken it. If a stale process is holding a port, free it:

terminal
$ rig free-port 3001

Running dev servers

Start, stop, and restart from the project header, the tray, or the CLI:

terminal
$ rig start acme-storefront
$ rig restart dashboard-api
$ rig stop marketing-site

Rig always prefers your project's declared dev script (or tasks.devfor Deno), falling back to a framework default when there isn't one. It sets PORT and keeps output coloured, then captures stdout and stderr as logs.

Crash handling

  • Exits within 5 seconds of starting are marked Error and not retried.
  • Later crashes auto-restart once after a short delay, then stop.
  • Stopping a project is graceful: SIGTERM, then SIGKILL if needed.

Restoring on launch

Rig doesn't blindly start everything on launch. It restores the projects you had running - capturing intent rather than noise. A restore that fails just marks that one project and the rest carry on.

Next: Frameworks & detection