<commit_before># Creating the write model

First, you need to create a new directory for your application. Call it `chat`:

```shell
$ mkdir chat
```

Inside of this directory you will store the wolkenkit application as well as any related files, such as documentation, images, and so on. The actual wolkenkit code must be in a directory called `server`, so you need to create it as well:

```shell
$ mkdir chat/server
```

Finally, for the write model, you need to create another directory called `writeModel` inside of the `server` directory:

```shell
$ mkdir chat/server/writeModel
```

To have a valid directory structure, you also need to add three more directories that you are going to need later, `readModel`, `readModel/lists`, and `flows`:

```shell
$ mkdir chat/server/readModel
$ mkdir chat/server/readModel/lists
$ mkdir chat/server/flows
```

::: hint-question
> **What do write model, read model, and flows mean?**
>
> If you are unsure about what the write model, the read model, and flows are, have a look at the [core concepts](../../../getting-started/understanding-wolkenkit/core-concepts/).
:::

As a result, your directory structure should look like this:

```
chat
  server
    flows
    readModel
      lists
    writeModel
```

For more details, see [creating the directory structure](../../../reference/initializing-an-application/starting-from-scratch/#creating-the-directory-structure).

## Configuring the application

One thing every wolkenkit application needs is a `package.json` file within the application's directory. This file contains some configuration options that wolkenkit needs to start the application.

Create a `package.json` file within the `chat` directory:

```shell
$ touch chat/package.json
```

Then, open the file and add the following code:

```json
{
  "name": "chat",
  "version": "0.0.0",
  "wolkenkit": {
    "application": "chat",
    "runtime": {
      "version": "<%= current.version %>"
    },
    "environments": {
      "default": {
        "api": {
          "address": {
            "host": "local.wolkenkit.io",
            "port": 3000
          },
          "allowAccessFrom": "*"
        },
        "fileStorage": {
          "allowAccessFrom": "*",
        },
        "node": {
          "environment": "development"
        }
      }
    }
  }
}
```

For more details, see [configuring an application](../../../reference/configuring-an-application/naming-an-application/).<commit_msg>syntax error in package.json (#43)<commit_after># Creating the write model

First, you need to create a new directory for your application. Call it `chat`:

```shell
$ mkdir chat
```

Inside of this directory you will store the wolkenkit application as well as any related files, such as documentation, images, and so on. The actual wolkenkit code must be in a directory called `server`, so you need to create it as well:

```shell
$ mkdir chat/server
```

Finally, for the write model, you need to create another directory called `writeModel` inside of the `server` directory:

```shell
$ mkdir chat/server/writeModel
```

To have a valid directory structure, you also need to add three more directories that you are going to need later, `readModel`, `readModel/lists`, and `flows`:

```shell
$ mkdir chat/server/readModel
$ mkdir chat/server/readModel/lists
$ mkdir chat/server/flows
```

::: hint-question
> **What do write model, read model, and flows mean?**
>
> If you are unsure about what the write model, the read model, and flows are, have a look at the [core concepts](../../../getting-started/understanding-wolkenkit/core-concepts/).
:::

As a result, your directory structure should look like this:

```
chat
  server
    flows
    readModel
      lists
    writeModel
```

For more details, see [creating the directory structure](../../../reference/initializing-an-application/starting-from-scratch/#creating-the-directory-structure).

## Configuring the application

One thing every wolkenkit application needs is a `package.json` file within the application's directory. This file contains some configuration options that wolkenkit needs to start the application.

Create a `package.json` file within the `chat` directory:

```shell
$ touch chat/package.json
```

Then, open the file and add the following code:

```json
{
  "name": "chat",
  "version": "0.0.0",
  "wolkenkit": {
    "application": "chat",
    "runtime": {
      "version": "<%= current.version %>"
    },
    "environments": {
      "default": {
        "api": {
          "address": {
            "host": "local.wolkenkit.io",
            "port": 3000
          },
          "allowAccessFrom": "*"
        },
        "fileStorage": {
          "allowAccessFrom": "*"
        },
        "node": {
          "environment": "development"
        }
      }
    }
  }
}
```

For more details, see [configuring an application](../../../reference/configuring-an-application/naming-an-application/).
{'fraction_non_alphanumeric': 0.1259124087591241, 'fraction_numerical': 0.0032441200324412004, 'mean_word_length': 3.1947278911564627, 'pattern_counts': {'":': 34, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6965868', 'n_tokens_mistral': 1458, 'n_tokens_neox': 1389, 'n_words': 519}