grove

GitHub

Grove's GitHub features ride the gh CLI you already have — no token storage, no OAuth app. If gh is missing, logged out, or the project has no GitHub remote, the GitHub surfaces simply stay hidden rather than erroring; run gh auth login and they appear.

Creating a PR from a workspace

Every workspace has a PR button (top bar and hover card):

  • No PR yetCreate PR makes the pull request directly via gh, with the title and body filled from the branch's commits, then opens it. Draft or regular follows your setting in Settings → Git / GitHub; the button's menu offers the other mode, plus an "open the compare page" escape hatch if you'd rather write the PR by hand on github.com.
  • PR exists → the button reads PR #n and opens it; the menu adds Merge to base (squash and delete the branch, after a confirm). The button notices new PRs automatically — create one in the browser, tab back, and it flips to PR #n.

Grove never runs git push on its own — getting the branch onto origin is the agent's (or your) job. Ask the agent to push when it's done, or push from a workspace terminal.

GitHub in your notes

The ::grove-github directive embeds live GitHub data in any note:

  • ::grove-github{issues} / ::grove-github{prs} — live issue and PR lists for the repo, with state, label, assignee, and limit filters.
  • ::grove-github{issue=N} / {pr=N} — a single issue or PR card; the inline : form renders a compact pill for referencing an issue mid-sentence.

These are read-only and ride your gh login. A sprint note with the live bug list in it stays current by itself.

Current limitations

  • Merge is squash + delete-branch only.
  • No webhooks or background polling — PR state refreshes when you interact or refocus the window.