aaronontheweb avatar

Dotnet Local Tools

This walks you through setting up .NET local tools with dotnet-tools.json so your entire team and CI pipeline use the exact same versions of tools like dotnet-ef, docfx, or reportgenerator. Instead of having everyone install tools globally and hope versions match, you commit the manifest and run dotnet tool restore. The guide covers the JSON structure, common tools like Entity Framework migrations and code coverage generators, and CI integration for GitHub Actions and Azure Pipelines. The best practices section pushes hard on pinning exact versions with rollForward false, which is the right call if you care about reproducible builds. It's thorough on the global versus local distinction and why you'd want tools scoped per repository instead of machine wide.

skills.sh installs
550
GitHub stars
1.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add aaronontheweb/dotnet-skills --skill dotnet-local-tools --agent claude-code

Installs into .claude/skills of the current project.

Files

.NET Local Tools

When to Use This Skill

Use this skill when:

  • Setting up consistent tooling across a development team
  • Ensuring CI/CD pipelines use the same tool versions as local development
  • Managing project-specific CLI tools (docfx, incrementalist, dotnet-ef, etc.)
  • Avoiding global tool version conflicts between projects

What Are Local Tools?

Local tools are .NET CLI tools that are installed and versioned per-repository rather than globally. They're defined in .config/dotnet-tools.json and restored with dotnet tool restore.

Local vs Global Tools

AspectGlobal ToolsLocal Tools
Installationdotnet tool install -gdotnet tool restore
ScopeMachine-widePer-repository
Version controlManualIn .config/dotnet-tools.json
CI/CDMust install each toolSingle restore command
ConflictsCan have version conflictsIsolated per project

Setting Up Local Tools

Initialize the Manifest

# Create .config/dotnet-tools.json
dotnet new tool-manifest

This creates:

.config/
└── dotnet-tools.json

Install Tools Locally

Sponsors

Details

Repository
github.com/aaronontheweb/dotnet-skills
Categories
DevOps & CI/CD, .NET & C#
First seen
Jun 3, 2026

More from aaronontheweb/dotnet-skills

All 34
1odysseus0 avatarlandodysseus0/symphonyLand a PR by monitoring conflicts, resolving them, waiting for checks, and squash-merging when green; use when asked to land, merge, or shepherd a PR to complet544skills.sh installs
2aj-geddes avatargcp-cloud-runaj-geddes/useful-ai-promptsDeploy containerized applications on Google Cloud Run with automatic scaling, traffic management, and service mesh integration. Use for container-based serverle541skills.sh installs
3secondsky avatarvulnerability-scanningsecondsky/claude-skillsAutomated security scanning for dependencies, code, containers with Trivy, Snyk, npm audit. Use for CI/CD security gates, pre-deployment audits, compliance requ534skills.sh installs
4aj-geddes avatargrpc-service-developmentaj-geddes/useful-ai-promptsBuild high-performance gRPC services with Protocol Buffers, bidirectional streaming, and microservice communication. Use when building gRPC servers, defining se532skills.sh installs
5postplusai avatarcreator-outreachpostplusai/postplus-skillsBuild creator lead lists for TikTok, Instagram, and X by turning normalized platform datasets into outreach-ready leads with contact signals, shortlist logic, a517skills.sh installs
6postplusai avatarinstagram-campaign-scoutpostplusai/postplus-skillsScout Instagram hashtag opportunities, branded mentions, and campaign spread to monitor public UGC and creator participation.509skills.sh installs