< We're launched Liam ERD!

Learn More

20241128 - Use Fumadocs for Documentation Site

Status

  • Proposed
  • Accepted
  • Rejected
  • Deprecated
  • Superseded

Context

The Liam project required a documentation site framework that would provide a high-quality developer and user experience while being cost-effective and maintainable by the team. We needed a solution that would:

  • Support static site generation for optimal performance
  • Provide robust search capabilities
  • Allow for customization and extension
    • As a design-focused team, we wanted the ability to create impactful UI components for our documentation
  • Offer a good developer experience for both code contributors and documentation writers

We evaluated several popular documentation frameworks to determine the best fit for our needs, focusing on Fumadocs, Nextra, and Mintlify.

Decision

We have decided to adopt Fumadocs as our documentation site framework.

The decision was based on a comprehensive evaluation of multiple factors:

Feature Comparison

FeatureFumadocsNextraMintlify
Static Generation
Caching
Light/Dark Mode
Syntax Highlighting
Table of Contents
Full-Text Search✅ Free, with Algolia migration option✅ FlexSearch only
Internationalization
Last Edit Date
Page Icons
React Server Components✅ App Router support❌ Pages Router only- (Users manage MDX only)
Remote Sources
SEO
Built-in Components✅ Rich variety❌ Limited
Custom Components
OpenAPI Integration
TypeScript Docs Generation
TypeScript Twoslash
Styling✅ Flexible✅ Flexible❌ Paid for custom CSS/JS
Web Editor✅ In development
Thumbs up feedback
Pricing✅ Free✅ Free❌ $150/month + $100/month for preview

Key Adoption Factors

  • Cost Efficiency: Fumadocs is open-source and free to use, aligning with our resource constraints
  • Design Quality: Provides high-quality UI components with minimal code requirements
  • Functionality: Offers comprehensive features needed for Liam documentation (full-text search, built-in components, theme switching)
  • Extensibility: Being Next.js-based allows for extension with custom React components
  • Hosting and Operations: Leverages our team's existing Next.js expertise for hosting and maintenance
  • Marketing Opportunity: Potential visibility through listing on the Fumadocs showcase

Why Other Options Were Not Selected

  • Mintlify:

    • Prohibitively expensive pricing model
    • Usage-based billing for AI chat features beyond 250 queries with no apparent way to disable
    • Slower deployment process
  • Nextra:

    • Lacks App Router and React Server Components support
    • Limited search capabilities (FlexSearch only)
    • Fumadocs addresses these limitations while maintaining Nextra's positive attributes

Consequences

Positive

  • No licensing fees, reducing project costs
  • Modern documentation site with excellent UX for our users
  • Integration with our existing Next.js knowledge and tooling
  • Flexibility to customize and extend as our documentation needs evolve
  • App Router and RSC support enables better performance and development experience
  • Rich built-in components accelerate documentation creation

Negative

  • Tailwind-based styling differs from Liam's CSS Modules approach, creating some inconsistency
  • Requires self-hosting and domain management (though this is also an advantage for control)
  • As a newer framework, the community and ecosystem are smaller than more established alternatives

Neutral

  • Regular maintenance will be required to keep the documentation site updated
  • The team will need to develop expertise in Fumadocs-specific features and configurations

On this page