This document discusses RabbitMQ plugins. It begins with background on RabbitMQ and an overview of its extensibility through a plugin system. It then provides examples of how plugins can add new protocols, authentication mechanisms, custom message stores, and more. The document also discusses how to develop plugins, including environment setup, file structure, boot process integration, and managing plugins. It emphasizes that plugins run in the same Erlang process as the broker and can potentially crash it, so testing is important.