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.
An app project centers on extensions 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.
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.
| 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/ |
src/extensions/ | The default location for the extensions you generate, one folder per extension. | src/extensions/ |
.env.local | Environment variables 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 adds the variables stored on Wix's servers. To set and use your own variables, see Manage Environment Variables in the CLI. | |
.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 |
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 |
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 |
Last updated: 10 November 2026