| 1 | # NuGet Trusted Publishing (OIDC) для этого репозитория |
| 2 | |
| 3 | Краткий чеклист для владельца пакета **`AIGuiders.DotNetBuildTestParsers`** на [nuget.org](https://www.nuget.org/). |
| 4 | |
| 5 | ## 1. NuGet.org → Trusted publishers |
| 6 | |
| 7 | 1. Войти на nuget.org → **Account settings** → **Trusted publishers** (или страница пакета → **Manage** → раздел Trusted publishing, если пакет уже создан вручную один раз). |
| 8 | 2. Добавить **GitHub** как провайдера. |
| 9 | 3. Указать: |
| 10 | - **Owner:** `KarataevDmitry` (GitHub user или org — как заведён репозиторий). |
| 11 | - **Repository:** `dotnet-build-test-parsers` (имя **репозитория GitHub**, не PackageId). |
| 12 | - **Workflow filename:** `nuget-publish.yml` (файл в `.github/workflows/` этого репо). |
| 13 | |
| 14 | Официальная справка: [Trusted publishing](https://learn.microsoft.com/nuget/nuget-org/trusted-publishing). |
| 15 | |
| 16 | ## 2. Субъект NuGet (user) в workflow |
| 17 | |
| 18 | В `.github/workflows/nuget-publish.yml` шаг **NuGet/login** задаёт `user: LonelySoul` — это **имя пользователя учётной записи NuGet.org**, под которой зарегистрированы пакеты `AIGuiders.*` (как в [git-mcp-core](https://github.com/KarataevDmitry/git-mcp-core)). Если публикация идёт под другим пользователем NuGet — замени значение `user` на тот логин. |
| 19 | |
| 20 | ## 3. Первый пакет на галерее |
| 21 | |
| 22 | Если идентификатор **`AIGuiders.DotNetBuildTestParsers`** ещё не существует на nuget.org, один раз можно: |
| 23 | |
| 24 | - загрузить пакет вручную с локальной машины **или** |
| 25 | - дождаться первого успешного запуска workflow после настройки Trusted publisher. |
| 26 | |
| 27 | ## 4. Запуск публикации |
| 28 | |
| 29 | - **По тегу:** `git tag v0.1.0 && git push origin v0.1.0` — версия пакета будет `0.1.0` (без префикса `v`). |
| 30 | - **Вручную:** Actions → **Publish to NuGet** → *Run workflow* → поле **package_version** (SemVer). |
| 31 | |
| 32 | Workflow выставляет `permissions: id-token: write` для OIDC и пушит `.nupkg` / `.snupkg` в `https://api.nuget.org/v3/index.json`. |
| 33 | |
| 34 | ## 5. Проверка |
| 35 | |
| 36 | После успешного job: страница пакета на nuget.org, тестовый `dotnet add package AIGuiders.DotNetBuildTestParsers -v {версия}` из чистого проекта. |
| 37 | |