jump.sh

Zero-setup HTTPS for local dev

Real URLs. Valid certs. No config.

Install

npx jumpsh install

Installs the daemon as a system service. That's it — no DNS config, no cert generation, no sudo.

Add a project

cd ~/projects/myapp
npx jumpsh add

Your project is now available at https://myapp.jump.sh

🤖 Built for AI agents

Coding agents need stable, predictable URLs to verify their work. localhost:3000 doesn't cut it when you're running multiple projects, worktrees, or parallel agent sessions.

jump.sh gives every project and branch a permanent URL that agents can screenshot, test, and verify — without port conflicts or manual setup.

How it runs projects

Docker Compose projects

If your project has a docker-compose.yml, jump.sh spins up containers and proxies to them. Each project runs isolated with its own network.

Node.js projects

For projects with package.json, jump.sh runs your dev command (npm run dev, npm start, etc.) and proxies to the dev server port.

Automatic port allocation

No more port conflicts. jump.sh allocates ports from a dedicated range (10000+) and tracks them in a local database. Each project gets a stable port across restarts.

Git worktrees

Working on multiple branches? jump.sh auto-discovers .worktrees/ directories and gives each branch its own URL:

https://myapp.jump.sh           → main branch
https://myapp--feature-x.jump.sh → .worktrees/feature-x

Run jumpsh add on the main project once. Worktrees are picked up automatically via periodic scanning — no need to register each branch.

Why worktrees matter for agents

When an agent works on a feature branch, it needs to test against that branch, not whatever's running on the main project URL. Worktree URLs let agents verify their changes in isolation without stepping on other work.

Supervisor agents can monitor multiple feature branches simultaneously, each at a predictable URL derived from the branch name.

Commands

How it works

*.jump.sh resolves to 127.0.0.1 via public DNS — no local DNS setup needed. The daemon runs on your machine, terminates TLS with a shared wildcard certificate, and proxies requests to your dev servers based on subdomain.

Browser → https://myapp.jump.sh
       → DNS: 127.0.0.1
       → jumpsh daemon (TLS termination)
       → localhost:10042 (your dev server)

Requirements