KQ-766 · SHELL/TAIL
Shell Tail
A command block whose output tails in line by line, each line landing with a fade and a 4px rise on flick while the box's measured height glides to fit until it scrolls and follows the tail. A ring turns in the header while the command runs; the exit code stamps on recoil when it is 0 and lands firmly on flick when it is not. The output is a focusable scrollable region, Jump to end is a real button, and the status region speaks only on state change.
KQ-766 · SHELL/TAIL
~/basinworks $ basin sync --ledger ledger.csvNo output yetIdle · ready
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/shell-tail
Props
- command
- string
- default —
- The command as typed, printed after the prompt.
- prompt
- string
- default "$"
- Prompt glyph before the command.
- cwd
- string
- default —
- A working-directory hint printed dim before the prompt.
- lines
- ShellLine[]
- default —
- Output so far, append-only; a string is stdout, an object may mark stderr.
- state
- "idle" | "running" | "done"
- default "idle"
- Where the run is; the host owns the clock.
- exitCode
- number
- default 0
- Read when done: 0 stamps success, anything else danger.
- maxHeight
- number
- default 192
- Pixels the output box grows to before it scrolls inside itself.
- label
- string
- default —
- Names the block for assistive technology.
| Prop | Type | Default | Description |
|---|---|---|---|
| command | string | — | The command as typed, printed after the prompt. |
| prompt | string | "$" | Prompt glyph before the command. |
| cwd | string | — | A working-directory hint printed dim before the prompt. |
| lines | ShellLine[] | — | Output so far, append-only; a string is stdout, an object may mark stderr. |
| state | "idle" | "running" | "done" | "idle" | Where the run is; the host owns the clock. |
| exitCode | number | 0 | Read when done: 0 stamps success, anything else danger. |
| maxHeight | number | 192 | Pixels the output box grows to before it scrolls inside itself. |
| label | string | — | Names the block for assistive technology. |