<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Leave Script Behind</title>
    <description>The latest articles on DEV Community by Leave Script Behind (@lsb).</description>
    <link>https://dev.to/lsb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2643686%2F4d75f062-e4e8-4da1-9950-2f0b44b629f1.png</url>
      <title>DEV Community: Leave Script Behind</title>
      <link>https://dev.to/lsb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lsb"/>
    <language>en</language>
    <item>
      <title>Announcing Leave Script Behind — A New Way to Build and Use Script‑Driven Workflows</title>
      <dc:creator>Leave Script Behind</dc:creator>
      <pubDate>Tue, 06 Jan 2026 04:27:49 +0000</pubDate>
      <link>https://dev.to/lsb/announcing-leave-script-behind-a-new-way-to-build-and-use-script-driven-workflows-24b4</link>
      <guid>https://dev.to/lsb/announcing-leave-script-behind-a-new-way-to-build-and-use-script-driven-workflows-24b4</guid>
      <description>&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;I’m excited to announce the release of &lt;strong&gt;Leave Script Behind (LSB)&lt;/strong&gt; — a cross‑platform tool I’ve been developing over the past few years. Originally created for developers and DevOps engineers, LSB has matured into a general‑purpose workflow engine that I believe can benefit a much wider audience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvpxzq9woa4ly7tkm26o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvpxzq9woa4ly7tkm26o.png" alt=" " width="800" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why LSB?
&lt;/h2&gt;

&lt;p&gt;As more services move online, developers increasingly work in DevOps environments where command‑line tools and shell scripting are part of daily life — from coding and deployment to live‑site investigation and mitigation. Depending on the operating system, users may need to work with PowerShell, bash, zsh, or other shells, each with its own syntax, command set, parameters, and quirks.&lt;/p&gt;

&lt;p&gt;Shells are powerful, but they come with challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A steep learning curve for new users&lt;/li&gt;
&lt;li&gt;Inconsistent syntax and command behavior across platforms&lt;/li&gt;
&lt;li&gt;Plain‑text input/output that is difficult to navigate or reuse&lt;/li&gt;
&lt;li&gt;Limited ability to interact with intermediate data&lt;/li&gt;
&lt;li&gt;Scripts that are hard to maintain, remember, or safely reuse&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LSB was designed to address these pain points.&lt;/p&gt;

&lt;h2&gt;
  
  
  What LSB Provides
&lt;/h2&gt;

&lt;p&gt;LSB introduces a &lt;strong&gt;GUI‑driven, interactive, reusable&lt;/strong&gt; approach to working with shell commands and scripts. Instead of memorizing commands or manually parsing text output, users work through &lt;strong&gt;LSB views&lt;/strong&gt; — reusable, configurable workflows that combine UI controls, data visualization, and script execution.&lt;/p&gt;

&lt;p&gt;An LSB view functions like a script file, but with far richer capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interactive Data Visualization

&lt;ul&gt;
&lt;li&gt;List views, tree views, chart views, and more&lt;/li&gt;
&lt;li&gt;Visual graph types including bar charts, pie charts, histograms, heat maps&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;User‑Driven Workflow Navigation

&lt;ul&gt;
&lt;li&gt;Select data entries with the mouse to drive the next step&lt;/li&gt;
&lt;li&gt;Interact with intermediate results instead of reading raw text&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Flexible Input Controls

&lt;ul&gt;
&lt;li&gt;Text, numbers, file pickers, and other typed inputs&lt;/li&gt;
&lt;li&gt;Layout defined through simple XML configuration&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Integrated Data Connectivity

&lt;ul&gt;
&lt;li&gt;Built‑in support for SQL databases, Web APIs, and other data sources&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Multi‑Language Scripting

&lt;ul&gt;
&lt;li&gt;Embedded Lua for cross‑platform logic&lt;/li&gt;
&lt;li&gt;Support for any shell available on the host OS&lt;/li&gt;
&lt;li&gt;Ability to mix Lua, PowerShell, bash, zsh, and more within a single view&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Reusable Workflows

&lt;ul&gt;
&lt;li&gt;Save and reuse views to eliminate repetitive command‑line work&lt;/li&gt;
&lt;li&gt;Share views through the LSB repository so others can benefit&lt;/li&gt;
&lt;li&gt;A simple way for developers to publish their workflows and gain visibility&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;For end users, this means they can complete complex tasks without knowing the underlying commands. For developers, it means they can build powerful workflows using the languages and shells they prefer — or combine them for maximum flexibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sample Views
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Chart View Sample
&lt;/h3&gt;

&lt;p&gt;This view demonstrates the ChartView control and renders multiple chart types using data generated by embedded Lua scripts. Details about each UI component are available in the built‑in help documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6edxi5v81ze4xotz3bm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6edxi5v81ze4xotz3bm.png" alt=" " width="800" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  File Explorer View
&lt;/h3&gt;

&lt;p&gt;A cross‑platform file browser implemented entirely as an LSB view. It works on Windows, Linux, and macOS, and shows how LSB can be used to build practical, interactive tools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2dgayqtnxjg5cwqwdkv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2dgayqtnxjg5cwqwdkv.png" alt=" " width="800" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Graphviz View
&lt;/h3&gt;

&lt;p&gt;This view uses the Graphviz dot command to provide a lightweight graph‑editing environment with live preview. A TextInput widget serves as the editor, the dot tool renders the text into SVG, and a WebView displays the resulting graph. With a few additional controls and Lua integration, the view also supports opening and saving files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9mnpw88unnnvh9n5j6x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9mnpw88unnnvh9n5j6x.png" alt=" " width="800" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additional sample views are included in the default repository and will be automatically downloaded on first launch via Git.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Out
&lt;/h2&gt;

&lt;p&gt;The current version is 0.7.2, and it is available for download at:&lt;br&gt;
&lt;a href="https://github.com/xjluo-lsb/lsb.views/releases" rel="noopener noreferrer"&gt;https://github.com/xjluo-lsb/lsb.views/releases&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you try it out, I’d love to hear your feedback. Please feel free to share suggestions or report issues at:&lt;br&gt;
&lt;a href="https://github.com/xjluo-lsb/lsb.views/issues" rel="noopener noreferrer"&gt;https://github.com/xjluo-lsb/lsb.views/issues&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Leave Script Behind</title>
      <dc:creator>Leave Script Behind</dc:creator>
      <pubDate>Fri, 16 May 2025 16:05:19 +0000</pubDate>
      <link>https://dev.to/lsb/leave-script-behind-25ip</link>
      <guid>https://dev.to/lsb/leave-script-behind-25ip</guid>
      <description>&lt;p&gt;Leave Script Behind (aka LSB) is a tool I developed in the past years, it was initially designed for developers, more specifically, DevOps. I have been working on it for a few years and I think it's time to publish it for others to benefit from it.&lt;/p&gt;

&lt;p&gt;Since from the invention of the Internet, more and more software are moved to the online world as services, and the developers are moved to work in the DevOps mode. Besides the coding environments, they inevitably need to work with shells and command line tools as part of their daily work, from coding work, to service deployment, live site investigation and mitigation, etc. Depends on which operating systems they are using, they may need to interact with different types of command-line shells, such as PowerShell on Windows, GNU bash on Linux, and zsh on Mac OS X, etc.&lt;/p&gt;

&lt;p&gt;The shells are known as providing capabilities to allow user to run commands/programs on operating systems, and allow users to create scripts to chain commands as needed to complete complicated tasks, and then repeat the same work later by simply run the script solely. Along with the flexibility and great power come with the shells and scripts, there is also a steep learning curve for new users to master all the knowledge needed to achieve what they want to do, such as the different command set provided by the shell(s), the usage of each command, including the various parameters supported by each command, unique values for the command parameters, and writing shell scripts in correct syntax. Besides, both the shell input and output are usually presented in plain text in the shell console, which means that users must have knowledge beforehand on how to read them and how to expose more details from them. There is no way or no good way for users to interact with the result data after it's outputted to the console in plain text. Only if user runs the command and stores the result into a variable, then there could be certain limited ways for user to manipulate the result data to digest more.&lt;/p&gt;

&lt;p&gt;The LSB is a cross-platform tool designed with the goal to reduce the pains decribed above - it provides graphics UI for collecting inputs for scripts/commands, renders the script/command output data through various controls, chains multiple sequences of shell scripts and commands to complete complicated tasks, allows user to interact with data through GUI in the middle of script execution, offers a way to store and reuse the same processes (named LSB views) later for the same tasks. With a LSB view, user can interact with the data from script output to create the input for the next step (the next sequence of commands), and so on, step by step, till the workflow reaches its end and user completes a complex task. By reusing the LSB views, it can greatly ease the user's work - no need to remember all the shell commands, their parameters, and error-prone parameter combinations. Users can repetitively execute the same set of commands again and again with the same view. Each LSB view provides funtionality similiar to a script file but offers much richer capabilities such as,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data visualizaion through various view controls like list view, tree view, chart view and many others.&lt;/li&gt;
&lt;li&gt;Interaction with the intermediate data, select different data entries to continue the workflow with different logic and actions.&lt;/li&gt;
&lt;li&gt;Multiple input controls available for users to input values in various data types, from integer, string, to files, etc.&lt;/li&gt;
&lt;li&gt;Layout capability to arrange the input controls and data view controls through simple XML configuration, and render the result in GUI window.&lt;/li&gt;
&lt;li&gt;Embedded support for data connectivity to SQL databases, Web APIs, etc. with configuration defined in the view file.&lt;/li&gt;
&lt;li&gt;Lua language intergation in LSB for data processing and task execution.&lt;/li&gt;
&lt;li&gt;Extensibility to support any shell type that the host operating system supports for running shell scripts to implement desired functionalities.&lt;/li&gt;
&lt;li&gt;Ability to mix multiple script snippets in the same type or different types (e.g., Lua, PowerShell, bash, zsh) in the same view to complete complicated tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the end users, they only need to learn how to use the LSB views to complete tasks, without the need to know the underlying commands and scripts. The GUI views are more intuitive than their command line counterparts. For developers, LSB views can be implemented using their preferred shells/languages, and they can also mix different shells within a single LSB view to create the most effective workflow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It significantly enhances the experience on how the end users can interact with the intermediate data generated from a set of commands,

&lt;ul&gt;
&lt;li&gt;Allow users to view the data in well-organized formats like list view, tree view, etc.&lt;/li&gt;
&lt;li&gt;Enable data visualization in various graph types, including but not limited to bar charts, pie charts, histograms, and heat maps.&lt;/li&gt;
&lt;li&gt;Allow users to select data entries (using mouse) as input for subsequent workflow steps.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;The Lua language embedded within LSB ensures cross-platform compatibility. By utilizing only Lua scripts within a LSB view, the view can operate seamlessly across all platforms, including Windows, Linux, and Mac OS X.&lt;/li&gt;

&lt;li&gt;Uploading a LSB view to the LSB repository makes it accessible to all LSB users, allowing any user to reuse the views created by others effortlessly. This is also an easy way for the view developers to pushlish their work, and get acknowledged by other developers and users.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Here's how a sample LSB view named "Chart view sample" looks like,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bryzgij5w1isko66t7j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bryzgij5w1isko66t7j.jpg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This view uses the ChartView control supported in LSB to render different chart types. The data used for these charts are generated using the embedded Lua scripts. More details on which components are on the UI can be found in the help documents for the LSB, which is accessible from either the menu item or the tool button in the LSB main window.&lt;/p&gt;

&lt;p&gt;And here's another sample view named "File Explorer View" that can be used to access the folder hierachy and file list on a machine, no matter it's running Mac OS X, Linux or Windows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmovtmtn140vy1s9bs124.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmovtmtn140vy1s9bs124.jpg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are more sample views come with the default view repository, and they will all be downloaded to your machine locally on the first time launch using GIT client.&lt;/p&gt;

&lt;p&gt;This application is currently at version 0.7.0 and it can be downloaded at &lt;a href="https://github.com/xjluo-lsb/lsb.views/releases/tag/0.7.0" rel="noopener noreferrer"&gt;https://github.com/xjluo-lsb/lsb.views/releases/tag/0.7.0&lt;/a&gt;. Try to get a copy and play with it. And please feel free to let me know what you think about it and report any issue you see through email leave.script.behind AT outlook.com.&lt;/p&gt;

&lt;p&gt;Thank you,&lt;br&gt;
Kevin&lt;/p&gt;

</description>
      <category>lsb</category>
      <category>devops</category>
      <category>shell</category>
    </item>
  </channel>
</rss>
