# Extensions

> In addition to being highly customizable, Directus has been architected to be completely modular and extensible. This
> ensures you will never hit a hard feature ceiling within the platform.

## Extension SDK

The easiest way to start creating extensions is to use the [Extensions SDK](/extensions/creating-extensions/).

## App Extensions

Allow creating custom experiences within the Directus App.

- [Modules](/extensions/modules/) — Created with Vue.js
- [Layouts](/extensions/layouts/) — Created with Vue.js
- [Interfaces](/extensions/interfaces/) — Created with Vue.js
- [Displays](/extensions/displays/) — Created with Vue.js
- [Panels](/extensions/panels/) — Created with Vue.js
- [Themes](/extensions/themes/) — Created with custom CSS

## API Extensions

Allow extending and customizing the data pipeline and platform logic.

- [Endpoints](/extensions/endpoints/) — Created with JavaScript / Node.js
- [Hooks](/extensions/hooks/) — Created with JavaScript / Node.js
- [Email Templates](/extensions/email-templates/) — Created with Liquid.js
- [Migrations](/extensions/migrations/) — Created with JavaScript / Node.js

<!-- ## CLI Extensions

TBD

- Commands
- Extensions -->
