goto-clipboard-assist
v0.1.11
Published
Background daemon: Jira ticket ID → URL clipboard replacement and GitHub repo navigation
Readme
GoTo Clipboard Assist
A background daemon that monitors your clipboard and provides smart navigation for Jira ticket IDs and GitHub repository names.
Features
- Jira: Copy a ticket ID like
NG-66875→ clipboard is instantly replaced with the full browse URL - GitHub: Copy a partial repo name → get a notification to navigate directly to the matched repo(s)
- System tray icon with menu for config and control
- Config UI at
http://localhost:6789for all settings
Prerequisites
- Node.js 18+
- macOS or Windows (Linux not supported in v0.1)
Optional / Feature-specific
| Prerequisite | Required for | Install |
|---|---|---|
| gh CLI | GitHub repo matching | brew install gh / Windows |
| terminal-notifier | Notification action buttons on macOS | brew install terminal-notifier |
Without
ghCLI: GitHub feature is disabled; Jira still works.
Withoutterminal-notifieron macOS: notifications appear but action buttons (Open/View) are absent.
Installation
npm install -g goto-clipboard-assistUsage
goto-clipboard-assistThe daemon starts in the background with a system-tray icon. Configure it at:
http://localhost:6789Press Ctrl+C or select Quit from the tray to stop.
GitHub Feature Setup
- Install and authenticate
ghCLI:gh auth login - Open the config UI at
http://localhost:6789 - Enable GitHub and configure options
- Restart the daemon
Configuration
All settings are stored at ~/.config/goto-clipboard-assist/config.json.
| Field | Default | Description |
|---|---|---|
| jiraBaseUrl | https://jira.ops.expertcity.com | Base URL for Jira instance (must be http/https) |
| jiraPattern | [A-Z]+-\d+ | Regex pattern for Jira ticket IDs |
| configPort | 6789 | Port for config web UI (restart required) |
| pollingIntervalMs | 500 | How often to check clipboard (ms) |
| openNotification | true | Show system notifications |
| replaceClipboard | false | Replace clipboard contents with Jira URL on match (opt-in) |
| github.enabled | false | Enable GitHub repo matching |
| github.minMatchLength | 5 | Minimum clipboard text length to trigger GitHub check |
| github.cacheIntervalMs | 900000 | Repo list cache TTL in ms (15 min). Changing this requires a restart. |
| github.maxRepos | 1000 | Maximum repos to fetch from gh repo list |
| github.org | "" | Org filter for gh repo list (empty = all accessible repos) |
Known Limitations
- macOS and Windows only (no Linux in v0.1)
- GitHub repo list is limited to
maxRepos(default 1000); increase if repos are missing - Cache interval changes require a daemon restart to take effect
- Repo names are owner-qualified (e.g.
expertcity/my-repo) — partial match works against the full name
