> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elementlabs.net/llms.txt
> Use this file to discover all available pages before exploring further.

# The Element SDK

> The shared resource every Element Labs product needs, and what you configure through it.

`element_sdk` is one resource you install once. Every Element Labs product needs it and none of them
work without it. It is not a product in itself: on its own it adds nothing to your server.

## What it does for you

* **Reads the files you edit.** Configuration and language files live in each product's own
  directory, and the SDK is what loads them at start and hands the values to the product.
* **Enforces versions.** Each product states the SDK versions it accepts, and a product that would
  run against an SDK it was not built for is stopped instead.
* **Connects products to the resources you already run.** Framework, inventory, database,
  notifications and more are matched automatically from what is running on your server.
* **Writes the console output.** One message shape across every product, so a failure names the
  product, the area and the cause.
* **Reports when something is out of date**, by comparing your installed versions against the public
  release catalogue at start.

Because this behaviour lives in one resource, it is identical across every product you install, and
one SDK update reaches all of them at once.

## What you configure here

| Page                                                   | Covers                                                                                                              |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
| [SDK version requirements](/sdk/compatibility)         | How a product states which SDK versions it accepts, and every message it prints on a mismatch.                      |
| [Configuration files](/sdk/configuration)              | How the files in `configs` are written, read, and preserved across an update.                                       |
| [Languages and text](/sdk/localization)                | Choosing a language, rewording text, adding a translation.                                                          |
| [Supported server resources](/sdk/supported-resources) | The frameworks, inventories, databases and interface resources products recognise.                                  |
| [A provider of your own](/sdk/custom-provider)         | Declare your own framework, inventory or interface implementation when your server runs one this SDK does not ship. |
| [Server settings](/sdk/server-settings)                | The `server.cfg` settings that change what is checked and what is printed.                                          |

What each individual setting means belongs to the product that ships it, on that product's own
configuration pages.

## Capabilities a product may expose

Some SDK capabilities only become yours to configure when a product chooses to expose them. Sending
a product's own log records to an external service (Discord, Datadog, Grafana Loki or Fivemanage)
is one of them. When a product supports it, the setup is on that product's pages; when a product
does not, the capability is not present in its files.

## Related

* [How an installation is put together](/concepts/architecture)
* [Server requirements](/getting-started/requirements)
* [Install a product](/getting-started/installation)
