# MCPDO build source

The WordPress.org release includes the human-readable admin source in `assets/src/`.

The distributed `assets/build/index.js` and CSS files are generated from that source.

## Toolchain

- Node.js 22.23.2 (`.node-version` + `mise.toml`)
- pnpm 10.34.5 (`packageManager` + `mise.toml`)
- @wordpress/scripts 35.0.0
- @wordpress/i18n 6.28.0
- TypeScript 6.0.3 (strict admin boundary checking)

## Rebuild

The deployed WordPress.org package includes `assets/src/`, `package.json`, `pnpm-lock.yaml`, and `tsconfig.admin.json` so the distributed admin JavaScript/CSS can be rebuilt without relying on an external source host. Use the pinned Node/pnpm versions above:

```sh
pnpm install --frozen-lockfile
pnpm typecheck:admin
pnpm build
```

The separate development source archive also includes the full repository build/test scripts, Composer development lockfile, tests, and release tooling. From that source tree, `mise` is the preferred per-project toolchain selector:

```sh
mise install
mise current
node -v
pnpm -v
pnpm install --frozen-lockfile
pnpm typecheck:admin
pnpm verify:admin-architecture
pnpm verify:admin-data
pnpm build
pnpm verify:admin-bundles
./bin/performance-budget.sh
```

For a complete release-candidate acceptance from the development source tree (including Composer quality, release/source packaging, checksums, official Plugin Check, manifest validation, and Docker clean-install smoke):

```sh
pnpm verify:release-candidate
```

Browser regression is a separate Docker/wp-env lane because it owns a live WordPress browser environment. After Playwright Chromium is installed, run:

```sh
pnpm verify:browser
```

For exhaustive local acceptance, including the release gate, browser suite, and minimum/current/edge WordPress + WooCommerce Docker compatibility lanes:

```sh
pnpm verify:complete
```

The canonical development repository is maintained by TopHive. The deployed WordPress.org package keeps the source itself so reviewers and downstream developers do not depend on an external repository being public or reachable.
