diff --git a/Convention-CSharp.csproj b/Convention-CSharp.csproj
new file mode 100644
index 0000000..14d63da
--- /dev/null
+++ b/Convention-CSharp.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net8.0
+ Convention
+ enable
+ enable
+
+
+
diff --git a/Convention-CSharp.sln b/Convention-CSharp.sln
new file mode 100644
index 0000000..1417e34
--- /dev/null
+++ b/Convention-CSharp.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.9.34728.123
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Convention-CSharp", "Convention-CSharp.csproj", "{753E942E-7F20-44F1-8120-05B81F869EA5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {753E942E-7F20-44F1-8120-05B81F869EA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {753E942E-7F20-44F1-8120-05B81F869EA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {753E942E-7F20-44F1-8120-05B81F869EA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {753E942E-7F20-44F1-8120-05B81F869EA5}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {58B645F4-3C17-449A-838D-B6C78BA4DCD1}
+ EndGlobalSection
+EndGlobal
diff --git a/Convention/Runtime/Config.cs b/Convention/Runtime/Config.cs
new file mode 100644
index 0000000..5f72ee9
--- /dev/null
+++ b/Convention/Runtime/Config.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Convention
+{
+ namespace SAL
+ {
+ public interface IHasCheckMethod
+ {
+ bool Check();
+ }
+
+ public class ReturnValue { }
+
+ public enum ComparedFlag
+ {
+ Greater, Less, Equal, GreaterOrEqual, LessOrEqual, NotEqual
+ }
+
+ [System.AttributeUsage(AttributeTargets.ReturnValue, Inherited = true, AllowMultiple = true)]
+ public sealed class SuccessAttribute : Attribute, IHasCheckMethod
+ {
+ private List