{"id":13587525,"url":"https://github.com/meiji163/gh-notify","last_synced_at":"2025-12-29T23:22:29.985Z","repository":{"id":41373597,"uuid":"417606553","full_name":"meiji163/gh-notify","owner":"meiji163","description":"GitHub CLI extension to display GitHub notifications","archived":false,"fork":false,"pushed_at":"2024-11-30T04:25:00.000Z","size":119,"stargazers_count":211,"open_issues_count":5,"forks_count":21,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-30T05:21:15.782Z","etag":null,"topics":["cli","gh-extension","github-api","notifications"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meiji163.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-15T19:01:52.000Z","updated_at":"2024-11-19T11:56:44.000Z","dependencies_parsed_at":"2024-03-17T05:05:28.137Z","dependency_job_id":"21cc836c-0f9c-4d75-ab00-26febb8ed5e2","html_url":"https://github.com/meiji163/gh-notify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meiji163%2Fgh-notify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meiji163%2Fgh-notify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meiji163%2Fgh-notify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meiji163%2Fgh-notify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meiji163","download_url":"https://codeload.github.com/meiji163/gh-notify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247740745,"owners_count":20988262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","gh-extension","github-api","notifications"],"created_at":"2024-08-01T15:06:15.073Z","updated_at":"2025-12-29T23:22:29.934Z","avatar_url":"https://github.com/meiji163.png","language":"Shell","funding_links":[],"categories":["Shell","GitHub","⭐ Most Starred","cli","Github","Notifications"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# GitHub CLI Notification Extension\nA [gh](https://github.com/cli/cli) extension to view your GitHub notifications from the command line.\n\nhttps://github.com/meiji163/gh-notify/assets/92653266/b7d7fcdb-8a25-43fc-8f63-d11f30960084\n\n \u003c/div\u003e\n\n## Install\n\nMake sure you have [GitHub CLI (gh)](https://github.com/cli/cli#installation) installed.\n\n```sh\n# install\ngh ext install meiji163/gh-notify\n# upgrade\ngh ext upgrade meiji163/gh-notify\n# uninstall\ngh ext remove meiji163/gh-notify\n```\n\nTo use `gh notify` interactively, install these tools as well:\n- [Fuzzy Finder (fzf)](https://github.com/junegunn/fzf#installation) - This allows for\n  interaction with listed data.\n- [Python](https://www.python.org/) - In cases where `gh` can't open the `URL` in your browser, this\n  one-liner is used as a cross-platform solution: `python -m webbrowser \u003cURL\u003e`\n\n## Usage\n\n```sh\ngh notify [Flags]\n```\n\n| Flags    | Description                                             | Example                                              |\n| -------- | ------------------------------------------------------- | ---------------------------------------------------- |\n| \u003cnone\u003e   | show all unread notifications                           | `gh notify`                                          |\n| `-a`     | show all (read/ unread) notifications                   | `gh notify -a`                                       |\n| `-e`     | exclude notifications matching a string (REGEX support) | `gh notify -e \"MyJob\"`                               |\n| `-f`     | filter notifications matching a string (REGEX support)  | `gh notify -f \"Repo\"`                                |\n| `-h`     | show the help page                                      | `gh notify -h`                                       |\n| `-n NUM` | max number of notifications to show                     | `gh notify -an 10`                                   |\n| `-p`     | show only participating or mentioned notifications      | `gh notify -ap`                                      |\n| `-r`     | mark all notifications as read                          | `gh notify -r`                                       |\n| `-s`     | print a static display                                  | `gh notify -an 10 -s`                                |\n| `-u URL` | (un)subscribe a URL, useful for issues/prs of interest  | `gh notify -u https://github.com/cli/cli/issues/659` |\n| `-w`     | display the preview window in interactive mode          | `gh notify -an 10 -w`                                |\n\n### Key Bindings fzf\n\n| Keys                           | Description                                         | Customization Environment Variable |\n| ------------------------------ | --------------------------------------------------- | ---------------------------------- |\n| \u003ckbd\u003e?\u003c/kbd\u003e                   | toggle help                                         | `GH_NOTIFY_TOGGLE_HELP_KEY`        |\n| \u003ckbd\u003eenter\u003c/kbd\u003e               | view the selected notification in the 'less' pager  | `GH_NOTIFY_VIEW_KEY`               |\n| \u003ckbd\u003etab\u003c/kbd\u003e                 | toggle notification preview                         | `GH_NOTIFY_TOGGLE_PREVIEW_KEY`     |\n| \u003ckbd\u003eshift\u003c/kbd\u003e\u003ckbd\u003etab\u003c/kbd\u003e | resize the preview window                           | `GH_NOTIFY_RESIZE_PREVIEW_KEY`     |\n| \u003ckbd\u003eshift\u003c/kbd\u003e\u003ckbd\u003e↑↓\u003c/kbd\u003e  | scroll the preview up/ down                         |                                    |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003ea\u003c/kbd\u003e    | mark all displayed notifications as read and reload | `GH_NOTIFY_MARK_ALL_READ_KEY`      |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003eb\u003c/kbd\u003e    | browser                                             | `GH_NOTIFY_OPEN_BROWSER_KEY`       |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003ed\u003c/kbd\u003e    | view diff                                           | `GH_NOTIFY_VIEW_DIFF_KEY`          |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003ep\u003c/kbd\u003e    | view diff in patch format                           | `GH_NOTIFY_VIEW_PATCH_KEY`         |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003er\u003c/kbd\u003e    | reload                                              | `GH_NOTIFY_RELOAD_KEY`             |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003et\u003c/kbd\u003e    | mark the selected notification as read and reload   | `GH_NOTIFY_MARK_READ_KEY`          |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003ex\u003c/kbd\u003e    | write a comment with the editor and quit            | `GH_NOTIFY_COMMENT_KEY`            |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003ey\u003c/kbd\u003e    | toggle the selected notification                    | `GH_NOTIFY_TOGGLE_KEY`             |\n| \u003ckbd\u003eesc\u003c/kbd\u003e                 | quit                                                |                                    |\n\n### Table Format\n\n| Field         | Description                                                  |\n| ------------- | ------------------------------------------------------------ |\n| unread symbol | indicates unread status                                      |\n| time          | time of last read for unread; otherwise, time of last update |\n| repo          | related repository                                           |\n| type          | notification type                                            |\n| number        | associated number                                            |\n| reason        | trigger reason                                               |\n| title         | notification title                                           |\n\n---\n\n## Customizations\n\n### Fuzzy Finder (fzf)\nYou can customize the `fzf` key bindings by exporting `ENVIRONMENT VARIABLES` to your `.bashrc` or\n`.zshrc`. For `AVAILABLE KEYS/ EVENTS`, refer to the `fzf` man page or visit\n[junegunn/fzf#environment-variables](https://github.com/junegunn/fzf#environment-variables) on\nGitHub.\n\n- **NOTE**: [How to use ALT commands in a terminal on macOS?](https://superuser.com/questions/496090/how-to-use-alt-commands-in-a-terminal-on-os-x)\n\n```sh\n# ~/.bashrc or ~/.zshrc\n# The examples below enable you to clear the input query with alt+c,\n# jump to the first/last result with alt+u/d, refresh the preview window with alt+r\n# and scroll the preview in larger steps with ctrl+w/s.\nexport FZF_DEFAULT_OPTS=\"\n--bind 'alt-c:clear-query'\n--bind 'alt-u:first,alt-d:last'\n--bind 'alt-r:refresh-preview'\n--bind 'ctrl-w:preview-half-page-up,ctrl-s:preview-half-page-down'\"\n```\n\n#### GH_NOTIFY_FZF_OPTS\nThis environment variable lets you specify additional options and key bindings to customize the\nsearch and display of notifications. Unlike `FZF_DEFAULT_OPTS`, `GH_NOTIFY_FZF_OPTS` specifically\napplies to the `gh notify` extension.\n\n```sh\n# --exact: Enables exact matching instead of fuzzy matching.\nGH_NOTIFY_FZF_OPTS=\"--exact\" gh notify -an 5\n```\n\n```sh\n# With the height flag and ~, fzf adjusts its height based on input size without filling the entire screen.\n# Requires fzf +0.34.0\nGH_NOTIFY_FZF_OPTS=\"--height=~100%\" gh notify -an 5\n```\n\n#### Modifying Keybindings\nYou can also customize the keybindings created by this extension to avoid conflicts with\nthe ones defined by `fzf`. For example, change `ctrl-p` to `ctrl-u`:\n\n```sh\nGH_NOTIFY_VIEW_PATCH_KEY=\"ctrl-u\" gh notify\n```\n\nOr, switch the binding for toggling a notification and toggling the preview.\n```sh\nGH_NOTIFY_TOGGLE_KEY=\"tab\" GH_NOTIFY_TOGGLE_PREVIEW_KEY=\"ctrl-y\" gh notify\n```\n\n**NOTE:** The assigned key must be a valid key listed in the `fzf` man page:\n\n```sh\nman --pager='less -p \"^\\s+AVAILABLE_KEYS\"' fzf\n```\n\n### GitHub Command Line Tool (gh)\nIn the `gh` tool's config file, you can specify your preferred editor. This is particularly useful\nwhen you use the \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003ex\u003c/kbd\u003e hotkey to comment on a notification.\n\n```sh\n# To see more details\ngh config\n# For example, you can set the editor to Visual Studio Code or Vim.\ngh config set editor \"code --wait\"\ngh config set editor vim\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeiji163%2Fgh-notify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeiji163%2Fgh-notify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeiji163%2Fgh-notify/lists"}