All apps/DUB

DUB

dub

Build tool for D projects

Runs as dub|macOS, Linux, Windows|dub.pm

Command form

ai-draft · 4 tasks · 33 fields

Common DUB jobs: build, run, test and create a package. Dependency management, dub.json editing and describe/generate commands are not covered.

Opens the form; the finished command lands at your prompt, unrun
otty gui dub

dub build

Build a package
Build a packageExample values, fixed in this page — nothing here reaches a terminal
Basic
Package
string
Build type
string
Configuration
string
Compiler
string
TasksEach one presets the form for one job
Build
packagebuildconfigcompiler
ParametersOnly these flags are editable in the form
Package
Package name, optionally name@version. Defaults to the package in the current directory.
string · positional 0
Build type
One of the built-in build types or a custom type.
string
--build-b
Configuration
string
--config-c
Compiler
dmd, gdc, ldc, gdmd, ldmd or a path to a compiler binary.
string
--compiler
Architecture
For example x86 or x86_64.
string
--arch-a
Force recompilation
boolean
--force-f
Build in a single compiler run
boolean
--combined
Parallel compiler instances
boolean
--parallel
Skip dependency resolution
boolean
--nodeps

dub run

Build and run a package
Build and run a packageExample values, fixed in this page — nothing here reaches a terminal
Basic
Package
string
Build type
string
Configuration
string
Compiler
string
TasksEach one presets the form for one job
Build and run
packagebuildconfigcompiler
ParametersOnly these flags are editable in the form
Package
Package name, optionally name@version. Defaults to the package in the current directory.
string · positional 0
Build type
One of the built-in build types or a custom type.
string
--build-b
Configuration
string
--config-c
Compiler
dmd, gdc, ldc, gdmd, ldmd or a path to a compiler binary.
string
--compiler
Architecture
For example x86 or x86_64.
string
--arch-a
Force recompilation
boolean
--force-f
Build in a single compiler run
boolean
--combined
Parallel compiler instances
boolean
--parallel
Skip dependency resolution
boolean
--nodeps

dub test

Run unit tests
Run unit testsExample values, fixed in this page — nothing here reaches a terminal
Basic
Package
string
Configuration
string
Compiler
string
Code coverage
--coverage
TasksEach one presets the form for one job
Run tests
packageconfigcompilercoverage
ParametersOnly these flags are editable in the form
Package
Package name, optionally name@version. Defaults to the package in the current directory.
string · positional 0
Build type
One of the built-in build types or a custom type.
string
--build-b
Configuration
string
--config-c
Compiler
dmd, gdc, ldc, gdmd, ldmd or a path to a compiler binary.
string
--compiler
Architecture
For example x86 or x86_64.
string
--arch-a
Force recompilation
boolean
--force-f
Build in a single compiler run
boolean
--combined
Parallel compiler instances
boolean
--parallel
Skip dependency resolution
boolean
--nodeps
Code coverage
boolean
--coverage
Custom main file
path
--main-file

dub init

Create a package skeleton
Create a package skeletonExample values, fixed in this page — nothing here reaches a terminal
Basic
Directory
directory
Project type
4 choicesenum
Package file format
2 choicesenum
Non-interactive
--non-interactive
TasksEach one presets the form for one job
Create a package
directorytypeformatnon_interactive
ParametersOnly these flags are editable in the form
Directory
Defaults to the current directory.
path · positional 0
Project type
enum
--type-tminimalvibe.ddeimoscustom
Package file format
enum
--format-fjsonsdl
Non-interactive
boolean
--non-interactive-n
SourcesEvery flag above is checked against these
help
dub build [<package>[@<version-spec>]] OPTIONS... -f, --force Forces a recompilation even if the target is up to date -b, --build=VALUE Specifies the type of build to perform. debug, plain, release, release-debug, release-nobounds, unittest, profile, profile-gc, docs, ddox, cov, cov-ctfe, unittest-cov, unittest-cov-ctfe, syntax and custom types -c, --confi…
manual2026-10-27

dub.pm

help
dub run [<package>[@<version-spec>]] OPTIONS... -f, --force Forces a recompilation even if the target is up to date -b, --build=VALUE Specifies the type of build to perform. debug, plain, release, release-debug, release-nobounds, unittest, profile, profile-gc, docs, ddox, cov, cov-ctfe, unittest-cov, unittest-cov-ctfe, syntax and custom types -c, --config=…
manual2026-10-27

dub.pm

help
dub test [<package>[@<version-spec>]] OPTIONS... --main-file=VALUE Specifies a custom file containing the main() function to use for running the tests. --coverage Enables code coverage statistics to be generated. -f, --force Forces a recompilation even if the target is up to date -b, --build=VALUE Specifies the type of build to perform. debug, plain, relea…
manual2026-10-27

dub.pm

help
dub init [<directory> [<dependency>...]] OPTIONS... -t, --type=VALUE Set the type of project to generate. Available types: minimal - simple "hello world" project (default) vibe.d - minimal HTTP server based on vibe.d deimos - skeleton for C header bindings custom - custom project provided by dub package -f, --format=VALUE Sets the format to use for the pa…
manual2026-10-27

dub.pm

Before it fills your prompt, Otty checks the installed dub against its version. A form that does not match your version is not offered.