ClaudeMods
☰
KO
● 0 명 접속 중 · 조회 0 회
후원프로젝트 제출
GitHub 저장소 · 작성자 5omeOtherGuy

slab-deck

Claude Code용 SLAB 스타일 제어 센터입니다. true-colour 상태 표시줄에 컨텍스트 및 속도 제한 게이지를 표시하고, 프롬프트 위 라이브 밴드, overview/context/tools/agents/git/tmux/usage 섹션이 있는 `/deck` 패널, 팝업과 tmux 탐색을 제공합니다.

5omeOtherGuy@5omeOtherGuy

5omeOtherGuy/slab-deck/tree/main/mod/slab-deck

원본 게시물 이미지1
번역 완료

이 mod 소개

slab-deck은 SLAB 디자인 언어(어두운 표면, 글리프와 결과 표시자에만 색조 사용, 박스 그리기 없음)의 Claude Code 제어 센터입니다. 두 부분으로 구성됩니다. statusline-slab.sh는 Claude Code의 상태 표시줄 슬롯을 채워 모델, 저장소/브랜치, effort, 컨텍스트, 5h 및 7d 속도 제한(70%부터 주황, 90%부터 빨강, 재설정 카운트다운), 프롬프트 캐시 적중률, 턴당 출력 스파크라인, 세션 시계와 줄 수를 true-colour 게이지로 표시합니다. mod/slab-deck은 function-hooks 플러그인 API(Claude Code 2.1.289 이상)의 mod로, 프롬프트 위에 라이브 밴드(경과 시간, 단계, 토큰, tok/s, 실행 중인 도구를 보여 주는 애니메이션 ▪▪▪ working 표시기와 유휴 시 tmux 창 링크 및 동작)를 추가합니다. /deck [section]으로 여는 도킹 패널에는 overview, context, tools, agents, git, tmux, usage가 있으며 도구 호출, 턴, tmux 패널과 키 목록용 팝업도 있습니다. 애니메이션은 셀을 제자리에서 다시 그리며 P1_REDUCED_MOTION=1 또는 SLAB_REDUCED_MOTION=1로 고정할 수 있습니다. /deck-band full|compact|off로 밴드를 전환하고 컨텍스트 또는 속도 제한이 80%를 넘으면 토스트가 표시됩니다. 저장소를 clone한 뒤 claude --plugin-dir slab-deck/mod/slab-deck을 실행하거나 CLAUDE_CODE_PLUGIN_DIRS와 statusLine을 ~/.claude/settings.json에 설정해 설치합니다. 상태 표시줄에는 jq와 git이 필요하며 tmux 및 git 기능은 tmux 안이나 git 저장소에서 자동으로 활성화됩니다. MIT 라이선스입니다.

설치

먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.

claude plugin marketplace add 5omeOtherGuy/slab-deck
claude plugin install slab-deck
원문 / README

slab-deck

A control center for Claude Code in the SLAB design language: dark surfaces, hue only on glyphs and outcome markers (› ▸ ✓ ✗ ! · ↳ ▪), no box drawing. Two parts that work together:

  • statusline-slab.sh fills Claude Code's own status line slot with gauges in true colour.
  • mod/slab-deck is a mod on the function-hooks plugin API (Claude Code 2.1.289+): a live band above the prompt, a docked deck pane, popups and tmux navigation.

slab-deck while a turn runs

What it shows

Statusline (Claude Code's status line slot): model, repo and branch, effort | context, 5h and 7d rate-limit gauges (amber from 70 %, red from 90 %, reset countdown once a window passes 70 %), prompt-cache hit rate, output-per-turn sparkline (handed over by the mod), session clock, lines +N −N. Facts drop by priority when the terminal narrows; a window at 70 % or more outlasts the repo name.

Band above the prompt: while a turn runs, the animated ▪▪▪ working indicator with elapsed time, step, tokens, tok/s and the tools running; when idle, your tmux windows as links (1–9) and actions (d deck, n window, s split, h keys).

Deck pane — /deck [section]

| section | contents | | --- | --- | | overview | session facts, context, rate limits and resets, output per turn, recent tool calls | | context | the /context grid, categories, autocompact mark, memory files | | tools | calls by tool, 30-minute timeline, recent calls | | agents | subagents and their status | | git | changed files with diff bars, commits, history graph in a new tmux window | | tmux | all panes of the session: live peek, window minimap, go there, new window, split, zoom | | usage | rate limits, token totals, cache hit, turn durations |

Popups for a tool call, a turn, a tmux pane and the key list (esc closes).

Animations: the ▪▪▪ indicator breathes while a turn runs; the deck's context and rate-limit gauges sweep up when it opens and glide to each new value. Both repaint cells in place ($.ui.blit), no redraw. P1_REDUCED_MOTION=1 or SLAB_REDUCED_MOTION=1 freezes them.

Also /deck-band full|compact|off and toasts when context or a rate limit crosses 80 %. The tmux actions only select, open or split; nothing closes, kills or types into another pane.

slab-deck idle

Install

git clone https://github.com/5omeOtherGuy/slab-deck
claude --plugin-dir slab-deck/mod/slab-deck

For every session, in ~/.claude/settings.json:

"env": { "CLAUDE_CODE_PLUGIN_DIRS": "/path/to/slab-deck/mod/slab-deck" },
"statusLine": { "type": "command", "command": "/path/to/slab-deck/statusline-slab.sh", "padding": 0, "refreshInterval": 2 }

The statusline needs jq and git, and works without the mod (no sparkline then). refreshInterval re-fits it after a resize and keeps its clock and countdowns current; one run takes about 60 ms.

tmux and git features turn on by themselves when Claude Code runs inside tmux or a git repository. P1_REDUCED_MOTION=1 or SLAB_REDUCED_MOTION=1 freezes the working indicator.

Develop

claude plugin validate mod/slab-deck
claude plugin test mod/slab-deck

| file | role | | --- | --- | | hooks/register.tsx | events, timers, commands, every $ call (the engine follows $ only within one file) | | hooks/views.tsx | band, deck sections and popups | | hooks/ink.ts | design tokens and the Raster painters (gauges, charts, minimap, working indicator) | | hooks/data.ts | git and tmux output parsers | | types/index.d.ts | the $.state contract |

License

MIT

비슷한 프로젝트