forge-agnostic git workflow for Neovim
- Lua 99.7%
- Shell 0.2%
| .forgejo | ||
| .github/workflows | ||
| doc | ||
| lua/forge | ||
| plugin | ||
| scripts | ||
| spec | ||
| .busted | ||
| .editorconfig | ||
| .gitignore | ||
| .luarc.json | ||
| biome.json | ||
| CONTRIBUTING.md | ||
| flake.lock | ||
| flake.nix | ||
| forge.nvim-scm-1.rockspec | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.yaml | ||
forge.nvim
Forge-agnostic git workflow for Neovim
PR, issue, and CI workflows across GitHub, GitLab, and Forgejo/Gitea/Codeberg — without leaving your editor.
Note
Due to GitHub's historic unreliability, active development is hosted on Forgejo. GitHub is maintained as a read-only mirror. See
:help forge-forgejofor canonical project links.
Features
- Work with PRs: list, create, review, open/close, draft, merge and more
- Issue workflows: list, create, edit, browse, close/reopen
- CI/CD: list runs, filter by status, inspect summaries, stream logs, etc.
- Releases: list, browse, copy links, filter drafts/prereleases, delete
- Browse forge URLs and yank commit-pinned source links for the current file/range
Requirements
- Neovim 0.10.0+
- tree-sitter-yaml for YAML issue form templates
- At least one forge CLI:
gh,glab, ortea - (Optionally) fzf-lua >= 0.40 for
interactive built-in routes (
require('forge').open()) and the picker API (require('forge.picker').pick()) - (Optionally) a code reviewing plugin:
diffview.nvim,codediff.nvim, ordiffs.nvim
Installation
With vim.pack (Neovim 0.12+):
vim.pack.add({
'https://git.barrettruth.com/barrettruth/forge.nvim',
})
Or via luarocks:
luarocks install forge.nvim
Quick Start
Check that forge.nvim can see the CLI for the current repository's forge:
:checkhealth forge
Create an issue from a template; Forge opens a compose buffer, and :w submits
it:
:Forge issue create template=bug
Open the PR picker and press <c-a> to create a PR from the current branch:
:lua require('forge').open('prs.open')
Close the current branch's PR from Ex mode:
:Forge pr close
Inspect CI for the current branch's PR without leaving Ex mode:
:Forge pr ci
Documentation
:help forge