Files
LabApiPluginTemplate/.template.config/template.json
T
Admin 68fac5b913 Restructure template, add configurable description, remove comments
- Remove LoadPriority override from EntryPoint.cs (defaults to Medium)
- Add Description property (was already templated as a literal, now a
  configurable PluginDescription symbol like PluginAuthor)
- Move the buildable project into content/ so CLAUDE.md, .editorconfig,
  and .gitignore never ship in a generated plugin, and the project no
  longer shares its root with them
- Remove the SkipGit symbol and its manual-instructions postAction:
  automatic git init on generation was re-verified impossible (no
  --allow-scripts equivalent on dotnet 10 SDK to bypass the Run Script
  postAction's interactive Y/N gate); VS's own New Project checkbox
  already covers this
- Add content/CLAUDE.md so every generated plugin ships with LabAPI/
  toolchain/code-style context for Claude Code, since no C#/.NET/LabAPI
  Skill exists in the catalog
- Set PluginAuthor/PluginDescription defaultValue to generic "Your
  Name"/"Your Description" placeholders instead of "YourName"/a TODO
  string
- Strip all comments from the .csproj (project code style forbids them)

Verified by generating a project from the reinstalled template and
running dotnet build (0 warnings, 0 errors) after each change.
2026-08-27 02:09:55 +02:00

49 lines
1.3 KiB
JSON

{
"$schema": "http://json.schemastore.org/template",
"classifications": [ "Common", "Library", "SCP:SL", "LabAPI", "Game Plugin" ],
"identity": "SCPSL.LabApi.PluginTemplate",
"name": "SCP: Secret Laboratory LabAPI Plugin",
"shortName": "labapi-plugin",
"tags": {
"language": "C#",
"type": "project"
},
"sourceName": "LabApiPluginTemplate",
"preferNameDirectory": true,
"sources": [
{
"source": "./content",
"target": "./"
}
],
"symbols": {
"PluginAuthor": {
"type": "parameter",
"datatype": "string",
"defaultValue": "Your Name",
"replaces": "YourName",
"description": "Name used as the plugin's author."
},
"PluginDescription": {
"type": "parameter",
"datatype": "string",
"defaultValue": "Your Description",
"replaces": "TODO: describe what this plugin does.",
"description": "Short description of what the plugin does."
}
},
"primaryOutputs": [
{ "path": "LabApiPluginTemplate.csproj" }
],
"postActions": [
{
"description": "Restores the NuGet packages required by this project.",
"manualInstructions": [
{ "text": "Run 'dotnet restore'" }
],
"actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025",
"continueOnError": true
}
]
}