using System.CommandLine; using MycroForge.Core; using MycroForge.Core.Contract; namespace MycroForge.CLI.Commands; public partial class MycroForge { public partial class Plugin { public class Init : Command, ISubCommandOf { private static readonly Argument NameArgument = new(name: "name", description: "The name of your project"); private readonly ProjectContext _context; public Init(ProjectContext context) : base("init", "Initialize a basic plugin project") { _context = context; AddArgument(NameArgument); this.SetHandler(ExecuteAsync, NameArgument); } private async Task ExecuteAsync(string name) { await _context.Bash($"dotnet new m4gp -n {name}"); } } } }