# System map — keystonejs/keystone

> Canonical page: https://codevetter.com/unpack/keystone/system-map

# System map — keystonejs/keystone

Scanned commit 1a8f2b7fae39ea5dac415745caea4f766109e669 (2026-09-14). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The repository packages a configurable backend framework alongside authentication, document editing, Cloudinary integration, examples, and a documentation website. Core separates configuration/schema construction, Prisma-backed execution, Express/Apollo transport, and a generated Next.js Admin UI. Package publication and static website deployment have separate GitHub Actions workflows.
- The private monorepo pins pnpm 11.21.0; its workspace includes packages, examples, documentation, multiple test workspaces, and prisma-utils, with shared dependency versions in the catalog. — [package.json#L2-10](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/package.json#L2-L10) [pnpm-workspace.yaml#L1-37](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/pnpm-workspace.yaml#L1-L37)
- The keystone executable imports @keystone-6/core/scripts; main() passes process.cwd() and CLI arguments to cli(), which dispatches dev, build, start, postinstall, and telemetry. — [packages/core/bin/cli.js#L1-3](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/bin/cli.js#L1-L3) [packages/core/src/scripts/index.ts#L4-19](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/src/scripts/index.ts#L4-L19) [packages/core/src/scripts/cli.ts#L76-103](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/src/scripts/cli.ts#L76-L103)
- Core's public index exports config, list, group, action, and GraphQL schema builders; its package exposes separate context, session, fields, testing, and Admin UI entrypoints. — [packages/core/src/index.ts#L1-9](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/src/index.ts#L1-L9) [packages/core/package.json#L7-28](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/package.json#L7-L28)
- createContextSystem() initializes lists and Admin metadata, builds public/internal schemas, creates or accepts a Prisma client, and exposes connect()/disconnect(); connect() invokes db.onConnect after $connect(). — [packages/core/src/lib/getContext.ts#L77-118](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/src/lib/getContext.ts#L77-L118)
- createExpressServer() owns the HTTP server and Apollo transport; Admin UI middleware is attached separately after Next preparation, allowing UI-disabled deployments. — [packages/core/src/lib/express.ts#L53-103](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/src/lib/express.ts#L53-L103) [packages/core/src/scripts/start.ts#L30-40](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/src/scripts/start.ts#L30-L40)
- config() accepts PostgreSQL, SQLite, or MySQL; applications supply prismaClientOptions(), while schema/client/type paths and Prisma extension callbacks are normalized centrally. — [packages/core/src/schema.ts#L121-158](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/packages/core/src/schema.ts#L121-L158) [examples/assets-local/keystone.ts#L8-23](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/examples/assets-local/keystone.ts#L8-L23)
- Root build uses Preconstruct, lint uses oxlint, types use tsc, document tests use Vitest, and tests2 uses node:test; prisma-utils separately verifies generated filter material. — [package.json#L11-26](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/package.json#L11-L26) [prisma-utils/package.json#L6-13](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/prisma-utils/package.json#L6-L13)
- Packages publish through Changesets after pnpm build; the docs build validates links and generates llms material, while production website CI enables STATIC_EXPORT and deploys docs/out to GitHub Pages. — [.github/workflows/publish.yml#L36-58](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/.github/workflows/publish.yml#L36-L58) [docs/package.json#L7-17](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/docs/package.json#L7-L17) [.github/workflows/website_production.yml#L47-70](https://github.com/keystonejs/keystone/blob/1a8f2b7fae39ea5dac415745caea4f766109e669/.github/workflows/website_production.yml#L47-L70)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
