picker-based forge workflow for Neovim
Find a file
2026-03-27 18:17:23 -04:00
.github more tweaks 2026-03-27 18:17:12 -04:00
doc ci: format 2026-03-27 18:17:23 -04:00
lua/forge more tweaks 2026-03-27 18:08:42 -04:00
plugin ci: format 2026-03-27 17:19:09 -04:00
.editorconfig feat: initial commit 2026-03-27 16:46:28 -04:00
.gitignore feat: initial commit 2026-03-27 16:46:28 -04:00
.luarc.json feat: initial commit 2026-03-27 16:46:28 -04:00
.pre-commit-config.yaml feat: initial commit 2026-03-27 16:46:28 -04:00
.prettierignore feat: initial commit 2026-03-27 16:46:28 -04:00
.prettierrc feat: initial commit 2026-03-27 16:46:28 -04:00
flake.lock more tweaks 2026-03-27 18:17:12 -04:00
flake.nix more tweaks 2026-03-27 18:17:12 -04:00
forge.nvim-scm-1.rockspec feat: initial commit 2026-03-27 16:46:28 -04:00
LICENSE feat: initial commit 2026-03-27 16:46:28 -04:00
README.md more tweaks 2026-03-27 18:17:12 -04:00
selene.toml feat: initial commit 2026-03-27 16:46:28 -04:00
stylua.toml feat: initial commit 2026-03-27 16:46:28 -04:00
vim.yaml feat: initial commit 2026-03-27 16:46:28 -04:00

forge.nvim

Forge-agnostic git workflow for Neovim

PR, issue, and CI workflows across GitHub, GitLab, and more — without leaving your editor.

Features

  • Forge detection from git remote (GitHub via gh, GitLab via glab, Codeberg/Gitea/Forgejo via tea)
  • PR lifecycle: list, create, checkout, review, merge, approve, close/reopen, draft toggle
  • Issue management: list, browse, close/reopen
  • CI/CD: view runs, stream logs, filter by status
  • PR compose buffer with diff stat, template discovery, and syntax highlighting
  • Code review via diffs.nvim unified/split diff with quickfix navigation
  • Commit browsing with checkout, diff review, and URL yanking
  • Branch browsing with diff review and remote links
  • Worktree creation from PRs
  • File/line permalink generation (commit and branch URLs)
  • fzf-lua pickers with contextual keybinds throughout

Dependencies

  • Neovim 0.10.0+
  • fzf-lua
  • At least one forge CLI:
    • gh for GitHub
    • glab for GitLab
    • tea for Codeberg/Gitea/Forgejo
  • vim-fugitive (optional, for fugitive keymaps)
  • diffs.nvim (optional, for review mode)

Installation

Install with your package manager of choice or via luarocks:

luarocks install forge.nvim

Documentation

:help forge.nvim

FAQ

Q: How do I create a PR?

Press <c-g> to open the forge picker, select "Pull Requests", then <ctrl-a> to create. Or from a fugitive buffer: cpr (create), cpd (draft), cpf (instant), cpw (web).

Q: Does forge.nvim support review diffs?

Yes, with diffs.nvim installed. Select a PR and press <ctrl-d> to enter review mode with unified diff. Press s to toggle split/unified view. Navigate files with ]q/[q.