diff --git a/Templating.sln b/Templating.sln
index f4a3a83b29..6174b8ddd7 100644
--- a/Templating.sln
+++ b/Templating.sln
@@ -19,6 +19,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SpaTem
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Web.Spa.ProjectTemplates", "src\Microsoft.DotNet.Web.Spa.ProjectTemplates\Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj", "{402E62D1-7FD0-4E07-812C-0E385D98D6D9}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Web.Client.ItemTemplates", "src\Microsoft.DotNet.Web.Client.ItemTemplates\Microsoft.DotNet.Web.Client.ItemTemplates.csproj", "{1731F6D9-1DFC-49D6-8F28-471194B1962C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -53,6 +55,10 @@ Global
{402E62D1-7FD0-4E07-812C-0E385D98D6D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{402E62D1-7FD0-4E07-812C-0E385D98D6D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{402E62D1-7FD0-4E07-812C-0E385D98D6D9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1731F6D9-1DFC-49D6-8F28-471194B1962C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1731F6D9-1DFC-49D6-8F28-471194B1962C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1731F6D9-1DFC-49D6-8F28-471194B1962C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1731F6D9-1DFC-49D6-8F28-471194B1962C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -63,6 +69,7 @@ Global
{62D00388-8824-4661-8CC8-8D8436FF97E6} = {0AD6E692-E423-408C-B523-DAFB19412E4B}
{01E12D5E-8540-4BC8-9A54-41EDD55E762E} = {0AD6E692-E423-408C-B523-DAFB19412E4B}
{402E62D1-7FD0-4E07-812C-0E385D98D6D9} = {0AD6E692-E423-408C-B523-DAFB19412E4B}
+ {1731F6D9-1DFC-49D6-8F28-471194B1962C} = {0AD6E692-E423-408C-B523-DAFB19412E4B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E9B27B0D-4F85-431B-9C26-80CFE4393D36}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.csproj b/src/Microsoft.DotNet.Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.csproj
new file mode 100644
index 0000000000..964becb06d
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.csproj
@@ -0,0 +1,8 @@
+
+
+
+ netcoreapp2.0
+ Microsoft.DotNet.Web.Client.ItemTemplates.nuspec
+
+
+
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.nuspec b/src/Microsoft.DotNet.Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.nuspec
new file mode 100644
index 0000000000..a197d32981
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.nuspec
@@ -0,0 +1,22 @@
+
+
+
+ Microsoft.DotNet.Web.Client.ItemTemplates
+ $version$
+ Microsoft
+ Web Client-Side File Templates for Microsoft Template Engine
+ http://go.microsoft.com/fwlink/?LinkID=288859
+ en-US
+ https://github.com/dotnet/templating
+ https://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm
+ Copyright © Microsoft Corporation
+ true
+ aspnet templates
+
+
+
+
+
+
+
+
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/.template.config/dotnetcli.host.json b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/.template.config/dotnetcli.host.json
new file mode 100644
index 0000000000..94f4ee1014
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/.template.config/dotnetcli.host.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "http://json.schemastore.org/dotnetcli.host"
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/.template.config/template.json b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/.template.config/template.json
new file mode 100644
index 0000000000..9d379e9c9f
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/.template.config/template.json
@@ -0,0 +1,40 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Microsoft",
+ "classifications": [ "Web", "Style" ],
+ "name": "LESS Style Sheet",
+ "generatorVersions": "[1.0.0.0-*)",
+ "description": "LESS is a language that compiles into CSS",
+ "groupIdentity": "Microsoft.DotNet.Web.ClientItems.Less",
+ "precedence": "100",
+ "identity": "Microsoft.DotNet.Web.ClientItems.Less",
+ "shortName": "less",
+ "sourceName": "styleSheet1",
+ "tags": {
+ "type": "item"
+ },
+ "primaryOutputs": [
+ {
+ "path": "styleSheet1.less"
+ }
+ ],
+ "defaultName": "styleSheet1",
+ "symbols": {
+ "HostIdentifier": {
+ "type": "bind",
+ "binding": "HostIdentifier"
+ }
+ },
+ "postActions": [
+ {
+ "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")",
+ "description": "Opens styleSheet1.less in the editor",
+ "manualInstructions": [ ],
+ "actionId": "84C0DA21-51C8-4541-9940-6CA19AF04EE6",
+ "args": {
+ "files": "0"
+ },
+ "continueOnError": true
+ }
+ ]
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/styleSheet1.less b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/styleSheet1.less
new file mode 100644
index 0000000000..46800d16ad
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Less/styleSheet1.less
@@ -0,0 +1,2 @@
+body {
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/.template.config/dotnetcli.host.json b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/.template.config/dotnetcli.host.json
new file mode 100644
index 0000000000..94f4ee1014
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/.template.config/dotnetcli.host.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "http://json.schemastore.org/dotnetcli.host"
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/.template.config/template.json b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/.template.config/template.json
new file mode 100644
index 0000000000..f720f59f3d
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/.template.config/template.json
@@ -0,0 +1,40 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Microsoft",
+ "classifications": [ "Web", "Style" ],
+ "name": "SCSS Style Sheet (SASS)",
+ "generatorVersions": "[1.0.0.0-*)",
+ "description": "SCSS is a language that compiles into CSS",
+ "groupIdentity": "Microsoft.DotNet.Web.ClientItems.Scss",
+ "precedence": "100",
+ "identity": "Microsoft.DotNet.Web.ClientItems.Scss",
+ "shortName": "scss",
+ "sourceName": "styleSheet1",
+ "tags": {
+ "type": "item"
+ },
+ "primaryOutputs": [
+ {
+ "path": "styleSheet1.scss"
+ }
+ ],
+ "defaultName": "styleSheet1",
+ "symbols": {
+ "HostIdentifier": {
+ "type": "bind",
+ "binding": "HostIdentifier"
+ }
+ },
+ "postActions": [
+ {
+ "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")",
+ "description": "Opens styleSheet1.scss in the editor",
+ "manualInstructions": [ ],
+ "actionId": "84C0DA21-51C8-4541-9940-6CA19AF04EE6",
+ "args": {
+ "files": "0"
+ },
+ "continueOnError": true
+ }
+ ]
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/styleSheet1.scss b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/styleSheet1.scss
new file mode 100644
index 0000000000..46800d16ad
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/Scss/styleSheet1.scss
@@ -0,0 +1,2 @@
+body {
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/.template.config/dotnetcli.host.json b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/.template.config/dotnetcli.host.json
new file mode 100644
index 0000000000..94f4ee1014
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/.template.config/dotnetcli.host.json
@@ -0,0 +1,3 @@
+{
+ "$schema": "http://json.schemastore.org/dotnetcli.host"
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/.template.config/template.json b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/.template.config/template.json
new file mode 100644
index 0000000000..38be31e1d3
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/.template.config/template.json
@@ -0,0 +1,40 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Microsoft",
+ "classifications": [ "Web", "Script" ],
+ "name": "TypeScript file",
+ "generatorVersions": "[1.0.0.0-*)",
+ "description": "A blank TypeScript source file",
+ "groupIdentity": "Microsoft.DotNet.Web.ClientItems.TypeScript",
+ "precedence": "100",
+ "identity": "Microsoft.DotNet.Web.ClientItems.TypeScript",
+ "shortName": "tsfile",
+ "sourceName": "file1",
+ "tags": {
+ "type": "item"
+ },
+ "primaryOutputs": [
+ {
+ "path": "file1.ts"
+ }
+ ],
+ "defaultName": "file1",
+ "symbols": {
+ "HostIdentifier": {
+ "type": "bind",
+ "binding": "HostIdentifier"
+ }
+ },
+ "postActions": [
+ {
+ "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")",
+ "description": "Opens file1.ts in the editor",
+ "manualInstructions": [ ],
+ "actionId": "84C0DA21-51C8-4541-9940-6CA19AF04EE6",
+ "args": {
+ "files": "0"
+ },
+ "continueOnError": true
+ }
+ ]
+}
diff --git a/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/file1.ts b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/file1.ts
new file mode 100644
index 0000000000..46800d16ad
--- /dev/null
+++ b/src/Microsoft.DotNet.Web.Client.ItemTemplates/content/TypeScript/file1.ts
@@ -0,0 +1,2 @@
+body {
+}