# # 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.

Build, modify or expand any feature needed for your app or project. What makes Directus so flexible is that it has been designed from the ground up with complete extensibility. In addition to offering our software's codebase as open-source, we've broken down the app code into component pieces called Extensions. New Extensions can be created, modified or expanded to suit any need. However, the following extension types come with the platform's App and API.

## # Extension SDK

The easiest way to start creating extensions is to use the Extensions SDK.

## # App Extensions

Allow creating custom experiences within the Directus App.

- Modules — Created with Vue.js
- Layouts — Created with Vue.js
- Interfaces — Created with Vue.js
- Displays — Created with Vue.js
- Panels — Created with Vue.js
- Themes — Created with custom CSS

## # API Extensions

Allow extending and customizing the data pipeline and platform logic.

- Endpoints — Created with JavaScript / Node.js
- Hooks — Created with JavaScript / Node.js
- Email Templates — Created with Liquid.js
- Migrations — Created with JavaScript / Node.js