The main idea of ECK is to create tools to make entities and the functionality associated with them useful, accessible, flexible, and reusable in as much as possible.
ECK focuses on both Site Builders and Developers.
For site builders, ECK is little by little exposing a lot of the functionality of the entity system through an user interface, while at the same time creating abstractions and useful defaults so users won't have to deal with every single detail of the entity creation and management as long as it is not necessary.
For Developers, ECK tries to create tools that will allow the creation entities and the development of new functionality as quickly, if not quicker, than it can be done from the UI. For this purpose we are currently using classes so that entity types, and bundles can be dealt with as objects with useful methods to manipulate them. ECK also exposes a plugin type for the purpose of quickly developing new functionality for entity's properties in a form that is contained, and reusable for any property.
Modules extend ECK: