# Component Level Customization

The Keycloakify starter repository may initially seem sparse in terms of React components, which might be confusing. However, there's no need to worry—this design choice will soon make sense.

By default, Keycloakify internalizes all the React components that make up the default theme, exposing only the `<DefaultPage />` component.

If you want to customize any component from the default theme, you can easily do so by running the following command:

```bash
npx keycloakify eject-page
```

This command allows you to select specific components from Keycloakify's source code, which will then be copied into your own codebase for further customization.

{% embed url="<https://youtu.be/PhNE-3EwwP8>" %}
Video tutorial on how to use MUI to customize the login page
{% endembed %}

{% hint style="info" %}
Disabling the default styles:  \
One thing that is touched on [only late in the video](https://youtu.be/PhNE-3EwwP8?si=s3e9DjaIlhG2uxQC\&t=1338) is how to disable all the default styles.  \
See documentation [here](/documentation/v10/customization-strategies/css-level-customization/removing-the-default-styles.md).
{% endhint %}

Following is a step by step guide on how to import and use custom assets in your react components:

{% content-ref url="/pages/J0jb3Pq4DYuRGS1k8gnS" %}
[Using custom assets](/documentation/v10/customization-strategies/component-level-customization/in-react-components.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc-old.keycloakify.dev/documentation/v10/customization-strategies/component-level-customization.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
