About ScripTree
ScripTree started as a solution to a problem that every power user of professional desktop software eventually hits: you have a script, a macro, or a small automation tool that does something genuinely useful, but sharing it with your team — or with the broader community — means asking them to run a CLI tool from a terminal, which most people will not do. ScripTree turns the CLI into a GUI so the tool can travel.
Mission
Our mission is to make script-driven apps first-class citizens of the professional software ecosystem. A ScripTree app is a self-contained folder describing a tool and its parameters, distributable through a marketplace or shared directly between teammates, that runs the same way whether it came from a public catalog or a USB stick.
The platform
The ScripTree runtime is the foundation. It handles:
- GUI generation — auto-parses
--helpoutput fromargparse,click, PowerShell, Windows/flag, and GNU tools to build a form for any CLI - Named configurations — save multiple form states per tool with environment overrides and hidden parameters
- Standalone mode — strip the editor chrome down to just the form for end users
- Host integration — bundled
combridgeplugins for SolidWorks, Microsoft Office (Excel / Word / PowerPoint / Outlook), and other host applications you script against - File-based permissions — 32 capability files with secure defaults, NTFS-ACL compatible
- Encrypted credentials — run-as-different-user with XOR pad and immediate zeroization
- Distribution surfaces — apps can be shipped through the ScripTreeApps marketplace or by simply sharing the folder
Give your scripts a GUI without writing GUI code
A ScripTree app is described in a single text file — a .scriptree describing the tool’s parameters and how to invoke it. You can write that file by hand, but you don’t have to. Point any modern LLM (Claude, ChatGPT, Cursor, Aider, your editor’s built-in assistant) at the documentation folder inside any ScripTree installation — docs/LLM/ in 0.8.0a20 and newer, help/LLM/ in older builds — and the model has the complete authoring specification: parameter types and widgets, argv template syntax, dynamic provider hooks, menu and icon options, and a validation tool to check its output.
What that means in practice:
- Hand the LLM your existing script — Python, PowerShell, Bash, anything with a CLI.
- Point it at the
docs/LLM/(orhelp/LLM/) folder in your ScripTree install. - It writes the
.scriptreefor you and validates it withpython -m scriptree validate <path>. - Drop the resulting folder into your forest workspace. Your CLI tool is now a clean, parameterized GUI launcher — no GUI code, no PyQt boilerplate, no manual form-building work on your part.
The same flow works for brand-new scripts. Have an LLM write the script and the .scriptree for it in one pass — you go from “I need a tool that does X” to “I have a GUI launcher for X” without writing UI code at all.
ScripTreeApps
ScripTreeApps is the reference marketplace built on ScripTree. It is a curated catalog of paid and free apps built by independent producers. ScripTreeApps handles discovery, checkout, license-disclosure presentation, and review — producers build the apps; the marketplace handles the rest.
Open source
The ScripTree runtime is open source under the MIT license. The full source lives at KenM76/scriptree; a catalogue of example apps wrapping popular CLI tools lives at KenM76/scriptree-demos.
Get involved
- Build an app — follow the getting-started guide in
scriptree-demos - Report a bug or suggest a feature — open an issue on GitHub
- Questions — contact us