a2uicatalog/a2ui/tree/main/claude-code-surface
a2ui-claude-code
A2UI blocks-dialect atom을 Claude Code 창에 터미널 셀로 네이티브 렌더링하는 Claude Code 플러그인(mod)입니다. `surfaces.works_on`에 `claude-code`를 나열한 atom은 여기서 그려지고, 다른 atom은 실패하는 대신 `[type: not drawn on this surface]` 플레이스홀더를 표시합니다.
이 mod 소개
A2UI catalogue atom을 Claude Code 창에 네이티브 렌더링합니다: /a2ui payload, a2uicatalog MCP 자동 렌더링, 애니메이션 스크립트 진행률 막대, 장시간 작업 대시보드
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add a2uicatalog/a2ui claude plugin install a2ui-claude-code
원문 / README
a2ui-claude-code — the claude-code surface
A Claude Code plugin (a mod) that renders A2UI blocks-dialect atoms natively in
Claude Code panes, as terminal cells. Atoms that list claude-code in their
surfaces.works_on draw here; any other atom shows a
[type: not drawn on this surface] placeholder instead of failing.
Drawn today: heading, subheading, body, badge, callout, metric_row,
key_takeaways, steps, table, code, progress_bar (animated).
What it adds
| Command / trigger | What you get |
|---|---|
| /a2ui [file.json \| inline JSON] | Renders a payload ({title, blocks}, a bare block array, or one block) in a pane. No argument shows a demo. |
| any mcp__a2uicatalog__* call with payload.blocks | The same payload also draws in the pane, so render_surface / preview_url output appears inside Claude Code. |
| a2ui-progress <id> <percent\|done\|clear> [label] | An animated progress_bar in the Jobs pane and status line, for any script. |
| a turn running past 60s, or /a2ui-job | The Jobs pane: elapsed time, tool calls, context added, context %, session cost, failed calls, and rate-limit windows (% used, time to reset). |
| gate_log option | Optional: the latest run of a JSONL run log in the status line (gate ✓ repo-publish 15s · 2m ago). |
Install
From this folder: claude --plugin-dir /path/to/a2ui/claude-code-surface.
Put bin/a2ui-progress on your PATH for script progress.
Script progress
a2ui-progress build 42 "Compiling atoms"
A2UI_PROGRESS_CAPTION="step 3 of 8" a2ui-progress build 60 "Compiling atoms"
a2ui-progress build done
Other languages can write {"label": "...", "value": 0-100, "caption": "..."} to
~/.cache/a2ui-progress/<id>.json (or $A2UI_PROGRESS_DIR). A bar with no
update for 2 minutes turns amber; a finished bar stays for 15 seconds.
Develop
claude plugin validate claude-code-surface
claude plugin test claude-code-surface
Rendering is in hooks/a2ui.tsx, the pure dashboard, progress and run-log
helpers are in hooks/jobs.ts, and the event wiring is in hooks/register.tsx.
Adding an atom here means adding a case to drawBlock and claude-code to
that atom's works_on in atoms/schema.yaml.
