Skip to content

Repository files navigation

Drun Automation Language Support (With AI features)

Drun

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

  1. Install this extension.
  2. Install xdrun to run Drunfiles and enable language-server features.
  3. 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.

About

The Drun automation language's official VS Code extension

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages