# The tool

> miso doctor, upgrade, uninstall, version, help, mhs and mcabal.

Source: https://haskell-miso.org/docs/cli-tool/

Commands about the tool itself, and the compilers inside it.

### miso doctor

```
miso doctor
```

Checks the installation (the package database, `base`, miso, `cpphs`, that `$MISO_HOME` is writable), the tools (`cc`, `curl`, `tar`, `sha256sum` or `shasum`; and, as notes, `hlint`, `git` and `emcc`), and in a project, `miso.yml`, its programs and tests, source dirs, `emcc` for its browser targets, and its dependencies. It says how to fix each problem, and fails when it found one.

### miso upgrade

```
miso upgrade [VERSION]
```

Installs the latest release (or `VERSION`, e.g. `v0.1.0`) where this one is installed, by running the installer. The packages projects installed are installed again by their next build.

### miso uninstall

```
miso uninstall [--yes]
```

Removes miso: its files in `$MISO_HOME` (packages, caches, the store) and the tool where the installer put it. It lists what it removes, with sizes, and asks first; `--yes` does not ask, and is needed when the input is not a terminal. A folder that holds other files keeps them, and a tool installed with nix is never removed. It lists the lines of your shell startup files that add miso to `PATH`, for you to remove.

### miso version

```
miso version
miso --version
```

Prints `miso VERSION (MicroHs VERSION)`.

### miso help

```
miso help
miso --help
```

Prints the commands. `miso` with no arguments, or an unknown command, prints them too.

### miso mhs

```
miso mhs ARGS...
```

Runs the [MicroHs](https://github.com/augustss/MicroHs) compiler built into the tool, with the project's `.miso/` packages and the tool's as its package path. With a bare `-a` in ARGS (which clears mhs's package path), miso leaves the package path to ARGS.

### miso mcabal

```
miso mcabal ARGS...
```

Runs [MicroCabal](https://github.com/augustss/MicroCabal), which compiles with `miso mhs`.
