{"id":41374559,"url":"https://github.com/NotAShelf/gh-notify","last_synced_at":"2026-02-01T20:00:50.613Z","repository":{"id":305189130,"uuid":"1022204236","full_name":"NotAShelf/gh-notify","owner":"NotAShelf","description":"GitHub CLI extension to display GitHub notifications","archived":false,"fork":false,"pushed_at":"2025-11-24T20:42:44.000Z","size":137,"stargazers_count":6,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T11:52:56.032Z","etag":null,"topics":["cli","gh-extension","github-api"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NotAShelf.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,"zenodo":null}},"created_at":"2025-07-18T16:22:46.000Z","updated_at":"2025-09-05T19:31:24.000Z","dependencies_parsed_at":"2025-07-18T20:49:28.960Z","dependency_job_id":"fb3dd490-0a9a-492a-89db-44299972054b","html_url":"https://github.com/NotAShelf/gh-notify","commit_stats":null,"previous_names":["notashelf/gh-notify"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/NotAShelf/gh-notify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2Fgh-notify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2Fgh-notify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2Fgh-notify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2Fgh-notify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NotAShelf","download_url":"https://codeload.github.com/NotAShelf/gh-notify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotAShelf%2Fgh-notify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28988406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T18:17:03.387Z","status":"ssl_error","status_checked_at":"2026-02-01T18:16:57.287Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"],"created_at":"2026-01-23T10:00:30.301Z","updated_at":"2026-02-01T20:00:50.607Z","avatar_url":"https://github.com/NotAShelf.png","language":"Go","funding_links":[],"categories":["🧩 Categories"],"sub_categories":["Productivity / Workflow"],"readme":"\u003c!-- markdownlint-disable MD013 MD033--\u003e\n\u003ch1 id=\"header\" align=\"center\"\u003e\n    \u003cpre\u003egh-notify\u003c/pre\u003e\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca alt=\"CI\" href=\"https://github.com/NotAShelf/gh-notify/actions\"\u003e\n        \u003cimg\n          src=\"https://github.com/NotAShelf/gh-notify/actions/workflows/build.yml/badge.svg\"\n          alt=\"Build Status\"\n        /\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  A \u003ca alt=\"gh-url\" href=\"https://github.com/cli/cli\"\u003egh\u003c/a\u003e\n  extension to view your GitHub notifications from the command line.\n\u003c/div\u003e\n\n## Install\n\n### Dependencies\n\n[GitHub CLI (gh)]: https://github.com/cli/cli#installation\n\n- [GitHub CLI (gh)]\n\n### Installing/Upgrading/Uninstalling\n\n```sh\n# Install\ngh ext install NotAShelf/gh-notify\n\n# Upgrade\ngh ext upgrade NotAShelf/gh-notify\n\n# Uninstall\ngh ext remove NotAShelf/gh-notify\n```\n\n## Usage\n\n```sh\ngh notify [Flags]\n```\n\n|     Flag / Option     | Description                                             | Example                                              |\n| :-------------------: | ------------------------------------------------------- | ---------------------------------------------------- |\n|        \u003cnone\u003e         | show all unread notifications                           | `gh notify`                                          |\n|      `-a, --all`      | show all (read/unread) notifications                    | `gh notify -a`                                       |\n|    `-e, --exclude`    | exclude notifications matching a string (REGEX support) | `gh notify -e \"MyJob\"`                               |\n|    `-f, --filter`     | filter notifications matching a string (REGEX support)  | `gh notify -f \"Repo\"`                                |\n|     `-h, --help`      | show the help page                                      | `gh notify -h`                                       |\n|    `-n, --num NUM`    | max number of notifications to show                     | `gh notify -n 10`                                    |\n| `-p, --participating` | show only participating or mentioned notifications      | `gh notify -p`                                       |\n|   `-r, --mark-read`   | mark all notifications as read                          | `gh notify -r`                                       |\n|    `-s, --static`     | print a static display                                  | `gh notify -s`                                       |\n|    `-u, --url URL`    | (un)subscribe a URL, useful for issues/prs of interest  | `gh notify -u https://github.com/cli/cli/issues/659` |\n\n### Configuration\n\nYou can configure `gh-notify` using either environment variables or a TOML\nconfig file. All configuration options can be set via environment variables, or\nby creating a config file named `gh-notify.toml` in\n`$HOME/.config/gh-notify/gh-notify.toml` or the current working directory.\n\nExample `gh-notify.toml`:\n\n```toml\nGH_NOTIFY_VIEW_KEY = \"enter\"\nGH_NOTIFY_TOGGLE_PREVIEW_KEY = \"tab\"\nGH_NOTIFY_TOGGLE_HELP_KEY = \"?\"\nGH_NOTIFY_DEBUG_MODE = false\nGH_NOTIFY_CACHE_ENABLED = true\nGH_NOTIFY_CACHE_DURATION = \"5m\"\nGH_NOTIFY_VERBOSE = false\n```\n\nEnvironment variables always override config file values.\n\n#### Cache\n\n- `GH_NOTIFY_CACHE_ENABLED`: Enable/disable API response caching (default: true)\n- `GH_NOTIFY_CACHE_DURATION`: Cache duration as Go time string (default: \"5m\",\n  e.g. \"10m\", \"1h\")\n\n#### Verbose\n\n- `GH_NOTIFY_VERBOSE`: Enable verbose logging for cache/API/debug (default:\n  false)\n\n### Key Bindings\n\n| Key              | 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\u003eesc\u003c/kbd\u003e   | quit                                               |                                    |\n\n## Customizing\n\n### GitHub Command Line Tool (gh)\n\nIn the `gh` tool's config file, you can specify your preferred editor. This is\nparticularly useful when you use the \u003ckbd\u003ectrl\u003c/kbd\u003e\u003ckbd\u003ex\u003c/kbd\u003e hotkey to\ncomment on a notification.\n\n```sh\n# To see more details\ngh config\n\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\n## Attributions\n\n[gh-notify]: https://github.com/meiji163/gh-notify\n\nThis repository is a structured Go port of [gh-notify], a gh extension bearing\nthe same name. I have elected to port it to Go for two specific reasons:\n\n1. I am a firm believer that Bash is only suitable for _small_ scripts. As the\n   size of a project grows, it becomes more unmaintainable. Go is a simple\n   enough language that offsets this cost. Writing extensions when the target\n   API provides a Go library also strikes me as counter-intuitive.\n2. Rust API for writing gh extension seems a little immature. I also don't think\n   the size of this project warrants a full Rust port, since the surface is\n   relatively small.\n\nThat said, I would like to extend my thanks to the original author for their\nproject. Most of the logic for this project is _directly_ ported into Go,\nstripping Bash idioms for Go where applicable. If upstream updates their\nextension, I'll attempt to retain feature parity with full\nbackwards-compatibility.\n\n## License\n\nThis project is available under [Mozilla Public License v2.0](LICENSE). Please\nsee the license file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNotAShelf%2Fgh-notify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNotAShelf%2Fgh-notify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNotAShelf%2Fgh-notify/lists"}