diff --git a/src/ModularPipelines/Context/IYaml.cs b/src/ModularPipelines/Context/IYaml.cs
index e710eb15bd..9aedfff63f 100644
--- a/src/ModularPipelines/Context/IYaml.cs
+++ b/src/ModularPipelines/Context/IYaml.cs
@@ -3,13 +3,42 @@
namespace ModularPipelines.Context;
+///
+/// Provides YAML serialization and deserialization functionality.
+///
public interface IYaml
{
+ ///
+ /// Serializes an object to YAML string using the default camel case naming convention.
+ ///
+ /// The type of object to serialize.
+ /// The object to serialize.
+ /// The YAML string representation of the object.
string ToYaml(T input) => ToYaml(input, CamelCaseNamingConvention.Instance);
+ ///
+ /// Serializes an object to YAML string using the specified naming convention.
+ ///
+ /// The type of object to serialize.
+ /// The object to serialize.
+ /// The naming convention to use for property names.
+ /// The YAML string representation of the object.
string ToYaml(T input, INamingConvention namingConvention);
+ ///
+ /// Deserializes a YAML string to an object using the default camel case naming convention.
+ ///
+ /// The type to deserialize to.
+ /// The YAML string to deserialize.
+ /// The deserialized object.
T FromYaml(string input) => FromYaml(input, CamelCaseNamingConvention.Instance);
+ ///
+ /// Deserializes a YAML string to an object using the specified naming convention.
+ ///
+ /// The type to deserialize to.
+ /// The YAML string to deserialize.
+ /// The naming convention to use for property names.
+ /// The deserialized object.
T FromYaml(string input, INamingConvention namingConvention);
-}
\ No newline at end of file
+}