Tulip Logo IconTulip
Introduction

How packages fit together

Understand the Tulip package map: foundation, UI, data surfaces, actions, files, content, and AI.

Tulip is organized as focused packages that compose into a full business application system.

Each package solves one layer. You can adopt them one by one, but they are designed to feel consistent when used together.

Package map

AreaPackagesPurpose
Foundation@tulip-systems/core, @tulip-systems/app, @tulip-systems/authApp configuration, shell components, layouts, auth-aware flows, and shared infrastructure.
UI@tulip-systems/uiShared components and styling primitives used across Tulip apps and packages.
Data surfaces@tulip-systems/query, @tulip-systems/data-tables, @tulip-systems/inlineFiltering, sorting, pagination, tables, loading strategies, and inline editing.
Actions@tulip-systems/commandsTyped, reusable, permission-aware actions rendered through menus and command primitives.
Files@tulip-systems/storage, @tulip-systems/drive, @tulip-systems/drive-local, @tulip-systems/drive-googleUploads, asset serving, file manager UI, provider contracts, local storage, and Google Drive-backed trees.
Content@tulip-systems/editor, @tulip-systems/editor-storageRich-text editing and storage helpers.
AI@tulip-systems/aiAgents, tools, streaming chat, MCP helpers, and AI UI primitives.
Scaffoldingcreate-tulip-appStart a new Tulip application from maintained templates.

The common flow

A typical Tulip screen combines several packages:

  1. Core and App provide the app foundation and layout.
  2. UI provides the shared component language.
  3. Query defines filters, sorting, pagination, and URL-backed state.
  4. Data Tables renders records using the resolved query controllers.
  5. Commands attaches typed actions to rows, toolbars, context menus, or bulk selections.
  6. Inline lets users update values in place when a full form would slow them down.
  7. Storage or Drive handles files when records need attachments, folders, media, or documents.
  8. AI can expose the same domain actions as tools for assistants and agents.

Boundaries to remember

  • Use Query for query input state, not Data Tables.
  • Use Data Tables for table rendering and loading strategies, not filter definitions.
  • Use Commands for actions that need reuse, permissions, disabled state, or menu rendering.
  • Use Storage for flat uploaded assets tied to domain records.
  • Use Drive for file manager workflows, folders, selection, provider-backed trees, and document surfaces.
  • Use AI when assistants need application-aware tools, not just chat UI.

Start with the package that matches your surface

If you are building a record list, start with Query and Data Tables.

If you are building row actions, start with Commands.

If you are adding file uploads to a form, start with Storage.

If you are building a file manager, start with Drive.

If you are building a workspace assistant, start with AI.

Next step

On this page