Drun Automation Language Support (With AI features)
Write and run readable project automation in VS Code. This extension adds syntax highlighting and editor support for Drun, the automation language executed by the xdrun CLI.
What you get
- Syntax highlighting for
.drun files
- Comments, bracket matching, auto-closing pairs, and code folding
- Diagnostics and completions when
xdrun is installed
- Support for tasks, conditions, loops, Docker, Git, HTTP, secrets, orchestration, and more
Get started
- Install this extension.
- Install
xdrun to run Drunfiles and enable language-server features.
- Open or create a file ending in
.drun.
Try a small task:
version: 2.0
task "hello":
step "Hello from Drun"
run "echo Hello from the shell"
Run it from your project directory with xdrun.
Teach your AI agents how to use drun
In a hurry? Let your agents work for you. Install the basics skill in your current project with:
xdrun cmd:skill install drun-basics
Language-server support
When xdrun is available on your PATH, the extension starts xdrun cmd:lsp automatically for .drun files. This provides parser-backed diagnostics, keyword completions, and annotation highlighting.
The extension still provides syntax highlighting when xdrun is not installed.
Settings
| Setting |
Default |
Description |
drun.enableLanguageServer |
true |
Enable or disable automatic language-server startup. |
drun.xdrunPath |
xdrun |
Path to, or command name for, the xdrun executable. |
Repository dogfooding
This repository uses .drun/spec.drun for its own common
tasks. The file is also a small, runnable example of JSON file-value operations:
xdrun check
xdrun build
xdrun ci
xdrun set-version version=1.0.5
xdrun prepare-release version=v1.0.5
The check and set-version tasks demonstrate get json, check json, and
update json against the extension manifest before using the existing pnpm
scripts. prepare-release is the repeatable release checklist: the developer
chooses the next major, minor, or patch version, Drun rejects a version that is
already the latest GitHub tag, updates the manifest when needed, and runs lint,
tests, and the build through the same ci task used by normal development. It
deliberately does not package the extension, so
xdrun package remains available for quick local VSIX testing.
prepare-release accepts the selected version with or without a leading v;
the extension manifest always receives the normalized, unprefixed version.
Learn Drun
Found a problem with the extension? Open an issue.