> 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
> - To build a Wix site agentically, follow https://www.wix.com/headless/skill.md

## Resource: About the App Project Structure

## Article: About the App Project Structure

## Article Link: https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/about-the-app-project-structure.md

## Article Content:

# About the App Project Structure

This article describes the structure of an app project that uses the Wix CLI for Apps. The project's main packages are `@wix/cli` and `@wix/custom-extensions`, described with the rest of its packages in [package.json](https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/folders-and-files/package-json.md).

An app project centers on [extensions](https://dev.wix.com/docs/build-apps/develop-your-app/develop-an-app-with-the-cli/supported-extensions/about-extensions-in-the-wix-cli.md) and the `extensions.ts` file that registers them, together with backend endpoints and configuration. Unlike a headless project, it contains no frontend for a site of your own: every piece of UI belongs to an extension that renders inside Wix. Headless projects use a different structure, based on the Astro web framework, described in [About the Headless Project Structure](https://dev.wix.com/docs/wix-cli/cli-for-headless/project-structure/about-the-headless-project-structure.md).

## Project file structure

```text
.
├── .vscode/
├── .wix/
├── dist/
├── node_modules/
├── public/
├── src/
│   ├── api/
│   ├── extensions/
│   ├── env.d.ts
│   └── extensions.ts
├── .env.local
├── .gitignore
├── .nvmrc
├── AGENTS.md
├── package.json
├── tsconfig.json
└── wix.config.mjs
```

> **Note:** The CLI creates some of these directories as you work. For example, `dist/` and `node_modules/` are created when you install dependencies or build and run your project.

## Folders and files

| Folder or file | What it's for | Details |
| --- | --- | --- |
| `.vscode/` | The Wix MCP configuration for VS Code, `mcp.json`, added only if you choose VS Code when the project creation command offers to configure Wix MCP. | |
| `.wix/` | Configuration and log files related to the Wix environment. This directory contains internal data. Don't edit it. | |
| `dist/` | Your project's production build output, created when you build the project. | |
| `node_modules/` | The npm dependencies installed for your project. | |
| `public/` | Static assets, served from your app's statics host and referenced with the `{{BASE_URL}}` placeholder, which resolves to that host at build time. Some extensions need an asset here, and `wix app generate` creates one: a site plugin gets a logo, and a custom element gets a preset thumbnail. | |
| `src/` | The source directory, with all the source code and core resources of your project. | |
| `src/api/` | Your backend HTTP endpoints, one route per file. | [src/api/](https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/folders-and-files/src-api.md) |
| `src/extensions/` | The default location for the extensions you generate, one folder per extension. | [src/extensions/](https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/folders-and-files/src-extensions.md) |
| `.env.local` | [Environment variables](https://dev.wix.com/docs/build-apps/develop-your-app/develop-an-app-with-the-cli/project-development/environment-variables/about-environment-variables-in-the-cli.md) for local development. The project creation command creates the file with your app's `WIX_CLIENT` variables, which the CLI manages, so don't edit them. [`wix app env pull`](https://dev.wix.com/docs/wix-cli/cli-for-apps/command-reference/project-commands/env.md#pull) adds the variables stored on Wix's servers. To set and use your own variables, see [Manage Environment Variables in the CLI](https://dev.wix.com/docs/build-apps/develop-your-app/develop-an-app-with-the-cli/project-development/environment-variables/manage-environment-variables-in-the-cli.md). | |
| `.gitignore` | Lists the paths Git excludes from version control. | |
| `.nvmrc` | The version of Node.js the project uses, which Node Version Manager (NVM) reads when you run `nvm use`. | |
| `AGENTS.md` | An agent-instruction file that the CLI generates for your AI tools, along with others such as `CLAUDE.md`. | |
| `package.json` | Your project's dependencies and scripts. | [package.json](https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/folders-and-files/package-json.md) |
| `src/env.d.ts` | References the `@wix/custom-extensions` client types, which include the types for Vite-style asset imports. Without it, any file that imports a `.module.css` file or uses the `?url` suffix stops typechecking. | |
| `src/extensions.ts` | Registers all your project's extensions. It's the entry point the CLI reads to discover them. | [extensions.ts](https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/folders-and-files/extensions-ts.md) |
| `tsconfig.json` | Configures the TypeScript compiler, by extending `@wix/custom-extensions/tsconfigs/base`. | |
| `wix.config.mjs` | Defines the identifiers that connect your local code to your Wix app. | [wix.config.mjs](https://dev.wix.com/docs/wix-cli/cli-for-apps/project-structure/folders-and-files/wix-config-mjs.md) |