# What WU CLI does

Understand how the CLI prepares a WU project and supports you from the first app to production files.

See versions, changes and requirements in [Framework 4.0 and CLI 1.2](/docs/guides/releases/).


WU CLI is the terminal tool for setting up and developing WU projects. With the `wu` command, you can create the page that brings your applications together, add an app, start development, and build the files you will publish.

<span id="el-trabajo-que-te-ahorra"></span>

<span class="section-anchor" id="section-1"></span>

## The work it saves you

A React application and a Vue application each have their components, dependencies, and build commands. To display them together, you also need a **shell**: the page that reserves their spaces and decides when they appear.

The CLI generates this structure and records the relationship between shell and apps in `wu.config.json`. The folder containing them is called a **workspace**. From its root, you can install project dependencies, access development through a single HTTP origin, and collect builds in `dist/`.

<span id="cli-y-framework-tienen-trabajos-distintos"></span>

<span class="section-anchor" id="section-2"></span>

## The CLI and framework have different jobs

| Tool | Where you use it | What it does |
| --- | --- | --- |
| `@wu-framework/cli` | In the terminal, through `wu` | Generates files, installs dependencies, develops, and builds the project. |
| `wu-framework` | In application code | Loads and mounts apps; coordinates events, state, calls, and permissions. |

The CLI prepares the project the user opens; the runtime keeps coordinating apps after that project is published. If the relationship between app, shell, and runtime is still new to you, start with [What is WU](/docs/framework/overview/).

<span id="el-recorrido-habitual"></span>

<span class="section-anchor" id="section-3"></span>

## The usual workflow

Start with one app and check that it appears in the shell. Add more once you can recognize the project's parts.

| Step | Command | Result you should recognize |
| --- | --- | --- |
| Create | `wu create` | A folder with the shell, first microapp, and `wu.config.json`. |
| Install | `wu install` | Dependencies ready for the project commands. |
| Develop | `wu dev` | The shell and apps accessible in the browser during development. |
| Add another app | `wu add <framework> <name>` | A new app folder and its configuration entry. |
| Build | `wu build` | Production files collected in `dist/`. |
| Review production | `wu serve 4100` | The contents of `dist/` served locally over HTTP. |

You can repeat the **add → install when needed → develop** cycle before building. `wu add` attempts installation by default; `--no-install` defers it until you run `wu install`.

`wu serve` lets you review the build. To publish it, give the files in `dist/` to your hosting platform; the CLI does not include a `deploy` command.

<span id="hazlo-paso-a-paso"></span>

<span class="section-anchor" id="section-4"></span>

## Follow it step by step

1. [Your first app](/docs/guides/quickstart/): prepare the environment, generate the shell, and check a microapp in the browser.
2. [Add another app](/docs/guides/add-an-app/): integrate another framework and distinguish its files from those of the first app.
3. [Prepare production](/docs/guides/production/): build, serve the result, and check what you will publish.

CLI `1.2.0` templates declare `wu-framework: ^4.0.0`. See [Installation and versions](/docs/cli/installation/).

<span id="dónde-trabajar-dentro-del-proyecto"></span>

<span class="section-anchor" id="section-5"></span>

## Where to work inside the project

| File or directory | What you will find there |
| --- | --- |
| `wu.config.json` | The relationship between shell and apps, their commands, and workspace options. |
| `shell/` | The host page and its navigation. |
| `mf-*/` | Each microapp's components and dependencies. |
| `dist/` | The output of `wu build`, ready to review and publish. |

Edit the sources in `shell/` or the corresponding microapp. The contents of `dist/` are regenerated on every build. [Configuration](/docs/cli/configuration/) explains `wu.config.json` fields; [Create](/docs/cli/create/) and [Add](/docs/cli/add/) detail generator options.

<span id="cuando-necesites-consultar-un-comando"></span>

<span class="section-anchor" id="section-6"></span>

## When you need to look up a command

Use `wu --help` for general help and `wu --version` to check the version. To review a project, `wu info` shows detected configuration and [wu doctor](/docs/cli/doctor/) inspects its consistency.

The [command reference](/docs/cli/api-reference/) gathers arguments, results, and limits. These are the options recognized in the documented version:

The CLI includes `wu catalog` to inspect generated versions and `wu upgrade` to migrate existing manifests and templates. `wu update` updates the CLI; `wu upgrade` prepares the project; `wu install` installs its dependencies. See the [migration walkthrough](/docs/cli/dependencies/).