The Framework
for the AI Era.

CedarJS is a stable, opinionated full-stack framework that integrates React, GraphQL, and Prisma into a cohesive system. Don't waste weeks on boilerplate.

$ yarn create cedar-app

Built on proven patterns. Auth, recurring jobs, and mailers are first-class citizens, designed to work together out of the box.

Built for the long haul. Sponsored and used in production by industry leaders.

The Cedar Edge

Stability over hype

Build on proven patterns. CedarJS leverages React and GraphQL within a predictable, production-tested architecture that prioritizes long-term maintainability.

Integrated infrastructure

Auth, recurring jobs, and mailers are first-class citizens, core components designed to work together out of the box.

Production-ready observability

Scale with confidence. The Cedar CLI includes dedicated setup commands for OpenTelemetry and Sentry, so monitoring is ready when you are.

The Cedar Way: generators that ship real code.

The CLI captures architecture decisions so you never have to assemble boilerplate by hand. Generate a service, and Cedar produces resolvers, schemas, and type safety in one sweep.

CLI
$ yarn cedar generate service post
 Created api/src/services/posts/posts.ts
 Created api/src/graphql/posts.sdl.ts
 Added types to types/graphql.d.ts
posts.service.ts
import type {
  QueryResolvers,
  MutationResolvers,
  PostRelationResolvers,
} from 'types/graphql'

import { db } from 'src/lib/db'

export const posts: QueryResolvers['posts'] = () => {
  return db.post.findMany()
}

export const createPost: MutationResolvers['createPost'] =
  ({ input }) => {
    return db.post.create({
      data: input,
    })
  }
posts.sdl.ts
export const schema = gql`
  type Post {
    id: Int!
    title: String!
    body: String!
    author: User!
  }

  type Query {
    posts: [Post!]! @skipAuth
  }

  type Mutation {
    createPost(input: CreatePostInput!): Post!
      @requireAuth
  }
`

In Cedar, your business logic lives in Services. They automatically act as your GraphQL resolvers, providing a clean, typesafe bridge between your database and your UI without manual wiring.

Ship with CedarJS today.

Start with the foundation teams trust.

$ yarn create cedar-app