diff --git a/Nitrocid.sln b/Nitrocid.sln
index baf32b8742..70ac17622e 100644
--- a/Nitrocid.sln
+++ b/Nitrocid.sln
@@ -174,6 +174,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nitrocid.Benchmarks", "private\Nitrocid.Benchmarks\Nitrocid.Benchmarks.csproj", "{32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Templates", "Templates", "{0F3600BA-D929-4E70-957D-71992819CE61}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "templatepack", "public\Nitrocid.Templates\templatepack.csproj", "{6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -396,6 +400,10 @@ Global
{32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -461,6 +469,8 @@ Global
{600337A5-0D56-476A-9428-52B1EF665950} = {B60F276A-FE12-4001-916E-080344ED1FD9}
{EA27625C-C2DE-4080-9253-A572114EDC21} = {61916ED1-66D6-4938-9F1A-D0DF38D16E20}
{32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3} = {EA27625C-C2DE-4080-9253-A572114EDC21}
+ {0F3600BA-D929-4E70-957D-71992819CE61} = {A32F9CED-BCDB-48A7-A42D-E98E33BD6E65}
+ {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2} = {0F3600BA-D929-4E70-957D-71992819CE61}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {424D8E7A-CFEB-40AE-A79C-437D603177FD}
diff --git a/public/Nitrocid.Templates/templatepack.csproj b/public/Nitrocid.Templates/templatepack.csproj
new file mode 100644
index 0000000000..8a3bcde5a7
--- /dev/null
+++ b/public/Nitrocid.Templates/templatepack.csproj
@@ -0,0 +1,49 @@
+
+
+
+ KS.Templates
+ Template
+ 0.1.0
+ Aptivi
+ Nitrocid KS Templates
+ Simulates our future-planned kernel, Nitrocid Kernel. This package contains templates to use when creating N-KS mods, screensavers, and splashes
+ dotnet-new;templats;ks;kernel;simulator
+
+ https://github.com/Aptivi/NitrocidKS
+ OfficialAppIcon-KernelSimulator-512.png
+ GPL-3.0-or-later
+ Detailed explanation: https://aptivi.gitbook.io/nitrocid-ks-manual/versions-and-compatibility/version-release-notes/v0.1.x.x-series
+
+ true
+ ../Nitrocid/KSBuild
+ README.md
+
+ https://github.com/Aptivi/NitrocidKS.git
+ git
+ Debug;Release
+ AnyCPU
+
+
+
+
+ net8.0
+ true
+ false
+ content
+ $(NoWarn);NU5128
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/Nitrocid.Templates/templates/KSMod/.template.config/template.json b/public/Nitrocid.Templates/templates/KSMod/.template.config/template.json
new file mode 100644
index 0000000000..728fba1e63
--- /dev/null
+++ b/public/Nitrocid.Templates/templates/KSMod/.template.config/template.json
@@ -0,0 +1,14 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Aptivi",
+ "classifications": [ "Library" ],
+ "identity": "KSMod",
+ "name": "Nitrocid KS Mod",
+ "shortName": "KSMod",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "KSMod",
+ "preferNameDirectory": true
+}
diff --git a/public/Nitrocid.Templates/templates/KSMod/Command.cs b/public/Nitrocid.Templates/templates/KSMod/Command.cs
new file mode 100644
index 0000000000..73d46059eb
--- /dev/null
+++ b/public/Nitrocid.Templates/templates/KSMod/Command.cs
@@ -0,0 +1,12 @@
+using Nitrocid.Shell.ShellBase.Commands;
+
+namespace KSMod
+{
+ internal class TuiCommand : BaseCommand, ICommand
+ {
+ public override int Execute(CommandParameters parameters, ref string variableValue)
+ {
+ return 0;
+ }
+ }
+}
diff --git a/public/Nitrocid.Templates/templates/KSMod/KSMod.csproj b/public/Nitrocid.Templates/templates/KSMod/KSMod.csproj
new file mode 100644
index 0000000000..792fc4b0ed
--- /dev/null
+++ b/public/Nitrocid.Templates/templates/KSMod/KSMod.csproj
@@ -0,0 +1,11 @@
+
+
+
+ net8.0
+
+
+
+
+
+
+
diff --git a/public/Nitrocid.Templates/templates/KSMod/ModName.cs b/public/Nitrocid.Templates/templates/KSMod/ModName.cs
new file mode 100644
index 0000000000..ab4316c66f
--- /dev/null
+++ b/public/Nitrocid.Templates/templates/KSMod/ModName.cs
@@ -0,0 +1,35 @@
+using Nitrocid.Modifications;
+using System;
+using System.Collections.ObjectModel;
+using System.Reflection;
+
+namespace KSMod
+{
+ public class ModName : IMod
+ {
+ public string Name { get; set; } = "My Mod";
+ public string Version { get; set; } = "1.0.0";
+
+ public Version MinimumSupportedApiVersion => new(3, 0, 25, 411);
+
+ public ReadOnlyDictionary PubliclyAvailableFunctions => null;
+
+ public ReadOnlyDictionary PubliclyAvailableProperties => null;
+
+ public ReadOnlyDictionary PubliclyAvailableFields => null;
+
+ public ModLoadPriority LoadPriority => ModLoadPriority.Optional;
+
+ public void StartMod()
+ {
+
+ }
+
+ public void StopMod()
+ {
+
+ }
+ }
+}
+
+// Refer to https://aptivi.github.io/Kernel-Simulator for up-to-date API documentation for mod developers.