Runwork
All Features

Sharable Components

Reusable UI across all your apps

Build UI components once, use them everywhere in your workspace. A dashboard widget, a data table, a notification bell. Create it in one app, embed it in all the others.

Capabilities

Component Registry

Apps expose components to a workspace-wide registry. Other apps discover and import them.

Cross-App Composition

Embed components from App A inside App B. Build composite UIs without duplicating code.

Visual Preview

Browse components in the explorer with live previews. See what you're getting before you use it.

Metadata & Docs

Each component includes description, attributes, and usage examples.

Tag Organization

Organize components with tags. Find the right component quickly.

Component Versioning

Components version with their parent app. Updates propagate cleanly.

Use Cases

Shared header/footer Data visualization widgets Form components Notification systems User avatars/profiles Common UI patterns

Why It Matters

How It Works

Sharable Components in Runwork let you build UI elements once and use them across all apps in your workspace. A dashboard widget, a data table, a notification bell, a customer profile card—create it in one app, then import and embed it in all your others.

The component registry makes discovery automatic. When an app exports a component, it's published to the workspace-wide registry with metadata: name, description, attributes, and usage examples. Other apps browse this registry to find and import components. You don't need to remember where components live or manually configure imports.

Cross-app composition creates powerful possibilities. Your main dashboard app can embed a notifications component from your notifications app, a recent activity feed from your activity tracker, and quick stats from your analytics app. Each component maintains its own logic and styling while rendering seamlessly in the host app.

Visual preview in the component explorer shows exactly what you're getting before you use it. Browse available components, see live previews with sample data, read documentation, and understand the attributes you need to pass. This makes component selection quick and confident.

Component versioning follows the parent app. When you update a component in its source app, those changes propagate to all apps using it. Tags help organize components by category—"charts", "forms", "navigation", "data-display"—so you can find the right component quickly. The Marketplace extends this further, letting you discover and share components with the broader community.

Frequently Asked Questions

What are sharable components in Runwork?
Sharable components are reusable UI elements that can be created in one app and used across all apps in your workspace. Examples include dashboard widgets, data tables, notification bells, and custom forms. Components are registered in a workspace-wide registry for easy discovery and import.
How do I create and share a component?
Create a component in any app using standard code. Mark it for export with metadata (name, description, attributes). It automatically appears in the workspace component registry. Other apps can then browse the registry, preview the component, and import it for use.
Can I use a component from one app in another?
Yes. Browse the component registry to find components from any app in your workspace. Import the component, pass the required attributes, and it renders within your app. The component maintains its own logic and styling while integrating seamlessly with the host app.
What happens when I update a shared component?
Component updates in the source app automatically propagate to all apps using that component. This ensures consistency—fix a bug or add a feature once, and every usage reflects the change. Components version with their parent app, so you can track changes over time.

Related Features

See How Teams Use Sharable Components

Ready to try Sharable Components?

Start vibe-coding with Runwork today.