Skip to content

Components

Each component’s props are a tool’s output type, so the same data from an agent event, a REST response, or an MCP result renders unchanged. The files are copied into your project and are yours after that; the vk-* classes in components.css are hooks to restyle.

Terminal window
vibekit add --list
vibekit add transaction asset approval # --dir components --force
namepropswhat it is
companionmood, step, facesqt314’s face — your own strings
actionhost, store, newId, onNoticeuseAction: one action from draft to confirmed, headless
approvalDraftData, a simulation, approve/denythe decision screen; red on mainnet or a failed simulation
tool-resulta tool-result eventJSON, errors handled — the fallback for any tool
transactionViewData<'transaction.detail'>one transaction
assetViewData<'asset.detail'> / 'asset.list'an asset, and the list
accountViewData<'account.summary'>balance, holdings, rekey flag

Source: packages/vibekit/components. The rule for adding one: if a component needs logic, the tool should return that field — a curl user needs it too.