# Message > Chat rows with avatar, bubble, and metadata. Import from `@aspyn-io/kit`. Scaffold source: `npx shadcn@latest add https://design.aspyn.io/r/message.json` ## Install ```tsx import { Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup } from "@aspyn-io/kit"; ``` ### Chat thread Message is the full row: avatar + content (Bubble). align="end" flips it for the current user. ```tsx … How can I help? … Summarize the registry diff. Read 2:14 PM ``` ## Notes - Message owns row-level layout and alignment; Bubble owns the message surface. Put avatars, names, timestamps, and actions in MessageHeader/MessageFooter. - Set align on both Message and its Bubble so the row and the surface agree (Message flips the row; Bubble self-aligns its content).