Emacs includes a facility that lets you easily download and install packages that implement additional features. Each package is a separate Emacs Lisp program, sometimes including other components such as an Info manual.
M-x list-packages brings up a buffer named *Packages* with a list of all packages. You can install or uninstall packages via this buffer. See Package Menu.
The command C-h P (
describe-package) prompts for the
name of a package, and displays a help buffer describing the
attributes of the package and the features that it implements.
By default, Emacs downloads packages from a package archive maintained by the Emacs developers and hosted by the GNU project. Optionally, you can also download packages from archives maintained by third parties. See Package Installation.
For information about turning an Emacs Lisp program into an installable package, See Packaging.