using Demo.Commands; using Demo.Commands.Add; using Demo.Commands.Run; using Demo.Commands.Serve; using Spectre.Console.Cli; namespace Demo; public static class Program { public static int Main(string[] args) { var app = new CommandApp(); app.Configure(config => { config.SetApplicationName("fake-dotnet"); config.ValidateExamples(); config.AddExample("run", "--no-build"); // Run config.AddCommand("run"); // Add config.AddBranch("add", add => { add.SetDescription("Add a package or reference to a .NET project"); add.AddCommand("package"); add.AddCommand("reference"); }); // Serve config.AddCommand("serve") .WithExample("serve", "-o", "firefox") .WithExample("serve", "--port", "80", "-o", "firefox"); }); return app.Run(args); } }