← ClaudeAtlas

setup-test-infrastructurelisted

Use this skill when the user wants to configure containers or Docker infrastructure for .NET integration tests. Trigger on: "set up containers for my tests", "configure docker for integration tests", "add testcontainers", "generate docker-compose for my tests", "set up test infrastructure", "what containers do I need", "configure test dependencies". Also invoked as a sub-skill when scaffolding a new integration test project.
jzills/Claude-Marketplace · ★ 0 · DevOps & Infrastructure · score 63
Install: claude install-skill jzills/Claude-Marketplace
# .NET Integration Test Infrastructure Setup You are configuring container-based infrastructure for a .NET integration test project. Your job is to detect which services the source project depends on, then generate either Testcontainers C# fixture classes or a `docker-compose.yml` — whichever is appropriate. --- ## Step 1 — Locate the Source Project Ask the user for the path to their **source** project's `.csproj` file (the project under test, not the test project itself). If the conversation already makes the path obvious (e.g. the user just showed you a file from it), use that path without asking. Read the `.csproj` file and extract every `<PackageReference Include="...">` entry. --- ## Step 2 — Detect Required Services Compare each package name against the lookup table in `references/package-service-map.md`. Match using contains — a `.csproj` package name matches a table row if the package name contains the pattern string (case-insensitive). For each matched package, record: - The **service name** (e.g. PostgreSQL, Redis) - The **Docker image** to use - The **Testcontainers NuGet package** (e.g. `Testcontainers.PostgreSql`) - The **Testcontainers builder class** (e.g. `PostgreSqlBuilder`) If no packages match any row in the table, tell the user: > "I didn't detect any known service dependencies in your `.csproj`. If your project connects to a service not listed here, let me know which one and I'll generate the configuration manually." --- ## Step 3 — Choose an