BridgeHandbookDraft
For agents
Menu
Draft

App kit

The app-level pieces every Bridge OS screen reuses.

What the app kit is

The thin layer between the package and a screen: the pieces every Bridge OS page reuses so it never rebuilds them. Package components are the same in every app; the app kit belongs to one app.

Shared today

PieceFileDoes
Shell layoutsrc/app/(shell)/layout.tsxTop bar, page padding, 1280px frame, background, footer.
Loading and error(shell)/loading.tsx, (shell)/error.tsxOne generic skeleton and one retry message for every tab.
Network layoutsrc/app/(shell)/network/layout.tsxBreaks out to full width so Network pages can be 1600px.
Width tierssrc/lib/layout/widths.tsLAYOUT_WIDE, LAYOUT_STANDARD, LAYOUT_READ, LAYOUT_FORM.
Admin layoutsrc/app/(admin)/layout.tsxTop bar, admin sidebar, full-width body.
Theme logosrc/components/layout/theme-logo.tsxThe logo in the right color for the theme.

Written again on every page

PieceToday
Page header (title, subtitle, actions)Written inline on every page, at 16, 20, 22, 24 or 28px; 22px is the pick.
"← Back" linkWritten inline on five sub-pages.
Section header (icon + title above a card)Written inline everywhere.
The shell's chrome on pages outside itSeven public and profile pages copy the top bar, footer and background by hand.

Product components (stay in Bridge OS)

These are about contacts, intros and networks. They stay in Bridge OS and move into the package only if a second app needs them (Share at two).

ComponentsFor
ContactCard, ContactRow, NetworkResultRowHow a person appears in lists and search.
PersonProfileCard, ProfileTab, ProfileHoverCardA person's profile and its hover preview.
RelationshipCell, RelationshipDetailDrawerHow you're connected to someone, and the detail behind it.
intros-table, IntroDetailDrawer, PersonIntrosViewIntros: the table, one intro, one person's intros.
ContactActionsMenu, NetworkShareAction, invite-shareActing on a contact: intro, share, invite.
IcpCard, IcpNetworkSuggestionsICP, and matching suggestions.
UpcomingMeetingCard, MemberMeetingStats, CalendarSyncControlMeetings and calendar sync.
RatingButtons, RatingPill, IntroFeedbackRating intros.
OrgFavicon, CompanyFavicon, OrgContextLineOrganizations.

Not decided yet

Until these are settled, follow Bridge OS as it is today.

  • Proposal: a shared PageHeader (24px title, subtitle, actions), BackLink and SectionHeader in Bridge OS, so pages stop writing them inline. They're app-level, not package components, until a second app needs them.
  • Proposal: one public layout for pages outside the shell, so the top bar, footer and background aren't copied by hand.
  • Proposal: a loading.tsx per template (dashboard, record, table) instead of one generic skeleton, so the page-change skeleton matches the page.

Sources

  • Bridge OS route survey (2026-11-02).
  • Bridge OS components.md (product components).