Emacs front-end for Forgejo instances (Codeberg, self-hosted, etc.).

  • Browse, filter, and view issues and pull requests
  • Submit and merge PRs via AGit-Flow push options
  • Full code review workflow with threaded comments
  • Desktop notifications with mode-line indicator
  • Label, assignee, and milestone management
  • SQLite cache for instant display and offline usage
  • # and @ completion in composition buffers
  • Repository settings editor

Requires Emacs 29.1+ (native JSON, native SQLite). Zero external dependencies.

Installation

(use-package forgejo-vc
  :vc (:url "https://codeberg.org/thanosapollo/emacs-forgejo"
            :branch "master"
          :rev :newest
          :lisp-dir "lisp")
  :custom
  (forgejo-host "https://codeberg.org"))

Store your token in ~/.authinfo.gpg:

machine codeberg.org login YOUR_USERNAME password YOUR_TOKEN

Or set it directly (not recommended):

(setq forgejo-token "your-personal-access-token")

Manual

(add-to-list 'load-path "/path/to/emacs-forgejo/lisp")
(require 'forgejo-vc)

Guix

guix package -f guix.scm

Usage

From any git repository with a Forgejo remote, C-x v f (forgejo-vc) opens the Forgejo transient menu. All available commands are listed there.

M-x forgejo opens the top-level menu for repo search, issue/PR browsing, and notifications.

M-x forgejo-modeline-mode enables the mode-line notification indicator with periodic polling.

Composition

All composition buffers support # completion for issue/PR references and @ completion for user mentions. Use forgejo-compose-hook for custom setup:

(add-hook 'forgejo-compose-hook #'flyspell-mode)

Screenshots

Figure 1: issue list

Figure 1: issue list

Figure 2: issue view

Figure 2: issue view

Figure 3: review comment

Figure 3: review comment

Figure 4: review log

Figure 4: review log

Figure 5: review thread

Figure 5: review thread