Packages

Overview~5 min

The carefully chosen dependencies that power Catalyst — modern, stable, and AI-friendly.

Read this when you want to understand why Catalyst uses specific packages.
Useful for developers evaluating Catalyst or deciding on package upgrades.

Why Packages Matter

Every dependency is a decision. Catalyst chooses packages that are widely adopted, well-documented, and stable — because AI agents work better with popular tools that have extensive training data.

We avoid exotic dependencies, custom wrappers, and bleeding-edge libraries. The goal is a stack that's boring in the best way: predictable, maintainable, and easy for both humans and AI to understand.

Selection Criteria

How we choose what goes in Catalyst:

Widely adopted

Popular packages have more training data. AI agents understand Next.js better than obscure alternatives.

Well documented

Good docs help everyone. Clear documentation means faster onboarding for humans and AI alike.

Stable & maintained

Avoid breaking changes. We prefer mature packages over cutting-edge experiments.

Core Packages

The foundation of every Catalyst project:

How They Work Together

UI Layer

shadcn/ui + Tailwind CSS

Components styled with utility classes and CSS variables

Framework

Next.js 15

Routing, rendering, and API endpoints

Backend

Supabase

Database, auth, storage, and realtime

Each layer is replaceable. Use Tailwind without shadcn, swap Supabase for another backend, or deploy to any platform that supports Next.js.

Catalyst packages are mainstream by design. When you search Stack Overflow, read blog posts, or ask an AI for help, you'll find answers. That's the point — a stack that works with the ecosystem, not against it.

Supporting Packages

TypeScript

Type safety and editor intelligence

Catches errors early, improves AI code generation

Lucide React

Icon library

Consistent icons, tree-shakeable, works with shadcn

class-variance-authority

Component variants

Type-safe variant props for shadcn components

clsx + tailwind-merge

Class name utilities

Merge Tailwind classes without conflicts

next-themes

Dark mode

SSR-safe theme switching

Recharts

Charts and graphs

React-native charting, good defaults

What's Not Included

Catalyst deliberately excludes some common packages:

State management (Redux, Zustand)

React state + URL state covers most cases. Add when needed.

Form libraries

Built-in form handling works. react-hook-form is easy to add.

Animation libraries

CSS transitions + Tailwind animations. Add Framer Motion for complex cases.

Testing frameworks

Add Vitest/Jest based on your testing strategy.

Next Steps

Learn about specific packages: