diff --git a/Timelapse.ProjectTemplates/templates/CSharp/.template.config/template.json b/Timelapse.ProjectTemplates/templates/CSharp/.template.config/template.json
new file mode 100644
index 0000000..83983ce
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/CSharp/.template.config/template.json
@@ -0,0 +1,30 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "sourceName": "TimelapseExtension0001",
+ "defaultName": "TimelapseExtension",
+ "author": "Tesses",
+ "classifications": [ "Common", "Library","Desktop" ],
+ "identity": "Timelapse.ExtensionLibrary",
+ "name": "Timelapse templates: Extension",
+ "shortName": "timelapseext",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "description": "Extension for TimelapseNow",
+ "symbols": {
+ "Framework": {
+ "type": "parameter",
+ "description": "The target framework for the project.",
+ "datatype": "choice",
+ "choices": [
+ {
+ "choice": "net6.0",
+ "description": "Target net6.0"
+ }
+ ],
+ "replaces": "net6.0",
+ "defaultValue": "net6.0"
+ }
+ }
+ }
\ No newline at end of file
diff --git a/Timelapse.ProjectTemplates/templates/CSharp/Extension.cs b/Timelapse.ProjectTemplates/templates/CSharp/Extension.cs
new file mode 100644
index 0000000..846c5da
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/CSharp/Extension.cs
@@ -0,0 +1,10 @@
+using TimelapseApi;
+using System;
+namespace TimelapseExtension0001
+{
+ public class TimelapseExtension0001 : TimelapseExtension
+ {
+ public override string Name => "TimelapseExtension0001";
+ public override Guid Id => Guid.Parse("{1cb8b576-e2e8-44d5-a8e1-e25a47eb0564}"); //https://duckduckgo.com/?q=guid&t=ffab&ia=answer
+ }
+}
\ No newline at end of file
diff --git a/Timelapse.ProjectTemplates/templates/CSharp/TimelapseExtension0001.csproj b/Timelapse.ProjectTemplates/templates/CSharp/TimelapseExtension0001.csproj
new file mode 100644
index 0000000..1309928
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/CSharp/TimelapseExtension0001.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Library
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
diff --git a/Timelapse.ProjectTemplates/templates/CSharp/extension_info.json b/Timelapse.ProjectTemplates/templates/CSharp/extension_info.json
new file mode 100644
index 0000000..37d4a4f
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/CSharp/extension_info.json
@@ -0,0 +1,6 @@
+{
+ "name": "TimelapseExtension0001",
+ "author": "YourNameOrCompanyName",
+ "version": "1.0.0",
+ "description": "Some Description"
+}
\ No newline at end of file
diff --git a/Timelapse.ProjectTemplates/templates/FSharp/.template.config/template.json b/Timelapse.ProjectTemplates/templates/FSharp/.template.config/template.json
new file mode 100644
index 0000000..40402a2
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/FSharp/.template.config/template.json
@@ -0,0 +1,30 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "sourceName": "TimelapseExtension0001",
+ "defaultName": "TimelapseExtension",
+ "author": "Tesses",
+ "classifications": [ "Common", "Library","Desktop" ],
+ "identity": "Timelapse.ExtensionLibrary",
+ "name": "Timelapse templates: Extension",
+ "shortName": "timelapseext",
+ "tags": {
+ "language": "F#",
+ "type": "project"
+ },
+ "description": "Extension for TimelapseNow",
+ "symbols": {
+ "Framework": {
+ "type": "parameter",
+ "description": "The target framework for the project.",
+ "datatype": "choice",
+ "choices": [
+ {
+ "choice": "net6.0",
+ "description": "Target net6.0"
+ }
+ ],
+ "replaces": "net6.0",
+ "defaultValue": "net6.0"
+ }
+ }
+ }
\ No newline at end of file
diff --git a/Timelapse.ProjectTemplates/templates/FSharp/Extension.fs b/Timelapse.ProjectTemplates/templates/FSharp/Extension.fs
new file mode 100644
index 0000000..cfcef06
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/FSharp/Extension.fs
@@ -0,0 +1,8 @@
+namespace TimelapseExtension0001
+open TimelapseApi
+open System
+
+type TimelapseExtension0001() =
+ inherit TimelapseExtension()
+ override this.Name = "TimelapseExtension0001"
+ override this.Id = Guid.Parse("")
\ No newline at end of file
diff --git a/Timelapse.ProjectTemplates/templates/FSharp/TimelapseExtension0001.fsproj b/Timelapse.ProjectTemplates/templates/FSharp/TimelapseExtension0001.fsproj
new file mode 100644
index 0000000..90dd5f4
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/FSharp/TimelapseExtension0001.fsproj
@@ -0,0 +1,16 @@
+
+
+
+ net6.0
+ TimelapseExtension0001
+ true
+
+
+
+
+
+
+
+
+
+
diff --git a/Timelapse.ProjectTemplates/templates/FSharp/extension_info.json b/Timelapse.ProjectTemplates/templates/FSharp/extension_info.json
new file mode 100644
index 0000000..37d4a4f
--- /dev/null
+++ b/Timelapse.ProjectTemplates/templates/FSharp/extension_info.json
@@ -0,0 +1,6 @@
+{
+ "name": "TimelapseExtension0001",
+ "author": "YourNameOrCompanyName",
+ "version": "1.0.0",
+ "description": "Some Description"
+}
\ No newline at end of file