Agent skill
dotnet
Configures .NET SDK, build processes, and project structure for BotMind mod. Use when: building, configuring projects, managing dependencies, or troubleshooting MSBuild.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/dotnet-blackhorse311-botmind
SKILL.md
Dotnet Skill
BotMind uses a multi-target .NET setup: client plugin targets netstandard2.1 for BepInEx compatibility, server mod targets net9.0 for SPT server. The SPT_PATH environment variable controls reference assembly resolution and auto-copy of build outputs.
Quick Start
Build Client Plugin
# Set SPT path for reference DLLs
$env:SPT_PATH = "H:\SPT"
# Build debug
dotnet build src/client/Blackhorse311.BotMind.csproj
# Build release
dotnet build src/client/Blackhorse311.BotMind.csproj -c Release
Build Server Mod
dotnet build src/server/Blackhorse311.BotMind.Server.csproj
Run Tests
dotnet test src/tests/Blackhorse311.BotMind.Tests.csproj
Key Concepts
| Concept | Usage | Example |
|---|---|---|
| Target Framework | Client uses netstandard2.1, server uses net9.0 | <TargetFramework>netstandard2.1</TargetFramework> |
| SPT_PATH | Environment variable for SPT installation | $env:SPT_PATH = "H:\SPT" |
| Auto-copy | Build outputs copy to SPT folders when SPT_PATH set | Client → BepInEx/plugins/ |
| Reference Assemblies | EFT DLLs resolved from SPT_PATH | $(SPT_PATH)\EscapeFromTarkov_Data\Managed\ |
Common Patterns
Conditional Reference Paths
When: Resolving game assemblies for local development
<PropertyGroup>
<SPTPath Condition="'$(SPT_PATH)' != ''">$(SPT_PATH)</SPTPath>
<ManagedPath>$(SPTPath)\EscapeFromTarkov_Data\Managed</ManagedPath>
</PropertyGroup>
<ItemGroup>
<Reference Include="Assembly-CSharp">
<HintPath>$(ManagedPath)\Assembly-CSharp.dll</HintPath>
<Private>false</Private>
</Reference>
</ItemGroup>
Post-Build Copy
When: Automatically deploying built DLL to SPT
<Target Name="CopyToSPT" AfterTargets="Build" Condition="'$(SPT_PATH)' != ''">
<Copy SourceFiles="$(TargetPath)"
DestinationFolder="$(SPT_PATH)\BepInEx\plugins\Blackhorse311-BotMind\" />
</Target>
Multi-Project Solution
When: Building both client and server
# Build all projects
dotnet build Blackhorse311.BotMind.sln
# Or individually
dotnet build src/client/Blackhorse311.BotMind.csproj && \
dotnet build src/server/Blackhorse311.BotMind.Server.csproj
See Also
- patterns - Project configuration patterns
- workflows - Build and deployment workflows
Related Skills
- See the csharp skill for C# language patterns
- See the bepinex skill for plugin configuration
- See the xunit skill for test project setup
- See the unity skill for Unity assembly references
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?