# TypeScript GraphQL Code Generator - Generate GraphQL Types with Apollo Codegen Tutorial

DevFeed: [TypeScript GraphQL Code Generator - Generate GraphQL Types with Apollo Codegen Tutorial](<https://devfeed.tech/articles/typescript-graphql-code-generator-generate-graphql-types-with-apollo-codegen-tutorial-23552.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/typescript-graphql-code-generator-generate-graphql-types>)

Author: Khalil Stemmler

Published: 2021-04-01T11:00:04Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [apollo-client](<https://devfeed.tech/topics/apollo-client.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [apollo](<https://devfeed.tech/tags/apollo.md>), [apollo-client](<https://devfeed.tech/tags/apollo-client.md>), [code](<https://devfeed.tech/tags/code.md>), [generate](<https://devfeed.tech/tags/generate.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

## AI overview

This tutorial explains how to use Apollo's GraphQL Codegen to generate TypeScript types for GraphQL operations in an Apollo Client project. It covers downloading a GraphQL schema and setting up the required development dependencies.

## Source excerpt

Don Norman, the author of "The Design of Everyday Things" has a philosophy for what he believes constitutes good design. Don says that good design is primarily discoverability and feedback. For example, when you encounter something new (like, a new codebase), how quickly can you discover what you can do (discoverability)? And then after you've taken some action, how immediately do you get to know if what you did was correct (feedback)?