К основному содержанию
скилл GitHub Copilot официальный · GitHub

nuget-manager — скилл для GitHub Copilot: что делает и установка

Управляет NuGet-пакетами в .NET-проектах через dotnet CLI. Нужен при добавлении, удалении и обновлении зависимостей.

Установить в GitHub Copilot · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill nuget-manager
Открыть на GitHub

Что делает nuget-manager

Скилл задаёт порядок работы с NuGet в проектах и решениях .NET. Новые пакеты добавляются через dotnet add package, а удаляются через dotnet remove package; править .csproj, .props и Directory.Packages.props для этих операций нельзя.

Версию существующего пакета разрешено изменить в файле напрямую, но сначала скилл проверяет её через dotnet package search. Затем он определяет, где хранятся версии: в Directory.Packages.props или в конкретном .csproj, меняет строку версии и запускает dotnet restore. При ошибке изменения нужно откатить и разобраться с причиной.

Для работы нужны .NET SDK и dotnet в PATH; для проверки версии также нужен jq или PowerShell. Ставьте скилл, если хотите, чтобы агент не правил ссылки на пакеты произвольно.

Какие задачи решает

  • добавить NuGet-пакет в нужный .csproj
  • удалить зависимость через dotnet remove package
  • проверить существование версии пакета
  • обновить версию при central package management
  • запустить dotnet restore после изменения версии

Примеры запросов агенту

  • Добавь Serilog в проект `src/WebApi/WebApi.csproj`.
  • Обнови Newtonsoft.Json до 13.0.3 во всём решении.
  • Удали пакет Newtonsoft.Json из `src/MyProject/MyProject.csproj`.

Как установить nuget-manager

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill nuget-manager

2GitHub CLI

gh skill install github/awesome-copilot nuget-manager

3Вручную: положить файлы

.github/skills/nuget-manager/SKILL.md

Из того же набора554

Весь набор →
git-commit официальный github Скилл разбирает изменения Git, выбирает связанные файлы и создаёт коммит в формате Conventional Commits. Пригодится, когда нужно закоммитить одну или несколько логических частей изменений. GitHub Copilot 47 165установок excalidraw-diagram-generator официальный github Скилл превращает описание на обычном языке в диаграмму Excalidraw. Подойдёт, когда нужно показать процесс, связи между объектами или устройство системы. GitHub Copilot 31 639установок multi-stage-dockerfile официальный github Скилл помогает создавать многоэтапные Dockerfile для разных языков и фреймворков. Пригодится, когда важны размер и состав runtime-образа. GitHub Copilot 29 688установок documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок prd официальный github Собирает из идеи структурированный PRD с пользовательскими историями, техническими требованиями и рисками. Подходит для планирования новых функций, в том числе с AI. GitHub Copilot 24 035установок refactor официальный github Скилл помогает менять структуру кода без изменения внешнего поведения. Подойдёт для постепенной уборки сложных функций, дублирования и кодовых запахов. GitHub Copilot 22 321установок java-springboot официальный github Задаёт практики разработки Spring Boot-приложений: от структуры проекта до тестов и безопасности. Пригодится, когда Copilot пишет или проверяет Java-код. GitHub Copilot 21 272установок create-readme официальный github Скилл изучает проект и создаёт структурированный README.md. Подойдёт, когда документацию нужно собрать по коду и файлам проекта. GitHub Copilot 19 081установок

Похожие

dart-flutter-patterns affaan-m Набор готовых паттернов для Dart и Flutter: null safety, состояние, навигация, сеть. Пригодится, когда пишете или ревьюите код на Flutter. Claude Code CX Codex Cursor +1 4 600установок swiftui-patterns affaan-m Задаёт правила современной разработки на SwiftUI: переход на @Observable, типобезопасная навигация и оптимизация рендеринга. Пригодится при верстке экранов под iOS и macOS. Claude Code CX Codex Cursor +1 4 500установок dotnet-patterns affaan-m Набор архитектурных правил C# и ASP.NET Core для ИИ-ассистентов. Задаёт стандарты написания чистого кода, работы с DI, асинхронностью и обработкой ошибок. Claude Code CX Codex Cursor +1 4 500установок repo-scan affaan-m Скилл сканирует репозиторий и раскладывает файлы по полкам: свой код, встроенные сторонние библиотеки, мусор от сборки. Пригодится, когда принимаешь чужую кодовую базу. Claude Code CX Codex Cursor +1 4 400установок kotlin-ktor-patterns affaan-m Скилл задаёт типовую архитектуру Ktor-сервера на Kotlin: маршрутизацию, DI через Koin, плагины JWT, сериализацию и тесты через testApplication. Claude Code CX Codex Cursor +1 4 400установок csharp-testing affaan-m Скилл для написания и разбора тестов на C# и .NET: xUnit, FluentAssertions, моки, интеграционные тесты. Claude Code CX Codex Cursor +1 4 400установок migrate-to-shoehorn Matt Pocock Переводит type assertions с as в тестах на функции из @total-typescript/shoehorn. Нужен для частичных объектов и намеренно неверных данных в проверках. Claude Code 475 388установок write-swift emilkowalski Скилл помогает писать, проверять и переносить код на Swift с учётом модели языка. Подойдёт, когда нужно разобраться с конкурентностью, ошибкой или циклом удержания объектов. Claude Code CX Codex Cursor +1 117 500установок

Вопросы о nuget-manager

Как установить nuget-manager в GitHub Copilot?

Выполните npx skills add github/awesome-copilot --skill nuget-manager. Также доступна команда gh skill install github/awesome-copilot nuget-manager.

Что делает nuget-manager?

Скилл управляет добавлением, удалением и обновлением NuGet-пакетов в .NET-проектах. Для операций с пакетами он использует dotnet CLI, а после смены версии запускает dotnet restore.

Можно ли менять файлы пакетов вручную?

Да, но только при обновлении версии уже подключённого пакета. Для добавления и удаления нужно применять dotnet add package и dotnet remove package.

Исходный текст

SKILL.md · MIT
---
name: nuget-manager
description: 'Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions.'
---

# NuGet Manager

## Overview

This skill ensures consistent and safe management of NuGet packages across .NET projects. It prioritizes using the `dotnet` CLI to maintain project integrity and enforces a strict verification and restoration workflow for version updates.

## Prerequisites

- .NET SDK installed (typically .NET 8.0 SDK or later, or a version compatible with the target solution).
- `dotnet` CLI available on your `PATH`.
- `jq` (JSON processor) OR PowerShell (for version verification using `dotnet package search`).

## Core Rules

1.  **NEVER** directly edit `.csproj`, `.props`, or `Directory.Packages.props` files to **add** or **remove** packages. Always use `dotnet add package` and `dotnet remove package` commands.
2.  **DIRECT EDITING** is ONLY permitted for **changing versions** of existing packages.
3.  **VERSION UPDATES** must follow the mandatory workflow:
    - Verify the target version exists on NuGet.
    - Determine if versions are managed per-project (`.csproj`) or centrally (`Directory.Packages.props`).
    - Update the version string in the appropriate file.
    - Immediately run `dotnet restore` to verify compatibility.

## Workflows

### Adding a Package
Use `dotnet add [<PROJECT>] package <PACKAGE_NAME> [--version <VERSION>]`.
Example: `dotnet add src/MyProject/MyProject.csproj package Newtonsoft.Json`

### Removing a Package
Use `dotnet remove [<PROJECT>] package <PACKAGE_NAME>`.
Example: `dotnet remove src/MyProject/MyProject.csproj package Newtonsoft.Json`

### Updating Package Versions
When updating a version, follow these steps:

1.  **Verify Version Existence**:
    Check if the version exists using the `dotnet package search` command with exact match and JSON formatting. 
    Using `jq`:
    `dotnet package search <PACKAGE_NAME> --exact-match --format json | jq -e '.searchResult[].packages[] | select(.version == "<VERSION>")'`
    Using PowerShell:
    `(dotnet package search <PACKAGE_NAME> --exact-match --format json | ConvertFrom-Json).searchResult.packages | Where-Object { $_.version -eq "<VERSION>" }`
    
2.  **Determine Version Management**:
    - Search for `Directory.Packages.props` in the solution root. If present, versions should be managed there via `<PackageVersion Include="Package.Name" Version="1.2.3" />`.
    - If absent, check individual `.csproj` files for `<PackageReference Include="Package.Name" Version="1.2.3" />`.

3.  **Apply Changes**:
    Modify the identified file with the new version string.

4.  **Verify Stability**:
    Run `dotnet restore` on the project or solution. If errors occur, revert the change and investigate.

## Examples

### User: "Add Serilog to the WebApi project"
**Action**: Execute `dotnet add src/WebApi/WebApi.csproj package Serilog`.

### User: "Update Newtonsoft.Json to 13.0.3 in the whole solution"
**Action**:
1. Verify 13.0.3 exists: `dotnet package search Newtonsoft.Json --exact-match --format json` (and parse output to confirm "13.0.3" is present).
2. Find where it's defined (e.g., `Directory.Packages.props`).
3. Edit the file to update the version.
4. Run `dotnet restore`.

© github · MIT · github/awesome-copilot

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой