> 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: src/extensions/

## Article: 

## Article Link: https://dev.wix.com/docs/wix-cli/cli-for-headless/project-structure/folders-and-files/src-extensions.md

## Article Content:

# src/extensions/

The `src/extensions/` folder is the default location for extensions you generate with [wix generate](https://dev.wix.com/docs/wix-cli/cli-for-headless/command-reference/project-commands/generate.md), organized by type to maintain consistency. Each extension gets its own folder holding an `<extension-name>.extension.ts` configuration file and its implementation. For example, an event handler is created at `src/extensions/backend/events/my-event/`, with `my-event.extension.ts` and `my-event.ts`.

You can place extensions anywhere under `src/`, as long as you update their paths in [extensions.ts](https://dev.wix.com/docs/wix-cli/cli-for-headless/project-structure/folders-and-files/extensions-ts.md).

## Extension files

Each extension's `.extension.ts` file declares it with a builder from `@wix/astro/builders`, and [extensions.ts](https://dev.wix.com/docs/wix-cli/cli-for-headless/project-structure/folders-and-files/extensions-ts.md) imports the file and registers the extension. For example:

```typescript
import { extensions } from '@wix/astro/builders';

export default extensions.dashboardPage({
  id: '154f642e-a705-4ff3-8421-6119354a3384',
  title: 'My Imported Page',
  routePath: 'my-imported-page',
  component: './extensions/dashboard/pages/my-imported-page/my-imported-page.tsx',
});
```

`wix generate` creates each extension's files, including a `.extension.ts` file containing the builder. By default, it uses the naming pattern `[extension-name].extension.ts`, and you can rename these files.