> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - If a reference page seems to be missing its schema (parameters, return types, or type definitions), append `?schema=true` to its `.md` URL (e.g. `https://dev.wix.com/docs/contexts/contexts/stores/category-info/use-category-info-context.md?schema=true`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: wix.config.mjs

## Article: wix.config.mjs

## Article Link: https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/folders-and-files/wix-config-mjs.md

## Article Content:

# wix.config.mjs

The `wix.config.mjs` file defines the identifiers that connect your local code to your Wix app, and the packages that provide your project's commands.

The file has the following structure, with `<value>` in place of each identifier:

```js
// @ts-check
import { defineWixConfig } from '@wix/cli/config';
import customExtensions from '@wix/custom-extensions/flow';
import zeroConfig from '@wix/cli-zero-config-flow';

const appId = '<value>';

export default defineWixConfig({
  flows: [
    customExtensions({
      appId,
      projectId: '<value>',
      namespace: '<value>',
      codeIdentifier: '<value>',
    }),
    zeroConfig({ appId }),
  ],
});
```

The `flows` array lists the packages that add commands to your project:

- `customExtensions()`, from `@wix/custom-extensions`, holds your project's identifiers and adds the project commands, which run as `wix app <command>`.
- `zeroConfig()`, from `@wix/cli-zero-config-flow`, adds the [`wix app generate manifest`](https://dev.wix.com/docs/wix-cli/cli-for-apps/command-reference/project-commands/generate-manifest.md) command.

Both calls take your app ID, so the file declares it once, as the `appId` constant.

`customExtensions()` takes the following identifiers:

- `appId` links the project to your app, and to the version history of every release already made from it.
- `projectId` identifies this project's contribution to that app, which matters when more than one project releases to the same app.
- `namespace` is your app's [namespace](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/about-backend-extensions.md#app-namespace), in the format `@prefix/suffix`. Some extensions, such as data collections, require it.
- `codeIdentifier` is your app's code identifier, a unique, JavaScript-compatible name for your app and its extensions. The CLI uses it in the `type` of the site components and context providers it generates, such as `my_app.MyComponent`.