## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# The init command

There is some minimal boilerplate that is the same for every new book. It’s for this purpose that mdBook includes an `init` command.

The `init` command is used like this:

    mdbook init

When using the `init` command for the first time, a couple of files will be set up for you:

    book-test/
    ├── book
    └── src
        ├── chapter_1.md
        └── SUMMARY.md

- The `src` directory is where you write your book in markdown. It contains all the source files, configuration files, etc.

- The `book` directory is where your book is rendered. All the output is ready to be uploaded to a server to be seen by your audience.

- The `SUMMARY.md` is the skeleton of your book, and is discussed in more detail in another chapter.

#### Tip: Generate chapters from SUMMARY.md

When a `SUMMARY.md` file already exists, the `init` command will first parse it and generate the missing files according to the paths used in the `SUMMARY.md`. This allows you to think and create the whole structure of your book and then let mdBook generate it for you.

#### Specify a directory

The `init` command can take a directory as an argument to use as the book’s root instead of the current working directory.

    mdbook init path/to/book

#### `--theme`

When you use the `--theme` flag, the default theme will be copied into a directory called `theme` in your source directory so that you can modify it.

The theme is selectively overwritten, this means that if you don’t want to overwrite a specific file, just delete it and the default file will be used.

#### `--title`

Specify a title for the book. If not supplied, an interactive prompt will ask for a title.

    mdbook init --title="my amazing book"

#### `--ignore`

Create a `.gitignore` file configured to ignore the `book` directory created when building a book. If not supplied, an interactive prompt will ask whether it should be created.

    mdbook init --ignore=none

    mdbook init --ignore=git

#### `--force`

Skip the prompts to create a `.gitignore` and for the title for the book.