Examples

This section provides complete working examples for different UI Protocol application types.

Each example demonstrates the recommended project structure and patterns using TanStack Router with file-based routing.

Fullpage Application

A fullpage application takes over the entire content area of the shell and has its own menu.

Project Structure

src/
├── components/
│   └── Loading.tsx
├── hooks/
│   ├── index.tsx
│   └── useConfig.tsx
├── routes/
│   ├── __root.tsx
│   ├── index.tsx
│   └── about.tsx
├── AppWrapper.tsx
├── config.ts
├── main.tsx
├── providers.tsx
└── routeTree.gen.ts

Entry Point (main.tsx)

Root Route (routes/__root.tsx)

Home Route (routes/index.tsx)

About Route (routes/about.tsx)

Providers (providers.tsx)

Configuration (config.ts)

App Wrapper (AppWrapper.tsx)

Handles locale synchronization with the shell:


Plugin Application

A plugin application embeds into specific areas of the shell using placeholder IDs. Plugin applications don't need routing since they render a single component.

Project Structure

Entry Point (main.tsx)

Configuration (config.ts)

Providers (providers.tsx)

App Component (App.tsx)

Content Component (components/Content.tsx)


Multi-Hybrid Application

A multi-hybrid application serves both fullpage and plugin applications from a single codebase using different base paths.

Project Structure

Entry Point (main.tsx)

Root Route (routes/__root.tsx)

Fullpage App Layout (routes/fullpage-app/route.tsx)

Fullpage Home (routes/fullpage-app/home.tsx)

Plugin App Route (routes/plugin-app/route.tsx)

Config Hook (hooks/useConfig.tsx)

Providers (providers.tsx)


Common Patterns

Data Access Pattern

Action Invocation Pattern

Rich Modal Pattern

Getting Started

Use the CLI to create a new application:

Select your application type when prompted:

  • full_page - Fullpage application

  • plugin - Plugin application

  • multi_full_page - Multiple fullpage applications

  • multi_plugin - Multiple plugin applications

  • Quick Start - Getting started guide

  • Shell Application - Shell documentation

  • Client Application - Client documentation

Last updated

Was this helpful?