Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 20 additions & 8 deletions docs/reference/keyboard-shortcuts.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ Section header rows (shown when `--group-by-team-prefix` is active) are skipped

## Filtering

| Key | Action |
| --- | ------------------------------------------------------------------------------------------------------ |
| `f` | Open the filter bar and enter filter mode |
| `t` | Cycle the **filter target**: `path` → `content` → `repo` → `path`. Only works **outside** filter mode. |
| `r` | Reset the active filter and return to showing all repos / extracts |
| Key | Action |
| --- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `f` | Open the filter bar and enter filter mode |
| `t` | Cycle the **filter target**: `path` → `content` → `repo` → `path`. Only works **outside** filter mode and when **not** on a picked repo (see [Team ownership](#team-ownership) below). |
| `r` | Reset the active filter and return to showing all repos / extracts |

### Filter targets

Expand Down Expand Up @@ -69,9 +69,10 @@ Invalid regex patterns do not crash the TUI but are treated as matching nothing

Available only when `--group-by-team-prefix` is active.

| Key | Action |
| --- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `p` | On a **multi-team** section header: enter team pick mode to assign the section to a single owner. Does nothing on single-team section headers. |
| Key | Action |
| --- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `p` | On a **multi-team** section header: enter team pick mode to assign the section to a single owner. Does nothing on single-team section headers. |
| `t` | On a **picked repo** (marked `◈`, moved by a previous pick): enter re-pick mode to change its team assignment or restore it to the combined section. |

### Pick mode bindings

Expand All @@ -83,6 +84,17 @@ When pick mode is active (after pressing `p` on a multi-team section header):
| `Enter` | Confirm the pick and exit pick mode |
| `Esc` | Cancel and exit pick mode without changes |

### Re-pick mode bindings

When re-pick mode is active (after pressing `t` on a picked repo marked `◈`):

| Key | Action |
| ----------- | --------------------------------------------------------------------------------------------------- |
| `←` / `→` | Cycle through candidate teams (from the original combined section label) |
| `Enter` | Confirm and move the repo to the focused candidate team |
| `0` / `u` | Undo the entire section pick — restore all repos from that combined section to their original label |
| `Esc` / `t` | Exit re-pick mode without changes |

## Help and exit

| Key | Action |
Expand Down
28 changes: 14 additions & 14 deletions docs/usage/interactive-mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,20 @@ github-code-search "useFeatureFlag" --org fulll

## Keyboard shortcuts

| Key | Action |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `↑` / `↓` | Navigate between repos and extracts |
| `←` | Fold the repo under the cursor |
| `→` | Unfold the repo under the cursor |
| `Space` | Select / deselect the current repo or extract |
| `a` | Select **all** — on a repo row: all repos and extracts; on an extract row: all extracts in that repo. Respects any active filter. |
| `n` | Select **none** — same context rules as `a`. Respects any active filter. |
| `f` | Open the **filter bar** — type to narrow visible repos or files |
| `t` | Cycle the **filter target**: `path` → `content` → `repo` → `path` |
| `r` | **Reset** the active filter and show all repos / extracts |
| `h` / `?` | Toggle the **help overlay** |
| `Enter` | Confirm and print selected results (also closes the help overlay) |
| `q` / `Ctrl+C` | Quit without printing |
| Key | Action |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `↑` / `↓` | Navigate between repos and extracts |
| `←` | Fold the repo under the cursor |
| `→` | Unfold the repo under the cursor |
| `Space` | Select / deselect the current repo or extract |
| `a` | Select **all** — on a repo row: all repos and extracts; on an extract row: all extracts in that repo. Respects any active filter. |
| `n` | Select **none** — same context rules as `a`. Respects any active filter. |
| `f` | Open the **filter bar** — type to narrow visible repos or files |
| `t` | Cycle the **filter target**: `path` → `content` → `repo` → `path`. When on a **picked repo** (marked `◈`, `--group-by-team-prefix` active): enter re-pick mode instead. |
| `r` | **Reset** the active filter and show all repos / extracts |
| `h` / `?` | Toggle the **help overlay** |
| `Enter` | Confirm and print selected results (also closes the help overlay) |
| `q` / `Ctrl+C` | Quit without printing |

## Selection behaviour

Expand Down
43 changes: 40 additions & 3 deletions docs/usage/team-grouping.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,48 @@ github-code-search query "useFeatureFlag" --org fulll \

The flag is repeatable — add one `--pick-team` per combined section to resolve. The replay command emits `--pick-team` automatically when a pick was confirmed in the TUI.

> **Note:** Per-repo re-picks performed in the TUI (pressing `t` on a `◈` repo) are **not** encoded in the replay command. They are interactive-only adjustments and must be repeated manually if you re-run the command.

If the combined label is not found (typo, or the section was not formed), a warning is emitted on stderr listing the available combined sections — the run continues without error.

::: tip Combined with --dispatch
`--pick-team` resolves ownership at the **section level** (all repos in the section move to one team). For finer-grained control — assigning individual repos or extracts to different teams — see `--dispatch`.
:::
## Re-pick & undo pick
Comment thread
shouze marked this conversation as resolved.

After using `--pick-team` (or the interactive `p` shortcut) to assign a combined section to a team, individual repos marked `◈` can be re-assigned or restored to their original combined section at any time.

### TUI — re-pick mode

Navigate to any **picked repo** (marked `◈`) and press **`t`** to enter re-pick mode.

Comment thread
shouze marked this conversation as resolved.
```text
── squad-frontend
▶ ◈ fulll/frontend-app ← press t here
▶ ◈ fulll/mobile-sdk
```

The hints bar shows a horizontal pick bar — exactly like team pick mode — with the current focused team highlighted in `[ brackets ]`:

```text
Re-pick: [ squad-frontend ] squad-mobile 0/u restore ← → move ↵ confirm Esc/t cancel
```

| Key | Action |
| ----------- | --------------------------------------------------------------- |
| `←` / `→` | Cycle through candidate teams |
| `Enter` | Confirm and move repo to the focused team |
| `0` / `u` | Restore **all** repos from the combined section (undo the pick) |
| `Esc` / `t` | Exit re-pick mode without changes |

### Undoing a pick (merge)

Pressing `0` or `u` in re-pick mode restores **all** repos from the same combined section back to where they came from (e.g. `squad-frontend + squad-mobile`). Every `◈` badge from that section is removed and all repos are treated as unassigned again.

```text
── squad-frontend + squad-mobile ← all repos restored
▶ ◉ fulll/frontend-app
▶ ◉ fulll/mobile-sdk
```

In **non-interactive mode**, undoing a pick is implicit: simply omit the `--pick-team` flag for that combined section in the replay command.
Comment thread
shouze marked this conversation as resolved.

## Team list cache

Expand Down
Loading
Loading