# Dotnet Local Tools

Managing local .NET tools with dotnet-tools.json for consistent tooling across...

- Repository: https://github.com/Aaronontheweb/dotnet-skills (1244 stars)
- Category: DevOps
- License: MIT
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Aaronontheweb/dotnet-skills --skill dotnet-local-tools -g -a claude-code -y`
Codex: `npx skills add Aaronontheweb/dotnet-skills --skill dotnet-local-tools -g -a codex -y`
Cursor: `npx skills add Aaronontheweb/dotnet-skills --skill dotnet-local-tools -g -a cursor -y`
Gemini CLI: `npx skills add Aaronontheweb/dotnet-skills --skill dotnet-local-tools -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Aaronontheweb/dotnet-skills`

## Description

Managing local .NET tools with dotnet-tools.json for consistent tooling across development environments and CI/CD pipelines.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# .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

| Aspect | Global Tools | Local Tools |
|--------|--------------|-------------|
| Installation | `dotnet tool install -g` | `dotnet tool restore` |
| Scope | Machine-wide | Per-repository |
| Version control | Manual | In `.config/dotnet-tools.json` |
| CI/CD | Must install each tool | Single restore command |
| Conflicts | Can have version conflicts | Isolated per project |

---

## Setting Up Local Tools

### Initialize the Manifest

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

This creates:
```
.config/
└── dotnet-tools.json
```

### Install Tools Locally

```bash
# Install a tool locally
dotnet tool install docfx

# Install specific version
dotnet tool install docfx --version 2.78.3

# Install from a specific source
dotnet tool install MyTool --add-source https://mycompany.pkgs.visualstudio.com/_packaging/feed/nuget/v3/index.json
```

### Restore Tools

```bash
# Restore all tools from manifest
dotnet tool restore
```

---

## dotnet-tools.json Format

The rest: https://github.com/Aaronontheweb/dotnet-skills/blob/HEAD/skills/local-tools/SKILL.md
