<div class="admonition note">
  <p class="admonition-title">Note</p>
  <p>Work in progress.</p>
</div>

The framework has two distinctive parts.

-   A **core** that is developed by the Fetch.ai team as well as external contributors.
-   **Extensions** (also known as **packages**) developed by any developer which promotes a modular and scalable framework.

Currently, the framework supports three types of packages which can be added to the core as modules:

-   Skills
-   Protocols
-   Connections

The following figure illustrates the framework's architecture:

<center>![The AEA Framework Architecture](assets/framework-architecture.png)</center>

<br />

In most cases, as a developer in the AEA framework, it is sufficient to focus on skills development, utilising existing protocols and connections. 
The later doesn't try to discourage you though, from creating your own `connections` or `protocols` but you will need a better understanding of the framework than creating a skill.
