Skip to content

Commit 7ebaf75

Browse files
authoredJan 31, 2025··
docs: keybinds for tui (#9831)
### Description Document the new TUI keybinds. ### Testing Instructions 👀
1 parent b04f81d commit 7ebaf75

File tree

2 files changed

+30
-11
lines changed

2 files changed

+30
-11
lines changed
 

‎docs/repo-docs/crafting-your-repository/developing-applications.mdx

+29-10
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,6 @@ You can now run your `dev` task to start your development scripts in parallel:
4242
turbo dev
4343
```
4444

45-
### Interacting with tasks
46-
47-
Some scripts allow you to type into them using `stdin` for interactive inputs. Using [the terminal ui](https://turbo.build/repo/docs/reference/configuration#ui), you can select a task, enter it, and use `stdin` as you typically would.
48-
49-
<Callout type="good-to-know">
50-
A task must be
51-
[interactive](https://turbo.build/repo/docs/reference/configuration#interactive)
52-
to enable this functionality.
53-
</Callout>
54-
5545
### Running setup tasks before `dev`
5646

5747
You may also want to run scripts that set up your development environment or pre-build packages. You can make sure those tasks run before the `dev` task with `dependsOn`:
@@ -81,6 +71,35 @@ The `--filter` flag allows you to pick a subset of your [Package Graph](/repo/do
8171
turbo dev --filter=web
8272
```
8373

74+
## Using the terminal UI
75+
76+
Turborepo's terminal UI enables a number of features that create a highly interactive experience around your tasks.
77+
78+
### Customizing your view
79+
80+
You can quickly adjust the UI to your needs using keybinds.
81+
82+
| Keybind | Action |
83+
| ------- | ----------------------------------------------------------------- |
84+
| `m` | Toggle popup listing keybinds |
85+
| ``/`` | Select the next/previous task in the task list |
86+
| `j`/`k` | Select the next/previous task in the task list |
87+
| `p` | Toggle selection pinning for selected task |
88+
| `h` | Toggle visibility of the task list |
89+
| `c` | When logs are highlighted, copy selection to the system clipboard |
90+
| `u`/`d` | Scroll logs `u`p and `d`own |
91+
92+
### Interacting with tasks
93+
94+
Some of your tools may allow you to type input into them. Examples of this include Drizzle ORM's interactive migrations or Jest's filtering and re-running of test suites.
95+
96+
You can interact with tasks that are [marked as interactive](/repo/docs/reference/configuration#interactive) to give them input.
97+
98+
| Keybind | Action |
99+
| -------- | ----------------- |
100+
| `i` | Begin interacting |
101+
| `Ctrl+z` | Stop interacting |
102+
84103
## Watch Mode
85104

86105
Many tools have a built-in watcher, like [`tsc --watch`](https://www.typescriptlang.org/docs/handbook/compiler-options.html#compiler-options),

‎docs/repo-docs/reference/configuration.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ Default: `false` (Defaults to `true` for tasks marked as `persistent`)
470470

471471
Label a task as `interactive` to make it accept inputs from `stdin` in the terminal UI. Must be used with `persistent`.
472472

473-
This task is most useful for scripts that can be manipulated while they are running, like Jest or Vitest.
473+
This option is most useful for scripts that can be manipulated while they are running, like Jest or Vitest.
474474

475475
```jsonc title="./turbo.json"
476476
{

0 commit comments

Comments
 (0)
Please sign in to comment.