Rails feature providing a miniature Rails application — with its own routes, models, controllers, views, helpers and assets — that can be mounted inside a host ('parent') Rails application at a chosen path. Generated with `rails plugin new NAME --mountable`; the generator also produces a `test/dummy` app to run and test the engine in isolation. Engines are appropriate for separating first-class domains inside a monolith (e.g. buyer vs seller back-offices in a marketplace) and for distributing reusable Rails functionality as gems (admin panels, auth flows, etc.).