# Component Management

Component management provides a suite of tools for dynamically installing, publishing, and managing blocklet components within a running application. This capability allows applications to be modular and extensible, enabling administrators and developers to add or update features without requiring a full redeployment of the core application.

These tools are essential for creating flexible systems where functionality can be composed and updated on the fly. For example, you can ensure that an application has all its necessary dependencies at runtime or provide an integrated interface for developers to publish new resources.

The primary components for managing this lifecycle are `ComponentInstaller` and `BlockletStudio`.

<!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
![Component Management](assets/diagram/component-management-diagram-0.jpg)
<!-- DIAGRAM_IMAGE_END -->

## Core Tools

This section provides a brief overview of the available component management tools. For detailed documentation and usage examples, please refer to the specific sub-pages.

<x-cards data-columns="2">
  <x-card data-title="ComponentInstaller" data-icon="lucide:package-check" data-href="/components/component-management/component-installer">
    A utility component that verifies if all required dependent components are installed and provides a simple, role-protected interface for administrators to install any missing ones.
  </x-card>
  <x-card data-title="BlockletStudio" data-icon="lucide:box" data-href="/components/component-management/blocklet-studio">
    An embeddable iframe-based interface that provides a comprehensive studio for publishing, versioning, and managing components and their associated resources directly within your application.
  </x-card>
</x-cards>

## Summary

By leveraging `ComponentInstaller` and `BlockletStudio`, developers can build robust applications that are easy to maintain and extend. `ComponentInstaller` ensures application health by managing dependencies, while `BlockletStudio` provides a powerful interface for content and feature management.

For more information on the underlying principles, see the [Core Concepts](./core-concepts.md) documentation.