Herdr plugin that starts a new tab from a GitHub issue, PR, or discussion.
Press a keybind, paste a GitHub URL, choose codex or claude, and the plugin
creates a named tab, starts the agent in the tab's root pane, renames the agent
session, and sends a short discussion prompt.
herdr plugin install ogulcancelik/herdr-plugin-github-startFor local development:
git clone https://github.com/ogulcancelik/herdr-plugin-github-start.git
cd herdr-plugin-github-start
herdr plugin link .Add a Herdr keybind:
[[keys.command]]
key = "alt+g"
type = "plugin_action"
command = "ogulcancelik.github-start.open"
description = "start from github"Then reload Herdr config:
herdr server reload-configInvoke the action and paste any of these:
https://github.com/ogulcancelik/herdr/issues/614
https://github.com/ogulcancelik/herdr/discussions/12
https://github.com/ogulcancelik/herdr/pull/99
issue 614
discussion 12
#614
The plugin creates names like gh-issue-614, gh-discussion-12, or
gh-pr-99.
On first run, the plugin copies config.example.json into Herdr's plugin config
directory as config.json.
Find it with:
herdr plugin config-dir ogulcancelik.github-startEdit config.json to change the default agent, commands, prompt, tab label,
session id shape, or timing:
{
"defaultAgent": "codex",
"agents": {
"codex": {
"command": "codex",
"renameCommand": "/rename {sessionId}"
},
"claude": {
"command": "claude",
"renameCommand": "/rename {sessionId}"
}
},
"promptTemplate": "see {url}, lets discuss the problem,shape,kiss fix",
"tabLabelTemplate": "{sessionId} {repoName}",
"sessionIdTemplate": "gh-{kind}-{number}"
}Available template values include {url}, {raw}, {repo}, {repoName},
{kind}, {number}, and {sessionId}.
- Requires Herdr
0.7.0or newer. - Requires Node.js 18 or newer.
- Uses no npm packages.
- The agent pane starts through
herdr pane run, notherdr agent start, so exiting Codex or Claude returns to the shell instead of closing the pane. - The plugin sends slash commands after a short delay. If your terminal or agent
starts slowly, increase values under
timinginconfig.json.