diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000000000000000000000000000000000..5a920c7a22c4d05c51c7529dbb358ca12feb476d
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,3 @@
+# Contributing
+
+Please read about CI/CD components and best practices at: https://docs.gitlab.com/ee/ci/components
diff --git a/README.md b/README.md
index 87d22240a5c3c126cc90f1d60ac5cae2b7d5045b..e5b38f63ba9080a057e7616c173eaa3a75c86fd9 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,96 @@
-# WIP: OpenTofu
+# OpenTofu CI/CD component
 
-This OpenTofu CI/CD component is still work in progress.
+> **NOTE**
+> 
+> This component is **work in progress**, where inputs, template names and the entire interface in general may 
+> change at any time until version 1.0.0 is reached. From where on this CI/CD component will be versioned using [semver 2.0](https://semver.org/).
+> The progress of implementing such a version can be tracked in https://gitlab.com/groups/gitlab-org/-/epics/12401.
 
-See https://gitlab.com/groups/gitlab-org/-/epics/12401
+This project is home to the **OpenTofu CI/CD component** and it's related assets, 
+like the `gitlab-tofu` wrapper script and OCI images containing that script
+together with an OpenTofu version.
+
+Read more:
+
+- [CI/CD components](https://docs.gitlab.com/ee/ci/components)
+- [Development guide for GitLab CI/CD components](https://docs.gitlab.com/ee/development/cicd/components)
+- [CI/CD Catalog](https://docs.gitlab.com/ee/ci/components/index.html#cicd-catalog)
+
+## Usage
+
+```yaml
+include:
+  - component: gitlab.com/components/opentofu/full-pipeline@<VERSION>
+    inputs:
+      # The version must currently be specified explicitly as an input,
+      # to find the correctly associated images. # This can be removed 
+      # once https://gitlab.com/gitlab-org/gitlab/-/issues/438275 is solved.
+      version: <VERSION>
+      opentofu_version: <OPENTOFU_VERSION>
+```
+
+A concrete example may look like this:
+
+```yaml
+# Using `latest`
+include:
+  - component: gitlab.com/components/opentofu/full-pipeline@latest
+    inputs:
+      # The version must currently be specified explicitly as an input,
+      # to find the correctly associated images. # This can be removed 
+      # once https://gitlab.com/gitlab-org/gitlab/-/issues/438275 is solved.
+      version: latest
+      opentofu_version: 1.6.0
+
+---
+
+# ... or using `0.0.0-alpha1`:
+include:
+  - component: gitlab.com/components/opentofu/full-pipeline@0.0.0-alpha1
+    inputs:
+      # The version must currently be specified explicitly as an input,
+      # to find the correctly associated images. # This can be removed 
+      # once https://gitlab.com/gitlab-org/gitlab/-/issues/438275 is solved.
+      version: 0.0.0-alpha1
+      opentofu_version: 1.6.0
+```
+
+## Releases & Versioning
+
+This project currently releases tagged commits. 
+An overview of releases can be found on the [Releases page](https://gitlab.com/components/opentofu/-/releases).
+
+Each release is accessible in the [CI/CD Catalog](https://gitlab.com/explore/catalog).
+
+### Component Versions
+
+The component release versions follow [Semantic Versioning 2.0.0](https://semver.org/).
+
+### Image Versions
+
+This project releases multiple OCI image variants that can be used with the component.
+The intention is that the images used in a component have the same version and or not mixed.
+Due to the limitations described in https://gitlab.com/gitlab-org/gitlab/-/issues/438275 
+it's currently required to provide the component version in the `component` include field
+and as the `version` input. Check out the [Usage](#Usage) section for examples.
+
+Each component release deploys the following images:
+
+- `registry.gitlab.com/components/opentofu/gitlab-opentofu:<VERSION>-opentofu<OPENTOFU_VERSION>`
+- `registry.gitlab.com/components/opentofu/gitlab-opentofu:<VERSION>-opentofu`
+  - Includes the latest stable OpenTofu version at the time of releasing the component
+- `registry.gitlab.com/components/opentofu/gitlab-opentofu:<VERSION>`
+  - Includes the latest stable OpenTofu version at the time of releasing the component
+
+In the above examples `<VERSION>` references the component version and `<OPENTOFU_VERSION>` 
+an OpenTofu release, from [here](https://github.com/opentofu/opentofu/releases).
+
+*Note: unfortunately, these image versions are not SemVer compatible,
+because `-` indicates a prerelease (which they are not in this case).
+However, we cannot use the alternative `+` which would indicate build metadata
+as we'd like.
+See https://github.com/distribution/distribution/issues/1201*
+
+## Contributing
+
+See the [CONTRIBUTING.md](CONTRIBUTING.md) guide.
diff --git a/templates/full-pipeline.yml b/templates/full-pipeline.yml
index 9a936a5e63b3e18c118ea89a2e9c61c915e0da7b..ad60cd9b0e1ede1b979c3616b0fddf7a694cd759 100644
--- a/templates/full-pipeline.yml
+++ b/templates/full-pipeline.yml
@@ -18,6 +18,12 @@ spec:
       description: 'Defines the cleanup stage'
 
     # Versions
+    # This version is only required, because we cannot access the context of the component,
+    # see https://gitlab.com/gitlab-org/gitlab/-/issues/438275
+    version:
+      default: 'latest'
+      description: 'Version of this component'
+      
     opentofu_version:
       default: '1.6.0'
       options:
@@ -30,7 +36,7 @@ spec:
       # FIXME: This should reference the component tag that is used.
       #        Currently, blocked by https://gitlab.com/gitlab-org/gitlab/-/issues/438275
       # default: '$CI_REGISTRY/components/opentofu/gitlab-opentofu:$[[ inputs.opentofu_version ]]'
-      default: '$CI_REGISTRY/components/opentofu/gitlab-opentofu:latest'
+      default: '$CI_REGISTRY/components/opentofu/gitlab-opentofu:$[[ inputs.version ]]-opentofu$[[ inputs.opentofu_version ]]'
       description: 'Image name of the gitlab-opentofu image'
     
     # Configuration