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(new[] { "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(new[] { "serve", "-o", "firefox" }) .WithExample(new[] { "serve", "--port", "80", "-o", "firefox" }); }); return app.Run(args); } }