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 adding features to their apps.

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.

Foundation Stack

The core technologies that power every Catalyst project:

Ready-to-Use Features

Pre-integrated packages for common functionality — add these to your apps:

Utility Packages

Supporting packages that handle common tasks throughout Catalyst:

Utility Packages

TypeScript, Lucide icons, Zod validation, date-fns, and more utilities

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.

For AI Agents

Key rules:

  • Check existing packages before adding new dependencies
  • Foundation packages are pre-configured — focus on using them, not replacing them
  • Feature packages have wrappers in components/vendor/
  • Use the utility packages (Zod, date-fns, etc.) rather than reinventing
  • Link to official docs when users need deeper information

Next Steps

Start with the foundation packages: