If this is your first time in the plugin repo, run bootstrap:
PowerShell:
pwsh -File scripts/bootstrap.ps1bash/zsh:
sh scripts/bootstrap.sh| Command | Scope | Use when |
|---|---|---|
dotnet build TurboSamplePlugin/TurboSamplePlugin.csproj |
Plugin only | Default contributor build |
dotnet build ../turbo-cloud/Turbo.Main/Turbo.Main.csproj |
Core only | Verify emulator-only changes |
dotnet build ../turbo-cloud/Turbo.Cloud.sln |
Full integrated workspace | One-window core+plugin workflow |
The plugin repo default quality/build contract is project-scoped to TurboSamplePlugin/TurboSamplePlugin.csproj.
dotnet build TurboSamplePlugin/TurboSamplePlugin.csproj -t:TurboSamplePluginFastCheckdotnet build TurboSamplePlugin/TurboSamplePlugin.csproj -t:TurboSamplePluginQualityGatePowerShell:
pwsh -File scripts/dev-integrated.ps1bash/zsh:
sh scripts/dev-integrated.shBuild-only mode:
- PowerShell:
pwsh -File scripts/dev-integrated.ps1 -BuildOnly - bash/zsh:
sh scripts/dev-integrated.sh --build-only
Pinned toolchain files:
- .NET SDK pin:
global.json - Local tools pin:
.config/dotnet-tools.json
When bumping versions, include a passing TurboSamplePluginQualityGate run in the same change.
Repository-managed hooks in .githooks:
pre-commit-> staged-filedotnet format ... style --verify-no-changes+TurboSamplePluginFastCheckpre-push->TurboSamplePluginQualityGate
Enable if needed:
git config --local core.hooksPath .githooksPlugin DB/runtime local settings:
- Keep
.envlocal to this repo and setPLUGIN_DEV_CONNECTION. - Ensure
turbo-cloud/appsettings.Development.jsonincludesTurbo:Plugin:DevPluginPaths.
If integrated solution build fails due unrelated core/plugin state, isolate first:
dotnet build TurboSamplePlugin/TurboSamplePlugin.csproj