# CLI (/academy/cli)



The [builder](/builder) is a dining room. You sit down, you pick Next, you pick Hono, you click through the menu. Someone designed those buttons so you do not have to remember the words.

Fine for choosing. Slow for repeating.

**A CLI is the phone on the kitchen wall.** Command-line interface. No host. No printed specials. No "click next." You say the order in the kitchen's shorthand and the kitchen does it. The black box with the blinking cursor is not a movie set. It is that phone, off the hook, waiting.

```bash
npx create-hackhaton-space-stack@latest my-app
```

No homepage. You typed a sentence. A folder appeared.

**CLI** means the line that starts with `$`. You type. It answers.

**Read one order left to right**

```bash
npx create-hackhaton-space-stack@latest my-app --frontend next --backend hono --yes
```

* `npx` — run this package. Do not make me install it first.
* `create-hackhaton-space-stack@latest` — this kitchen, newest recipe.
* `my-app` — the folder to make.
* `--frontend next` / `--backend hono` — flags. A flag is a labeled box on the order form.
* `--yes` — skip the questions. Use the rest of the defaults.

Misspell a flag and the kitchen says it does not know that dish. That is useful. Guessing in a dashboard just lands you on the wrong page.

The builder is how you *decide* a [stack](/academy/stack). The CLI is how you *stamp* that decision onto a disk, a CI job, or a teammate's laptop. Same product. Two doors. The pretty one is for picking. The phone is for people — and AIs — who already know the order.

**Every serious tool has a phone.**

`gh` talks to [GitHub](/academy/github). `bun` talks to the runtime. Stripe has one. So does this stack. Each is a different kitchen on the same kind of line. Learn one receipt and the next one looks familiar: a verb, some flags, enter.

The line is just another way to stand at the [API](/academy/api) window. The dashboard walks you through five screens to place the same order. The phone says it once.

**Two reasons this matters at a hackathon**

1. Speed. Six clicks and three spinners is often one line you can paste. Once you have the line, you stop hunting for the button.

2. This is the one to keep: &#x2A;*[agents](/academy/agent) live on this line.** A mouse needs a hand. A sentence does not.

An agent cannot lean through the glass and tap Generate on the builder. It can paste `npx create-hackhaton-space-stack@latest … --yes` and leave a repo. The plugin, the [MCP](/academy/mcp) tools, the JSON commands — those are hands that only work if the job can be said out loud.

So the rule, said plainly:

**If you can type it, you can hand it over. If it only exists as a click, you are still in the chair.**

You do not need a hundred commands in your head. You need to know the phone is there. Forget a flag — you will — and ask: "I'm scaffolding with create-hackhaton-space-stack. What's the flag for Convex?" That is the move. The window stops being mysterious the moment you treat it like a place to say a sentence and get a folder.

The dining room is how you choose. The phone is how the work actually starts.
