keystonejs/keystone
The superpowered headless CMS for Node.js — built with GraphQL and React
What's novel
The superpowered headless CMS for Node.js — built with GraphQL and React
Code Analysis
17 files read · 5 roundsA full-featured CMS and app framework that generates a typed GraphQL API, Prisma database schema, and React admin UI from a declarative TypeScript schema definition, with a rich text editor built on Slate and a dynamic 'structure' field type that generates GraphQL types from user-defined schemas.
Strengths
Exceptionally deep type-level engineering — the DBField conditional type system, the recursive GraphQL type generation for structure fields, and the Slate-based document editor with normalization/validation all demonstrate genuine algorithmic complexity. The monorepo architecture with preconstruct, changesets, and pnpm workspaces is well-organized with clear package boundaries.
Weaknesses
The type system in next-fields.ts is extremely dense with several TODO/FIXME comments acknowledging known issues (e.g., 'this isn't right for create', 'i think this is broken because variance?'), and the group() function uses a module-level mutable counter (let i = 0) which is a subtle anti-pattern. Some error messages are generic (throw new Error('')) in edge cases.
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
160
Contributors
100
Files
1685
Active weeks
40
Repository
Language
TypeScript
Stars
9857
Forks
1250
License
MIT