MCPcopy
hub / github.com/kriasoft/graphql-starter-kit

github.com/kriasoft/graphql-starter-kit @main sqlite

repository ↗ · DeepWiki ↗
89 symbols 291 edges 70 files 11 documented · 12%
README

GraphQL GraphQL Starter Kit

High-performance GraphQL API server, database dev tools, and React front-end.

Features

    


This project was bootstrapped with GraphQL Starter Kit. Be sure to join our Discord channel for assistance.

Directory Structure

├──.github — GitHub configuration including CI/CD workflows.

├──.vscode — VSCode settings including code snippets, recommended extensions etc.

├──app — front-end application (Vite, Vitest, React, Joy UI).

├──db — database schema, seeds, and migrations (PostgreSQL).

├──infra — cloud infrastructure configuration (Terraform).

├──scripts — automation scripts shared across the project.

├──server — backend server (GraphQL Yoga, Pothos GraphQL).

└── ... — add more packages such as worker, admin, mobile, etc.

Requirements

Getting Started

Just clone the repo and, install project dependencies and bootstrap the PostgreSQL database:

$ git clone https://github.com/kriasoft/graphql-starter-kit.git example
$ cd ./example                  # Change current directory to the newly created one
$ corepack enable               # Ensure Yarn is installed
$ yarn install                  # Install project dependencies
$ yarn db create                # Create a new database if doesn't exist
$ yarn db migrate --seed        # Migrate and seed the database

From there on, you can launch the app by running:

$ yarn workspace server start   # Or, `yarn server:start`
$ yarn workspace app start      # Or, `yarn app:start`

The GraphQL API server should become available at http://localhost:8080/.

While the front-end server should be running at http://localhost:5173/.

IMPORTANT: Tap Shift+Cmd+P in VSCode, run the TypeScript: Select TypeScript Version command and select the workspace version.

How to Update

In the case when you kept the original GraphQL Starter Kit git history, you can always pull and merge updates from the "seed" repository back into your project by running:

$ git fetch seed                # Fetch GraphQL Starter Kit (seed) repository
$ git checkout main             # Switch to the main branch (or, master branch)
$ git merge seed/main           # Merge upstream/master into the local branch

In order to update Yarn and other dependencies to the latest versions, run:

$ yarn set version latest       # Upgrade Yarn CLI to the latest version
$ yarn upgrade-interactive      # Bump Node.js dependencies using an interactive mode
$ yarn install                  # Install the updated Node.js dependencies
$ yarn dlx @yarnpkg/sdks vscode # Update VSCode settings

Backers

              

How to Contribute

We welcome contributions through pull requests and issues on our GitHub repository. Feel free to also start a conversation on our Discord server to discuss potential contributions or seek guidance.

License

Copyright © 2014-present Kriasoft. This source code is licensed under the MIT license found in the LICENSE file.

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
app/global.d.ts
GraphQLFormattedError (Interface)
(no doc)
server/global.d.ts
DecodedIdToken (Interface)
(no doc)
server/core/auth.ts
User (Interface)
(no doc)
server/schema/user.ts
WorkspaceMember (Interface)
(no doc)
db/models/WorkspaceMember.ts
ImportMetaEnv (Interface)
(no doc)
app/global.d.ts
WorkspaceMemberInitializer (Interface)
(no doc)
db/models/WorkspaceMember.ts
PayloadError (Interface)
(no doc)
app/global.d.ts

Core symbols most depended-on inside this repo

replace
called by 25
scripts/setup.js
resolve
called by 15
server/schema/user.ts
getDatabase
called by 9
db/cli.ts
addRole
called by 6
scripts/gcp-setup.js
usePageEffect
called by 5
app/core/page.ts
fetchCertificates
called by 4
server/core/auth.ts
loadEnv
called by 3
db/cli.ts
createDatabase
called by 3
db/cli.ts

Shape

Function 73
Interface 15
Enum 1

Languages

TypeScript100%

Modules by API surface

db/cli.ts11 symbols
scripts/utils.js5 symbols
server/loaders/map.ts4 symbols
scripts/setup.js4 symbols
scripts/github.js4 symbols
server/core/auth.ts3 symbols
db/models/WorkspaceMember.ts3 symbols
db/models/Workspace.ts3 symbols
db/models/User.ts3 symbols
app/global.d.ts3 symbols
app/core/auth.ts3 symbols
server/start.ts2 symbols

Dependencies from manifests, versioned

@babel/core7.23.9 · 1×
@babel/register7.23.7 · 1×
@babel/runtime7.23.9 · 1×
@emotion/babel-plugin11.11.0 · 1×
@emotion/eslint-plugin11.11.0 · 1×
@emotion/react11.11.3 · 1×
@emotion/styled11.11.0 · 1×
@eslint-react/eslint-plugin1.16.1 · 1×
@eslint/js9.14.0 · 1×
@google-cloud/cloud-sql-connector1.2.2 · 1×
@google-cloud/secret-manager5.0.1 · 1×
@google-cloud/storage7.7.0 · 1×

For agents

$ claude mcp add graphql-starter-kit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact