emacs-ecosystem

Installation
SKILL.md

Emacs mechanisms whose documented behaviour differs from what their names suggest. Elisp syntax, defun, let, pcase, and the package catalogue are assumed; every rule below is a place where correct-looking code is silently wrong.

Baseline choices

Emacs 30.x is the baseline; defer to the active package set for the exact point release.

  • lexical-binding: t in the file header, always.
  • eglot for LSP: built-in since 29 and the recommended default.
  • Tree-sitter *-ts-mode variants where available (29+, improved in 30.2).
  • The modern completion stack: vertico, orderless, marginalia, consult, corfu, cape.
  • use-package is built-in since 29; prefer :custom over setq, :hook over add-hook, and defer with :defer / :commands / :hook.
  • #'function-name for function references, so the byte-compiler can warn.
  • Namespace every symbol with the package prefix; provide at end of file.

Tree-sitter modes: fboundp is insufficient

Installs
1
GitHub Stars
74
First Seen
Oct 9, 2026