Tulip Logo IconTulip
Dependencies

Dependencies

External libraries Tulip standardizes around instead of hiding behind a custom abstraction.

Tulip is built on a small set of external libraries that are treated as architectural primitives.

Tulip does not try to replace these tools. It defines conventions around how they are used inside business systems, then exposes package APIs that compose with them.

Dependency map

DependencyRole in TulipUpstream docs
ReactComponent model and client interactivityreact.dev
Next.jsApp runtime, routing, server/client boundaries, route handlersnextjs.org/docs
DatabasePersistent app state owned by your applicationDatabase docs depend on your provider
DrizzleSchema, migrations, typed database queries, adaptersorm.drizzle.team
ORPCTyped RPC, route handlers, query/mutation callsorpc.unnoq.com
Better AuthAuthentication engine, sessions, plugins, permissionsbetter-auth.com/docs
TanStack QueryServer-state cache, mutations, invalidationtanstack.com/query
TanStack TableTable state and column modeltanstack.com/table
TanStack DBLocal-first collections and live query patternstanstack.com/db
ZodRuntime validation and typed schemaszod.dev
Tailwind CSSStyling system and design tokenstailwindcss.com/docs
Radix and shadcnAccessible primitives and component composition patternsradix-ui.com, ui.shadcn.com
AI SDKModel streaming, chat, and tool execution foundationsai-sdk.dev/docs
TipTapRich-text editor enginetiptap.dev/docs

How to read these pages

Each dependency page explains:

  • what the library does
  • where Tulip uses it
  • what Tulip adds on top
  • what your app still owns
  • where to continue in Tulip docs and upstream docs

Start with these

On this page