📈 GH Trending Explorer 🎲 Surprise me

← all repos

melpa / melpa

git clone https://github.com/melpa/melpa.git 🔥 on GitHub Trending today

Build recipes and server-side machinery that automatically compile upstream Emacs Lisp packages into a package.el-compatible archive.

Why you might care

Gives Emacs users a large, continuously updated archive of packages installable via package.el without manually cloning repos. Contributors add packages by submitting a small recipe file rather than running the build infrastructure themselves.

Categories

Alternatives

el-getHomebrewuse-packagestraight.el
+1
stars, 24h · #13,859
+3
stars, 7 days · #22,537
+~10
stars, 30 days · #26,813
3.0k
★ total · +0% this week
2.8k
forks · 81 open issues

Star history (as recorded here)

2026-10-20 · 2,981 ★ 2026-10-23 · 2,982 ★
LanguageEmacs Lisp
LicenseGPL-3.0
Created2011-10-05 (15y ago)
Last push3d ago
Watchers79
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-23 — #8 daily in emacs-lisp · +1 ★
  • 2026-10-23 — #5 weekly in emacs-lisp · +2 ★
  • 2026-10-22 — #6 weekly in emacs-lisp · +3 ★
  • 2026-10-21 — #9 daily in emacs-lisp
  • 2026-10-20 — #9 daily in emacs-lisp

Links

README excerpt
# MELPA
MELPA is a growing collection of `package.el`-compatible Emacs Lisp
packages built automatically on our server from the upstream source
code using simple recipes. (Think of it as a server-side version of
[`el-get`], or even [Homebrew].)
Packages are updated at intervals throughout the day.
To browse available packages, check out the
[archive index page][MELPA].
Adding packages is as simple as submitting a new recipe as a pull
request; read on for details.
## Table of Contents
* Usage
* Contributing
* Recipe Format
* Build Scripts
* API
* Configuration
* Mirrors
* About
## Usage
To use the MELPA repository, you'll need an Emacs with `package.el`,
i.e., Emacs 24.1 or greater. To test TLS support you can visit a HTTPS
URL, for example with `M-x eww RET https://wikipedia.org RET`.
Enable installation of packages from MELPA by adding an entry to
`package-archives` after `(require 'package)` and before the call to
`package-initialize` in your `init.el` or `.emacs` file:
 [code] 
Then just use `M-x package-list-packages` to browse and install
packages from MELPA and elsewhere.
Note that you'll need to run `M-x package-refresh-contents` or `M-x
package-list-packages` to ensure that Emacs has fetched the MELPA
package list before you can install packages with `M-x
package-install` or similar.
### MELPA Stable
Packages in MELPA are built directly from the latest package source
code in the upstream repositories, but we also build and publish
packages corresponding to the latest tagged code in those
repositories, where version tags exist. These packages are published
in a separate package archive called [MELPA Stable]. Most users should
prefer MELPA over MELPA Stable.
Some notes:
* If you leave the original MELPA server in your `package-archives`
 then by default you will get the *development* versions of packages
 and not the stable ones, because the development versions are higher.
* If your Emacs has the variables `package-pinned-packages` (available
 in 24.4 and later) and/or `package-archive-priorities`, you can
 customize or modify those variables as needed.
* You will probably want to remove all packages and then reinstall
 them. Any packages you already have installed from MELPA will never
 get "updated" to the stable version because of the way version
 numbering is handled.
Note that the MELPA maintainers do not use MELPA Stable themselves,
and do not particularly recommend its use.
## Contributing
See the [CONTRIBUTING.org] document.
## Recipe Format
Packages are specified by files in the `recipes` directory. You can
contribute a new package by adding a new file under `recipes` using
the following form (`[...]` denotes optional or conditional values),
 [code] 
* `package-name` a lisp symbol that has the same name as the package
 being specified.
* `:fetcher` specifies the type of repository the package is being
 maintained in.
 Melpa supports the Git and Mercurial version control systems and
 provides generic fetcher types for them: `git` a

Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.