# apps

The apps directory is the place where your top-level applications will be stored. You should always begin your migration journey by adding an application.

\
There are a lot of options when creating your application. If you want to follow Nx recommendations, you can accept the defaults. If you have a well-established codebase, you can configure those options at the time of application generation. You can find documentation [here](https://nx.dev/packages/react).\
\
Crema has a default app named **source**, the source's directory code based on the Context APIs. Crema is available with three state management tools Redux, Redux-toolkit and Context APIs like below.

1. **source:** built with Context API
2. **source-redux:** built with Redux
3. **source-toolkit:** built with Redux Toolkit
4. **starter-kit:** built with Context API

You can create your app using the following docs.

* To create a new CRA or Vite app, please check out the doc [here](https://nx.dev/packages/react)
* To create a new Next.js app, please check out the doc [here](https://nx.dev/packages/next)
