Forge
markdown3407750f
1# Agent Forge: тонкий self-hosted forge на .NET — issues и MR из чата через MCP
2
3**Альтернативный заголовок:** Когда GitLab слишком тяжёлый: .NET forge для агентов и keyboard-first UI
4
5## Аннотация
6
7Команды с AI-агентами упираются в self-hosted GitLab как «единственный нормальный forge». На практике агент готов создать issue или merge request — и обрывается на UI: логин, проект, шаблон, labels, pipeline gates. REST есть, но happy path агента — не chat-first.
8
9**Agent Forge** — отдельный forge на .NET, не форк GitLab: bare git repos, метаданные в WitDatabase, ingress через **Forge MCP**, тонкий web для человека (keyboard-first / human view). Ядро — MIT spine; расширения — **MEF plugins** (org catalog, releases, grouping, CI bridge).
10
11В докладе — зачем монолитный forge плохой ingress для human–agent dyad; как устроено ядро (host, capabilities, invoke); как писать domain plugin и extension plugin; что агент реально может из Cursor без браузера; где граница «минимальный протокол» vs «зоопарк фич».
12
13**Live demo:** из IDE — создать issue, открыть MR, посмотреть результат в human view.
14
15## Тезисы
16
171. Friction не в модели, а в среде — агент ломается на границе UI forge.
182. Thin core на .NET — git (LibGit2Sharp) + WitDB + ASP.NET Core; не Rails/Gitaly zoo.
193. MCP как first-class ingress — server-driven capabilities, invoke из Cursor.
204. Plugin model — domain plugin + extension plugin (grouping family).
215. Human view без Jira² — keyboard-first для approve/review.
226. Self-hosted / on-prem — свой контур без обязательного SaaS.
237. Live demo end-to-end — utterance → MCP → artifact → browser.
24
25## Takeaways
26
27- Когда **не** поднимать ещё один GitLab.
28- Скелет agent-native forge на .NET.
29- Паттерн base plugin + grouping extension.
30- Осознанные non-goals forge core.
31
View only · write via MCP/CIDE