Nova

Extensions


Readme

GitHub for Nova

A native GitHub integration for Nova that brings issues and pull requests into your sidebar — with full read/write capabilities and smart caching to avoid rate limits.

This extension is still in early development. Use with caution — although rate limit protection is built in, you may still encounter GitHub API limits under heavy usage.

Features

  • Browse Repositories View and switch between configured GitHub repositories directly from the sidebar.

  • Issues & Pull Requests See open and closed issues and PRs in real time, including:

  • Author, assignees, labels, milestone

  • Comments (up to 25 lines previewed)
  • Special status: duplicate, not planned, completed, merged, etc.
  • Draft status for pull requests

  • Auto-Refresh with Smart Throttling Refreshes automatically at your defined interval — but only if needed. Skips API calls if data was recently fetched.

  • Caching & Offline Support Caches everything to disk:

  • Issues and PRs

  • Comments and review comments
  • ETags to minimize bandwidth Falls back to cached data when rate-limited or offline.

  • Actions

  • Create new issue or pull request

  • Close or reopen issues (with reason support)
  • Open any item in the browser
  • Copy URLs for sharing

  • Secure Token Storage Your GitHub token is stored in the macOS Keychain. Never in plaintext.

Notes

  • Pull requests are enhanced with merge and draft info via an extra API call per PR.
  • The extension avoids unnecessary requests and skips fetching if the view is unchanged.
  • Supports both public and private repositories (as long as the token is valid).

🔒 Privacy

All authentication is handled via your own GitHub token. No external servers or tracking.


Changelog

Version 1.0

Initial release


License

MIT License

Copyright (c) 2025 Toni Förster

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Help

Configuration

In Nova's Extension Settings:

Required

  • GitHub Username – Your GitHub username or organization name.
  • Personal Access Token – A GitHub token with appropriate scopes; stored securely in the Keychain.
  • Repositories – A list of repositories in repo format.

Token

Paste your GitHub Personal Access Token into the Token field. It will be securely stored using the system Keychain and no longer visible after saving.

Optional

  • Refresh Interval – How often to auto-refresh data (in minutes).
  • Items per Page – The GitHub API pagination size.
  • Max Recent Items – Maximum number of issues and PRs to fetch.