# Interactive shell

<PageBadges />

Run `form0` without arguments to start the interactive shell. A session can keep a schema loaded
while you validate, preview, run, watch, edit, or serve it.

Use `help` to list commands available in the current mode, `status` to inspect the session, and
`exit` to leave the CLI. Commands such as `load`, `schema edit`, and `serve` update the prompt to
show the active session state.

## Command grammar by mode

| Prompt              | Input behavior                                                                                                        |
| ------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `form0>`            | Enter shell commands without a prefix.                                                                                |
| `form0(server)>`    | Enter the server-safe commands shown by `help`, such as `validate`, `preview`, `serve status`, `serve stop`, or `ai`. |
| `form0(schema)>`    | Enter schema editor commands without a prefix.                                                                        |
| `form0(ai)>`        | Unprefixed text goes to the model; CLI actions always start with `/`.                                                 |
| `form0(server,ai)>` | Use AI slash commands, including `/preview`, `/validate`, `/serve status`, and `/serve stop`.                         |

This keeps natural-language requests unambiguous in AI mode while preserving the concise shell
syntax elsewhere.

Connector installation is a terminal command rather than an interactive-shell action:

```bash
form0 connector install <name-or-path>
form0 connector --help
```

Inside the shell, use `connector help` for connector loading, configuration, testing, and status.
