static async Task Run() { var configuration = new PipelineConfiguration() .AddGlobalVariable("ID", Guid.NewGuid()) .NextStep(new StepOne(), Variables.Empty) .NextStep(new StepGlobalVariable()) .NextStepWithCommand(new StepShowMessageFromCommand(), new StepCommand() { Message = "Hello world" }) .NextStep(new StepLocalVariable(), new Variables { { "MESSAGE", "Hello from variables" } }) .NextStep(new StepAddObjectScope()) .NextStep(new StepReadScope(), Variables.Empty, "MAIN") .AddAlwaysEnd(x => { Console.WriteLine("----------- END -----------"); }) .AddBeforeStart(x => { Console.WriteLine("----------- START -----------"); }); var manager = new PipelineManager(); await manager.Configure(configuration) .Run(); }