# Start Here

> Install the CLI, scaffold a workspace, and open your first document in the browser.

Source: https://docxcelerate.com/docs/start-here/

You need **Node.js 20 or newer**, and nothing else.

Authoring, preview and DOCX packing all run on your machine. There's no account
to create and no service to reach before you see a document.

## Install the CLI

```sh
npx docxcelerate init my-documents
cd my-documents
npm run dev
```

That's the whole first run. If you'd rather have the command on your path:

```sh
npm install -g docxcelerate
dxcl init my-documents
```

Or add it to a repository you already have, so `npx dxcl` resolves locally:

```sh
npm install --save-dev docxcelerate
npx dxcl init my-documents
```

Note the first command is `npx docxcelerate`, not `npx dxcl`. npx resolves the
*package* name; the binary inside it is what's called `dxcl`.

## Scaffold a workspace

```sh
dxcl init my-documents
```

`dxcl init` writes a self-contained Vite workspace and runs `npm install` in it.
Called with no arguments it asks for the name, the template and the API endpoint
instead of taking them as flags:

```sh
dxcl init
```

| Flag | What it does |
| --- | --- |
| `--dir <parent-dir>` | Creates the workspace inside an existing directory |
| `--sample` | Includes a working document to read (the default) |
| `--blank` | Leaves `documents/` empty |
| `--api-endpoint <url>` | Points the workspace at a generation engine |
| `--no-api-endpoint` | Sets up without one; you can add it later |

The endpoint is only needed for documents with AI-written text, and it can be
filled in at any time — see [the engine](/docs/generation/endpoint/).

## What you get

```text
my-documents/
  docxcelerate.config.json
  index.html
  package.json
  tsconfig.json
  vite.config.ts
  .gitignore
  preview/
    main.ts
    styles.css
  documents/
    welcome/
```

Everything above `documents/` is the preview app. `documents/` is your work: one
directory per document, and with `--sample` it starts with `welcome/` already in
it.

`docxcelerate.config.json` holds named presets for build and upload behaviour.
Everything else is an ordinary Vite project — open it in your editor and it will
behave like one.

## Open the preview

```sh
npm run dev
```

The preview site comes up on `127.0.0.1:4507`. Pick a document and it is
resolved against its preview data, packed into a real `.docx` in the browser,
and read back with `docx-preview` — so what you are looking at is the file
itself, not an approximation of it.

Edit any file under `documents/` and the page reloads with the change in place.

Three more scripts come with the workspace:

| Script | What it runs |
| --- | --- |
| `npm run document:new` | `dxcl document new` — a new document |
| `npm run document:node` | `dxcl document node` — a new node in one |
| `npm run documents:check` | `tsc` over every document |

## Where to go next

- [Writing nodes](/docs/writing-nodes/) — the pieces a document is made of
- [Document projects](/docs/document-projects/) — the files in a document, and what configures them
- [The node model](/docs/nodes/overview/) — every node type, with previews of each
