diff --git a/.gitignore b/.gitignore
index f4faab088a..b8b277c7c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,5 @@ MODULE.bazel
MODULE.bazel.lock
.DS_Store
**/.DS_Store
+csharp/**/bin
+csharp/**/obj
diff --git a/csharp/.csharpierrc.yaml b/csharp/.csharpierrc.yaml
new file mode 100644
index 0000000000..ef96c2d0a0
--- /dev/null
+++ b/csharp/.csharpierrc.yaml
@@ -0,0 +1 @@
+printWidth: 160
diff --git a/csharp/Fury.Testing/Fury.Testing.csproj b/csharp/Fury.Testing/Fury.Testing.csproj
new file mode 100644
index 0000000000..353da2b7d7
--- /dev/null
+++ b/csharp/Fury.Testing/Fury.Testing.csproj
@@ -0,0 +1,33 @@
+
+
+
+
+ net8.0
+ enable
+ enable
+ 12
+ false
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/csharp/Fury.Testing/MetaStringTest.cs b/csharp/Fury.Testing/MetaStringTest.cs
new file mode 100644
index 0000000000..1316e75239
--- /dev/null
+++ b/csharp/Fury.Testing/MetaStringTest.cs
@@ -0,0 +1,253 @@
+using System.Text;
+using Bogus;
+using Fury.Context;
+using Fury.Meta;
+
+namespace Fury.Testing;
+
+public sealed class MetaStringTest
+{
+ public static readonly IEnumerable