git-notes for Visual Studio Code & Cursor
Decentralized, vendor-neutral code reviews and line annotations stored directly in your Git repository.
⚡ What is git-notes?
git-notes enables permanent, decentralized code reviews and contextual comments without vendor lock-in. Instead of being locked inside GitHub PR databases or GitLab issues, all notes, comment threads, reviews, and resolution states are content-addressed and synchronized using standard Git refs (refs/notes/*).
This extension integrates git-notes directly into your editor with editor gutter icons, inlay hints, contextual menus, and an interactive thread webview.
✨ Features
- 📌 Editor Gutter Annotations: Visually indicates lines with open comments, pending reviews, or unresolved discussion threads.
- 💡 Inlay Hints: View note authors, timestamps, and thread snippets inline alongside your code.
- 💬 Interactive Discussion Panel: View the entire threaded conversation, reply to comments, approve, reject, or mark notes as resolved.
- 🔄 Automatic Synchronization: Automatically fetches and merges notes when switching branches, opening projects, or saving files.
- ⚡ Zero Vendor Lock-in: All discussion data lives right inside your
.git folder and pushes/pulls with your standard Git remote (origin).
- 🛠️ Seamless CLI Integration: Powered by the ultra-fast Rust
git-notes CLI.
🚀 Quick Start
1. Prerequisites
Ensure you have the git-notes CLI binary installed on your PATH:
# Via Cargo (cross-platform):
cargo install gn-cli --bin git-notes
# Or download prebuilt binaries from GitHub Releases:
# https://github.com/isaim0011/git-notes/releases
2. Adding a Note
- Open any file in your Git repository.
- Select a line range and press
Alt+N (Mac: Cmd+Option+N) or right-click and select git-notes: Add Note.
- Type your comment and press Enter. A note is created and anchored to that exact line and commit!
3. Viewing & Replying to Threads
- Press
Alt+Shift+N (Mac: Cmd+Option+Shift+N) or click any gutter annotation to open the git-notes: Show Note Thread panel.
- Press
Alt+S (Mac: Cmd+Option+S) to instantly sync notes with refs/notes/* on your remote.
- The rich thread webview allows you to review the discussion, reply to teammates, or resolve issues.
4. ⌨️ Default Keyboard Shortcuts
| Keybinding (Win/Linux) |
Keybinding (macOS) |
Command |
Alt+N |
Cmd+Alt+N |
git-notes: Add Note |
Alt+Shift+N |
Cmd+Alt+Shift+N |
git-notes: Show Note Thread |
Alt+S |
Cmd+Alt+S |
git-notes: Sync Notes |
5. CLI Quickies Integration
Run quickies inside your integrated VS Code / Cursor terminal:
gn a -f file.rs -l 10 -m "..." (quickie add)
gn l (compact numbered table)
gn shortcuts (cheat sheet & custom binding configuration)
⚙️ Configuration Settings
Customize git-notes to match your team's workflow in Settings (Ctrl+, or Cmd+,):
| Setting |
Default |
Description |
git-notes.binaryPath |
"git-notes" |
Absolute path or PATH executable name for the git-notes CLI. |
git-notes.autoSync |
false |
Automatically pull and push notes on file save and periodic intervals. |
git-notes.defaultNamespace |
"comments" |
Default namespace for new notes (comments, review, todos). |
⌨️ Commands
| Command |
Title |
Context |
git-notes.add |
git-notes: Add Note |
Editor Context Menu & Command Palette |
git-notes.showPanel |
git-notes: Show Note Thread |
Editor Context Menu & Command Palette |
git-notes.list |
git-notes: List Notes |
Command Palette |
git-notes.sync |
git-notes: Sync Notes |
Command Palette |
🔗 Ecosystem
📄 License
Dual-licensed under either MIT or Apache 2.0 at your option.