# Create Contentful App `create-contentful-app` is a command line interface to easily bootstrap [Contentful Apps](https://www.contentful.com/developers/docs/extensibility/app-framework/). # Requirements - Node.js v18.12 or later - npm v9 or later # Usage To start developing your first app, run: ```bash npx create-contentful-app my-first-app ``` ![Screenshot of `npx create-contentful-app my-app`](https://raw.githubusercontent.com/contentful/create-contentful-app/main/packages/contentful--create-contentful-app/docs/screenshot.png) ## Bootstrap You can run `create-contentful-app` using one of the following commands: ```bash # npx npx create-contentful-app # npm npm init contentful-app # pnpm pnpm init contentful-app # Yarn yarn create contentful-app ``` ## CLI Options ### Package Manager `--npm` or `--pnpm` or `--yarn` Use npm, pnpm, or Yarn to manage dependencies. If omitted, or if more than one flag is passed, will default to the manager used to run `create-contentful-app`. ### Template Select between predefined and custom templates: - `-ts, --typescript`: Use TypeScript template (default) - `-js, --javascript`: Use JavaScript template - `-e, --example `: Select a predefined template from https://github.com/contentful/apps/tree/master/examples - `-s, --source `: Use a custom template. Format: URL (HTTPS or SSH) or vendor:user/repo (e.g., github:user/repo) These flags are mutually exclusive. If no flag is provided, the TypeScript template is used. Some popular templates are: | Template | CLI Command | | -------------------------------------------------------------------------------- | :------------------------------------------------ | | [typescript](https://github.com/contentful/apps/tree/master/examples/typescript) | `yarn create contentful-app -ts` | | [javascript](https://github.com/contentful/apps/tree/master/examples/javascript) | `yarn create contentful-app -js` | | [nextjs](https://github.com/contentful/apps/tree/master/examples/nextjs) | `yarn create contentful-app --example nextjs` | | [vite-react](https://github.com/contentful/apps/tree/master/examples/vite-react) | `yarn create contentful-app --example vite-react` | | [vue](https://github.com/contentful/apps/tree/master/examples/vue) | `yarn create contentful-app --example vue` | ### Help `--help` Shows all available CLI options: ``` Usage: npx create-contentful-app [options] [app-name] Bootstrap your app inside a new folder `my-app` create-contentful-app my-app or specify your own template create-contentful-app my-app --source "github:user/repo" Official Contentful templates are hosted at https://github.com/contentful/apps/tree/master/examples. Arguments: app-name app name Options: --npm use npm --yarn use Yarn -js, --javascript use default JavaScript template -ts, --typescript use default TypeScript template -e, --example bootstrap an example app from https://github.com/contentful/apps/tree/master/examples -s, --source provide a template by its source repository. format: URL (HTTPS or SSH) or vendor:user/repo (e.g., github:user/repo) -f, --function include the specified function template --skip-ui use with --function to clone the template without a user interface (UI). -h, --help shows all available CLI options ``` In order to run the app within Contentful run `npm run create-app-definition` within your app directory to create an app definition. ### Tracking We gather depersonalized usage data of our CLI tools in order to improve experience. If you do not want your data to be gathered, you can opt out by providing an env variable `DISABLE_ANALYTICS` set to any value: > **Example** > > ``` > DISABLE_ANALYTICS=true npx create-contentful-app > ```