Forge
csharp3407750f
1using AgentForge.Abstractions;
2using AgentForge.Plugin.Issue.Endpoints;
3using Microsoft.Extensions.Configuration;
4using Microsoft.Extensions.DependencyInjection;
5
6namespace AgentForge.Plugin.Issue;
7
8public sealed class IssueForgePlugin : IForgePlugin
9{
10 public string Id => "issue";
11
12 public string DisplayName => "Issues";
13
14 public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
15 {
16 }
17
18 public void MapEndpoints(WebApplication app)
19 {
20 var api = app.MapGroup("/api/v1");
21 api.MapIssueEndpoints();
22 ForgeIssueViewEndpoints.Map(app);
23 }
24
25 public void RegisterFeatures(ForgeFeatureRegistry registry) => registry.Add("issues");
26
27 public void RegisterMcpTools(ForgeMcpToolRegistry registry) =>
28 ForgeIssueMcpTools.Register(registry);
29
30 public void RegisterCommands(ForgeCommandRegistry registry) =>
31 ForgeIssueCommandRegistration.Register(registry);
32
33 public void RegisterViewContributors(ForgeViewContributorRegistry registry) =>
34 ForgeIssueViewRegistration.RegisterContributors(registry);
35
36 public void RegisterRepoTabBodies(ForgeRepoTabBodyRegistry registry) =>
37 ForgeIssueTabBodyRegistration.Register(registry);
38
39 public void ApplyMigrations(IForgeMigrationContext context) =>
40 ForgeIssueSchemaBootstrap.Apply(context);
41}
42
View only · write via MCP/CIDE