# bbatsov/prelude

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bbatsov-prelude).**

5,302 stars · 1,863 forks · Emacs Lisp

## Links

- GitHub: https://github.com/bbatsov/prelude
- Homepage: https://prelude.emacsredux.com
- awesome-repositories: https://awesome-repositories.com/repository/bbatsov-prelude.md

## Topics

`emacs` `emacs-distributions` `emacs-lisp` `emacs-prelude`

## Description

Prelude is an Emacs distribution and configuration framework that provides a curated set of defaults and a modular architecture. It functions as a package management wrapper to install and pin stable versions of external extensions, ensuring a consistent and reproducible development environment.

The project is distinguished by its modular configuration system, which allows users to customize editor capabilities by toggling specific feature modules via a central configuration file. It also includes an automated language server environment that installs and configures language-specific tools and syntax parsers on demand based on the file type being edited.

The distribution covers broader capability areas including editor environment bootstrapping, version-pinned dependency management, and the integration of vetted extensions for version control and project navigation.

The environment can be updated and project files refreshed directly from within the editor.

## Tags

### Development Tools & Productivity

- [Emacs Editor Configurations](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/emacs-editor-configurations.md) — Provides a comprehensive configuration for the Emacs editor using a curated distribution and sensible defaults.
- [Editor Configuration Frameworks](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/editor-configuration-frameworks.md) — Implements a system for managing editor settings and functional modules through a declarative configuration file.
- [Curated Distribution Baselines](https://awesome-repositories.com/f/development-tools-productivity/curated-distribution-baselines.md) — Provides a curated set of vetted external packages and standard defaults to establish a consistent user experience.
- [Emacs Distributions](https://awesome-repositories.com/f/development-tools-productivity/emacs-distributions.md) — Provides a pre-configured version of Emacs with curated defaults and a modular architecture.
- [Environment Bootstrapping](https://awesome-repositories.com/f/development-tools-productivity/environment-bootstrapping.md) — Automates the initial setup of a stable baseline text editor with pinned package versions.
- [Automatic Server Installations](https://awesome-repositories.com/f/development-tools-productivity/language-server-clients/automatic-server-installations.md) — Provides automated download and setup of language servers based on the file type being edited. ([source](https://cdn.jsdelivr.net/gh/bbatsov/prelude@master/README.md))
- [Package Manager Wrappers](https://awesome-repositories.com/f/development-tools-productivity/package-manager-wrappers.md) — Acts as a layer for installing and pinning stable versions of external extensions to ensure consistency.
- [Editor Feature Toggles](https://awesome-repositories.com/f/development-tools-productivity/project-configuration/modular-feature-sets/feature-flag-toggles/editor-feature-toggles.md) — Allows customizing environment capabilities by enabling or disabling optional functional components via configuration. ([source](https://prelude.emacsredux.com/en/latest/installation/))
- [Environment Tailoring](https://awesome-repositories.com/f/development-tools-productivity/project-configuration/modular-feature-sets/feature-flag-toggles/editor-feature-toggles/environment-tailoring.md) — Toggles optional feature modules and curated extensions to tailor editor capabilities to professional needs.
- [Default Editor Bundles](https://awesome-repositories.com/f/development-tools-productivity/text-editing-utilities/editor-configurations/default-editor-selection/default-editor-bundles.md) — Establishes standard behaviors for baseline editor functionality to improve usability. ([source](https://prelude.emacsredux.com/))
- [Text Editor Configurations](https://awesome-repositories.com/f/development-tools-productivity/text-editor-configurations.md) — Configures a consistent baseline user experience through standard defaults and a modular architecture. ([source](https://cdn.jsdelivr.net/gh/bbatsov/prelude@master/README.md))
- [Version Pinning](https://awesome-repositories.com/f/development-tools-productivity/versioned-package-managers/version-pinning.md) — Locks external extensions to specific stable releases to prevent breaking changes during updates.
- [Curated Extension Libraries](https://awesome-repositories.com/f/development-tools-productivity/ide-extension-collections/curated-extension-libraries.md) — Manages a curated selection of vetted external packages for version control, navigation, and text manipulation. ([source](https://prelude.emacsredux.com/))
- [Language Server Integrations](https://awesome-repositories.com/f/development-tools-productivity/language-server-integrations.md) — Automatically installs and configures language-specific tools and syntax parsers based on the files being edited.
- [Automatic Mode Setup](https://awesome-repositories.com/f/development-tools-productivity/package-installers/on-demand/automatic-mode-setup.md) — Downloads and configures language-specific tools and major modes automatically when a source file is first opened.

### Software Engineering & Architecture

- [Modular Configuration Composition](https://awesome-repositories.com/f/software-engineering-architecture/modular-configuration-composition.md) — Implements a system of toggleable feature modules to customize editor functionality through a central configuration.
- [Parser Selection Strategies](https://awesome-repositories.com/f/software-engineering-architecture/syntax-tree-analysis/language-syntax-parsers/parser-selection-strategies.md) — Automatically selects the most advanced available parser to ensure high-quality code highlighting and structure analysis. ([source](https://cdn.jsdelivr.net/gh/bbatsov/prelude@master/README.md))

### Part of an Awesome List

- [LSP-Integrated Environments](https://awesome-repositories.com/f/awesome-lists/devtools/integrated-development-environments/lsp-integrated-environments.md) — Sets up an automated environment for language servers and major modes that activates based on file type.
