page-notes/ Pick any file or folder on the left to see what it is, why it exists, when you add it and the mistakes people make with it. Switch the stage to watch the project grow.
Top level, at Growing .git Git history, created by `git init`. .output Build output: `chrome-mv3-dev` while developing, `chrome-mv3` and the store zip after a build. .wxt Files WXT generates: TypeScript config, auto-import types, and types for your entrypoints. .vscode Shared editor settings and recommended extensions. assets CSS, images and fonts that Vite processes and bundles. components React components shared by the popup, side panel and options pages. Auto-imported. entrypoints Every part Chrome loads separately: the service worker, content scripts and each HTML page. hooks React hooks for pages, auto-imported: data from storage, the current tab. public Files copied to the build as they are: icons, locales, static images. utils Plain TypeScript shared by every entrypoint: storage, messaging, the API client. Auto-imported. tests Unit tests with Vitest and WXT's in-memory fake browser. node_modules Installed packages. .env Local values for `WXT_` and `VITE_` variables, such as the API base URL. .env.example The variable names with safe example values, committed for teammates. .gitignore Ignores node_modules, .output, .wxt, logs, web-ext.config.ts and editor files. .nvmrc Pins the Node version, for example 24. .prettierrc Prettier settings for TypeScript, CSS, HTML and Markdown. app.config.ts Runtime config available in every entrypoint through `useAppConfig()`. eslint.config.js ESLint flat config: typescript-eslint, React hooks rules, and globals for WXT auto-imports. package.json Name, version, scripts (dev, build, zip, compile) and dependencies. pnpm-lock.yaml The exact version of every installed package. README.md How to install, run, test and release the extension. tsconfig.json Extends the generated `.wxt/tsconfig.json` and turns on JSX. vitest.config.ts Vitest config with the WxtVitest plugin and the setup file. web-ext.config.ts Your personal browser startup settings for `pnpm dev`: which Chrome binary, profile, start URLs. wxt.config.ts WXT config: modules (React), and the manifest fields WXT cannot infer.