# SDK and workshop definition files

<!-- @artefact SDK -->
<!-- @artefact workshop definition -->
<!-- @artefact SDK definition -->

Three YAML files describe what a workshop is
and how the SDKs inside it behave.
Each file has one authoritative reference page:

- `workshop.yaml` is authored by workshop users;
  **Workshop** reads it to launch a workshop.
  See [Workshop definition](https://ubuntu.com/workshop/docs//reference/definition-files/workshop-definition.md#ref-workshop-definition).
- `sdk.yaml` ships inside SDK packages;
  **Workshop** reads it at install time.
  Also authored directly for in-project SDKs.
  See [SDK definition](https://ubuntu.com/workshop/docs//reference/definition-files/sdk-definition.md#ref-sdk-definition).
- `sdkcraft.yaml` is authored by SDK publishers;
  **SDKcraft** reads it to build an SDK package,
  which embeds the generated `sdk.yaml`.
  See [SDKcraft project definition](https://ubuntu.com/workshop/docs//reference/definition-files/sdkcraft-definition.md#ref-sdkcraft-definition).

* [Workshop definition](https://ubuntu.com/workshop/docs//reference/definition-files/workshop-definition.md)
* [SDK definition](https://ubuntu.com/workshop/docs//reference/definition-files/sdk-definition.md)
* [SDKcraft project definition](https://ubuntu.com/workshop/docs//reference/definition-files/sdkcraft-definition.md)

## See also

Explanation:

- [In-project SDKs](https://ubuntu.com/workshop/docs//explanation/sdks/concepts.md#exp-in-project-sdk)
- [SDK definition](https://ubuntu.com/workshop/docs//explanation/sdks/concepts.md#exp-sdk-definition)
- [Workshop definition](https://ubuntu.com/workshop/docs//explanation/workshops/concepts.md#exp-workshop-definition)
