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
| Dependency | Role in Tulip | Upstream docs |
|---|---|---|
| React | Component model and client interactivity | react.dev |
| Next.js | App runtime, routing, server/client boundaries, route handlers | nextjs.org/docs |
| Database | Persistent app state owned by your application | Database docs depend on your provider |
| Drizzle | Schema, migrations, typed database queries, adapters | orm.drizzle.team |
| ORPC | Typed RPC, route handlers, query/mutation calls | orpc.unnoq.com |
| Better Auth | Authentication engine, sessions, plugins, permissions | better-auth.com/docs |
| TanStack Query | Server-state cache, mutations, invalidation | tanstack.com/query |
| TanStack Table | Table state and column model | tanstack.com/table |
| TanStack DB | Local-first collections and live query patterns | tanstack.com/db |
| Zod | Runtime validation and typed schemas | zod.dev |
| Tailwind CSS | Styling system and design tokens | tailwindcss.com/docs |
| Radix and shadcn | Accessible primitives and component composition patterns | radix-ui.com, ui.shadcn.com |
| AI SDK | Model streaming, chat, and tool execution foundations | ai-sdk.dev/docs |
| TipTap | Rich-text editor engine | tiptap.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