Forge
markdown15d33a96
1# AIGuiders.GitMcp.Core
2
3Библиотека **`GitMcp.Core`** для .NET **10+**: единообразная сборка аргументов **`git`** (списки строк для `ProcessStartInfo.ArgumentList` или аналога). Общий слой для **[git-mcp](https://github.com/KarataevDmitry/git-mcp)** (MCP) и **Cascade IDE** — паритет сценариев `status` / `diff` / `commit` / `push` и др. ([ADR 0019](https://github.com/KarataevDmitry/cascade-ide/blob/main/docs/adr/0019-shared-git-core-ide-and-git-mcp.md) в репозитории IDE).
4
5Без зависимостей от MCP SDK и Avalonia — только примитивы и тип **`GitArgsResult`** для ошибок валидации argv.
6
7## Установка
8
9```bash
10dotnet add package AIGuiders.GitMcp.Core
11```
12
13**Ссылки:** [NuGet.org](https://www.nuget.org/packages/AIGuiders.GitMcp.Core) · [Исходники](https://github.com/KarataevDmitry/git-mcp-core) · лицензия [MIT](https://github.com/KarataevDmitry/git-mcp-core/blob/main/LICENSE).
14
15## Пример
16
17```csharp
18using GitMcp.Core;
19
20// Те же argv, что у панели Git в IDE
21IReadOnlyList<string> argv = GitCommandBuilder.StatusShortBranch();
22// => "git", "status", "--short", "--branch"
23
24// Последовательность как в MCP git_status
25foreach (var step in GitCommandBuilder.StatusMcpSequence())
26{
27 // step — список аргументов после "git"
28}
29```
30
31Полный API — **`GitCommandBuilder`**, **`GitWorkTree`**, **`GitPreflight`**; подробности в XML-комментариях в репозитории.
32
33## Сборка из исходников (maintainers)
34
35```bash
36dotnet pack GitMcp.Core.csproj -c Release -o nupkg
37```
38
39Публикация на **nuget.org**: GitHub Actions + [Trusted Publishing](https://learn.microsoft.com/nuget/nuget-org/trusted-publishing), workflow **`nuget-publish.yml`** в репозитории [git-mcp-core](https://github.com/KarataevDmitry/git-mcp-core).
40
View only · write via MCP/CIDE