diff --git a/docs/book/src/developer/providers/contracts/bootstrap-config.md b/docs/book/src/developer/providers/contracts/bootstrap-config.md
index ec940276c358..53d37f9cb0b9 100644
--- a/docs/book/src/developer/providers/contracts/bootstrap-config.md
+++ b/docs/book/src/developer/providers/contracts/bootstrap-config.md
@@ -146,6 +146,15 @@ labels:
An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml).
+
+
### BootstrapConfig, BootstrapConfigList resource definition
You MUST define a BootstrapConfig resource.
diff --git a/docs/book/src/developer/providers/contracts/clusterctl.md b/docs/book/src/developer/providers/contracts/clusterctl.md
index f2fd9de61b56..9d21395e2a95 100644
--- a/docs/book/src/developer/providers/contracts/clusterctl.md
+++ b/docs/book/src/developer/providers/contracts/clusterctl.md
@@ -205,6 +205,20 @@ releaseSeries:
contract: v1alpha2
```
+
+
#### Validation Rules
Starting from clusterctl v1.11, the metadata YAML file is subject to strict validation to ensure consistency and prevent configuration errors. The following validation rules are enforced:
diff --git a/docs/book/src/developer/providers/contracts/control-plane.md b/docs/book/src/developer/providers/contracts/control-plane.md
index aab4a600e96b..35e455c4f03e 100644
--- a/docs/book/src/developer/providers/contracts/control-plane.md
+++ b/docs/book/src/developer/providers/contracts/control-plane.md
@@ -172,6 +172,15 @@ labels:
An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml).
+
+
### ControlPlane, ControlPlaneList resource definition
You MUST define a ControlPlane resource.
diff --git a/docs/book/src/developer/providers/contracts/infra-cluster.md b/docs/book/src/developer/providers/contracts/infra-cluster.md
index 12cd9ae040d2..75646145a92a 100644
--- a/docs/book/src/developer/providers/contracts/infra-cluster.md
+++ b/docs/book/src/developer/providers/contracts/infra-cluster.md
@@ -155,6 +155,15 @@ labels:
An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml).
+
+
### InfraCluster, InfraClusterList resource definition
You MUST define a InfraCluster resource.
diff --git a/docs/book/src/developer/providers/contracts/infra-machine.md b/docs/book/src/developer/providers/contracts/infra-machine.md
index 21463c077059..20ef2db030fc 100644
--- a/docs/book/src/developer/providers/contracts/infra-machine.md
+++ b/docs/book/src/developer/providers/contracts/infra-machine.md
@@ -147,6 +147,15 @@ labels:
An example of this is in the [Kubeadm Bootstrap provider](https://github.com/kubernetes-sigs/cluster-api/blob/release-1.1/controlplane/kubeadm/config/crd/kustomization.yaml).
+
+
### InfraMachine, InfraMachineList resource definition
You MUST define a InfraMachine resource.
diff --git a/docs/book/src/developer/providers/contracts/infra-machinepool.md b/docs/book/src/developer/providers/contracts/infra-machinepool.md
index d8adbea7e426..68bd66acf959 100644
--- a/docs/book/src/developer/providers/contracts/infra-machinepool.md
+++ b/docs/book/src/developer/providers/contracts/infra-machinepool.md
@@ -143,6 +143,15 @@ labels:
An example of this is in the [AWS infrastructure provider](https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/config/crd/kustomization.yaml).
+
+
### InfraMachinePool, InfraMachinePoolList resource definition
You MUST define a InfraMachinePool resource if you provider supports MachinePools.
diff --git a/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md b/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md
index 020946572cfb..1f05552c036c 100644
--- a/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md
+++ b/docs/book/src/developer/providers/migrations/v1.10-to-v1.11.md
@@ -2925,6 +2925,9 @@ metadata:
name:
```
+4. If the provider implements the [clusterctl provider contract](../contracts/clusterctl.md), then the contract version defined
+ in the `metadata.yaml` file must be changed aligning to the contract version the CRD.
+
### How to bump to CAPI V1.11 but keep using deprecated v1beta1 conditions
A provider can continue to use deprecated v1beta1 conditions also after bumping to CAPI V1.11, but to do