Use when reproducing, debugging, or fixing issues in MDK itself — building mdk.exe from source, running it against a test project, comparing the released NuGet package against current source, attaching a debugger, diagnosing hangs/freezes, or capturing trace output. Trigger on user requests like "reproduce this MDK bug", "debug the packager", "why does pack hang on this project", "is this fixed in source already", or when investigating MDK CLI behavior that differs between manual and MSBuild execution.
Use when working on MDK internals — the CLI tool (Mdk.CommandLine), packagers (Mdk.PbPackager / Mdk.ModPackager), analyzers (Mdk.PbAnalyzers / Mdk.ModAnalyzers), reference resolution (Mdk.References), or the script minification pipeline. Covers MSBuild integration flow (MdkRestore / MdkPack), CLI entry-point and project-type detection, analyzer integration with whitelists and AdditionalFiles, the 5-tier minification pipeline (none/trim/stripcomments/lite/full) and its processor stages, and how Space Engineers references are auto-detected. Trigger on edits to Source/Mdk.CommandLine/, Source/Mdk.PbAnalyzers/, Source/Mdk.ModAnalyzers/, Source/Mdk.References/, packager .props/.targets files, or questions about how mdk.exe processes scripts.
Use when authoring or debugging mdk.ini / mdk.local.ini configuration files — covers the legacy/new naming convention and priority, scope (project vs developer-local), key options (type, minify levels, ignores, namespaces, trace, binarypath override), and standard ignore patterns. Trigger on creating or editing mdk.ini, mdk.local.ini, {ProjectName}.mdk.ini, when a user asks "how do I configure X in mdk.ini" or "what does <option> do", or when debugging why MDK isn't picking up settings.
Use when working in Source/ScriptTemplates/content/ or modifying the .NET project templates that MDK ships for `dotnet new`. Covers the standard template directory layout (.template.config, mdk.ini, Instructions.readme, thumb.png, Program.cs) and the IngameScript namespace requirement for PB script templates. Trigger on edits to Source/ScriptTemplates/, creating a new template, or questions about how MDK templates are structured.
Use when preparing a release for an MDK package — bumping PackageVersion.txt, writing user-facing release notes, or working with the CI/CD workflows that publish packages. Covers the bump-version workflow (PackageVersion.txt → ReleaseNotes.txt → CI), release notes style guidelines (user perspective, no technical jargon, focus on impact), and the buildwithartefacts.yml / version-guard.yml workflows. Trigger on edits to PackageVersion.txt or ReleaseNotes.txt, requests like "cut a release", "bump version", "add release notes", or working in .github/workflows/.