# Activity feed (goodtabs UI)

Who did what and when, with initials and a quiet timestamp.

## Install

```bash
npx shadcn@latest add https://ui.goodtabs.co/r/activity-feed.json
```

Or, with the @goodtabs namespace configured in components.json: `npx shadcn@latest add @goodtabs/activity-feed`

## Usage

```tsx
import { ActivityFeed, ActivityItem } from "@/components/ui/activity-feed"

<ActivityFeed>
  <ActivityItem actor="Maya Chen" action="merged" target="Dock polish" time="2h ago" dateTime="2026-11-05T09:30:00Z" />
</ActivityFeed>
```

## Props

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| actor | `string` |  | ActivityItem: who did it. Initials come from this. |
| action | `string` |  | ActivityItem: the verb, for example merged. |
| target | `string` |  | ActivityItem: what it was done to. |
| time | `string` |  | ActivityItem: the time as people read it. |
| dateTime | `string` |  | ActivityItem: machine-readable time. |

## When to use

- Recent activity on a project, workspace or record
- Audit trails with a short sentence per event

## When not to use

- Dated milestones: use timeline
- Long conversations: use a thread

## Notes for agents

- Format the relative time yourself; the component does not know about locales
- Initials only, no images, so it works without data
- Pass items newest first

Docs: https://ui.goodtabs.co/components/activity-feed