Reference

dub-init(1)

Initializes an empty package skeleton

NAME

dub-init - Initializes an empty package skeleton

SYNOPSIS

dub init [<directory> [<dependency>...]] OPTIONS... [-- <application arguments...>]

DESCRIPTION

Initializes an empty package of the specified type in the given directory.

By default, the current working directory is used.

Custom templates can be defined by packages by providing a sub-package called "init-exec". No default source files are added in this case.

The "init-exec" sub-package is compiled and executed inside the destination folder after the base project directory has been created.

Free arguments "dub init -t custom -- free args" are passed into the "init-exec" sub-package as app arguments.

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 package description file. Possible values:
json (default), sdl

-n, --non-interactive

Don't enter interactive mode.

COMMON OPTIONS

See dub(1)

EXIT STATUS

0

DUB succeeded

1

usage errors, unknown command line flags

2

package not found, package failed to load, miscellaneous error

FILES

dub.sdl, dub.json

AUTHOR

Copyright (c) 1999-2026 by The D Language Foundation

ONLINE DOCUMENTATION

http://code.dlang.org/docs/commandline

SEE ALSO

dub(1), dub-add(1), dub-convert(1)

History

--format since Debian 13 (Trixie); --non-interactive since Debian 13 (Trixie); --type since Debian 13 (Trixie); -f since Debian 13 (Trixie); -n since Debian 13 (Trixie); -t since Debian 13 (Trixie).