Variable: forge-alist
forge-alist is a customizable variable defined in forge-core.el.
Value
(("github.com" "api.github.com" "github.com" forge-github-repository)
("ssh.github.com" "api.github.com" "github.com"
forge-github-repository)
("gitlab.com" "gitlab.com/api/v4" "gitlab.com"
forge-gitlab-repository)
("salsa.debian.org" "salsa.debian.org/api/v4" "salsa.debian.org"
forge-gitlab-repository)
("framagit.org" "framagit.org/api/v4" "framagit.org"
forge-gitlab-repository)
("gitlab.gnome.org" "gitlab.gnome.org/api/v4" "gitlab.gnome.org"
forge-gitlab-repository)
("codeberg.org" "codeberg.org/api/v1" "codeberg.org"
forge-forgejo-repository)
("bitbucket.org" "api.bitbucket.org/2.0" "bitbucket.org"
forge-bitbucket-repository)
("git.savannah.gnu.org" nil "git.savannah.gnu.org"
forge-cgit**-repository)
("git.kernel.org" nil "git.kernel.org" forge-cgit-repository)
("repo.or.cz" nil "repo.or.cz" forge-repoorcz-repository)
("git.suckless.org" nil "git.suckless.org" forge-stagit-repository)
("git.sr.ht" nil "git.sr.ht" forge-srht-repository))
Documentation
List of Git forges.
Each entry has the form (GITHOST APIHOST WEBHOST CLASS).
- GITHOST is the host used to access repositories on the forge using
Git.
- APIHOST is the host used to access the forge's API. For some forges
the isn't just a host, but a host followed by the path to the API's
endpoint.
- WEBHOST is the host used to access repositories on this forge using
a browser. The IDs used to identify repositories from the forge in
the local database also derives from this value.
- CLASS is the class to be used for repositories from the forge.
Complications:
- When connecting to a Github Enterprise edition whose REST API's
end point is "<host>/v3" and whose GraphQL API's end point is
"<host>/graphql", then use "<host>/v3" as APIHOST. This is a
historic accident. See issue #174.
- WEBHOST and CLASS cannot be changed once you have added one or
more repositories from a forge. Changing GITHOST and/or APIHOST
may be possible, but should seldom be necessary.
This variable was added, or its default value changed, in forge version 0.4.7.
Source Code
;; Defined in ~/.emacs.d/elpa/forge-20260408.1922/forge-core.el
(defcustom forge-alist
'(;; Forges
("github.com" "api.github.com"
"github.com" forge-github-repository)
("ssh.github.com" "api.github.com"
"github.com" forge-github-repository)
("gitlab.com" "gitlab.com/api/v4"
"gitlab.com" forge-gitlab-repository)
("salsa.debian.org" "salsa.debian.org/api/v4"
"salsa.debian.org" forge-gitlab-repository)
("framagit.org" "framagit.org/api/v4"
"framagit.org" forge-gitlab-repository)
("gitlab.gnome.org" "gitlab.gnome.org/api/v4"
"gitlab.gnome.org" forge-gitlab-repository)
;; Forges (API unsupported)
("codeberg.org" "codeberg.org/api/v1"
"codeberg.org" forge-forgejo-repository)
("bitbucket.org" "api.bitbucket.org/2.0"
"bitbucket.org" forge-bitbucket-repository)
;; Semi-Forges
("git.savannah.gnu.org" nil
"git.savannah.gnu.org" forge-cgit**-repository)
("git.kernel.org" nil
"git.kernel.org" forge-cgit-repository)
("repo.or.cz" nil
"repo.or.cz" forge-repoorcz-repository)
("git.suckless.org" nil
"git.suckless.org" forge-stagit-repository)
("git.sr.ht" nil
"git.sr.ht" forge-srht-repository))
"List of Git forges.
Each entry has the form (GITHOST APIHOST WEBHOST CLASS).
- GITHOST is the host used to access repositories on the forge using
Git.
- APIHOST is the host used to access the forge's API. For some forges
the isn't just a host, but a host followed by the path to the API's
endpoint.
- WEBHOST is the host used to access repositories on this forge using
a browser. The IDs used to identify repositories from the forge in
the local database also derives from this value.
- CLASS is the class to be used for repositories from the forge.
Complications:
- When connecting to a Github Enterprise edition whose REST API's
end point is \"<host>/v3\" and whose GraphQL API's end point is
\"<host>/graphql\", then use \"<host>/v3\" as APIHOST. This is a
historic accident. See issue #174.
- WEBHOST and CLASS cannot be changed once you have added one or
more repositories from a forge. Changing GITHOST and/or APIHOST
may be possible, but should seldom be necessary."
:package-version '(forge . "0.4.7")
:group 'forge
:type '(repeat (list (string :tag "Git host")
(choice (string :tag "API endpoint")
(const :tag "No API" nil))
(string :tag "ID")
(symbol :tag "Repository class"))))