One session per Linear issue
The first webhook starts an agent session; every comment after that resumes it. Switch labels to flip between Claude / Codex / OpenCode / Antigravity / Hermes — each runner has its own resumable session.
npx june@latest setupOne command. Runs the interactive wizard — Linear key, team, webhook + tunnel, runners. No global install needed; if you want one, npm i -g june.
One session per Linear issue
The first webhook starts an agent session; every comment after that resumes it. Switch labels to flip between Claude / Codex / OpenCode / Antigravity / Hermes — each runner has its own resumable session.
BYO runner CLI
No vendor lock-in. june spawns the runner CLI you already have logged in on the host. Five supported out of the box; add another by writing one ~200-line runner module.
Self-hosted, MIT-licensed
No SaaS. Runs on a Linux VPS, a Mac mini, or your laptop. Linear is the only outbound dependency; the webhook ingress is whatever you can stand up (cloudflared / ngrok / tailscale / your reverse proxy).
june is webhook-driven. A sleeping laptop drops or delays the experience, so the recommended setups are a Linux VPS (€4–8/mo) or a dedicated Mac mini left plugged in. A laptop works while it’s open and on power — fine for trying it out, not great for unattended runs.
The deployment guide covers all three: where to run it → (includes the macOS pmset recipe for never-sleep, auto-login after a power blip, and clamshell mode for laptops).
Ready for Review or Blocked.Full mechanics in concepts. The CLI surface is jun setup, jun start, jun stop, jun status, jun logs, jun doctor, jun install-service, jun config — see setup for the walkthrough.
MIT. Source on GitHub.