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.
- Syntax highlighting for
.drunfiles - Comments, bracket matching, auto-closing pairs, and code folding
- Diagnostics and completions when
xdrunis installed - Support for tasks, conditions, loops, Docker, Git, HTTP, secrets, orchestration, and more
- Install this extension.
- Install
xdrunto 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.
In a hurry? Let your agents work for you. Install the basics skill in your current project with:
xdrun cmd:skill install drun-basicsWhen 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.
| 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. |
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.5The 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.
Found a problem with the extension? Open an issue.
