WooCommerce logo

WooCommerce

Unified codebase for building and extending WooCommerce plugins

A single repository containing WooCommerce core, plugins, packages, and tools, offering a standardized development environment for WordPress e‑commerce projects and rapid development.

WooCommerce banner

Overview

Overview

The WooCommerce Monorepo is the central source for the core WooCommerce plugin, official extensions, shared PHP packages, JavaScript libraries, and development tools. By consolidating everything into a single GitHub repository, it gives developers a consistent code base, versioning, and dependency graph across the entire e‑commerce ecosystem.

Getting Started

To begin, clone the repository and install the required tooling: NVM to match the Node version defined in .nvmrc, PNPM for fast, deterministic package installs, PHP 7.4+ and Composer for the PHP side. After running pnpm install -frozen-lockfile the build can be produced with pnpm build, which compiles both PHP and JavaScript assets for all plugins.

Community & Contribution

The monorepo includes detailed READMEs per component, contribution guidelines, and links to the WooCommerce development blog and Slack community. Security issues are reported through HackerOne, and the project welcomes contributions from developers of all skill levels.

Highlights

All core plugins, extensions, packages, and tools in a single repository
Standardized environment using NVM, PNPM, and Composer
Unified build scripts for PHP and JavaScript assets
Comprehensive documentation and contribution guidelines

Pros

  • Single source of truth for WooCommerce development
  • Consistent dependency management across languages
  • Active community with Slack, blog, and security program
  • Supports both PHP and modern JavaScript ecosystems

Considerations

  • Requires a POSIX‑compatible OS (Linux/macOS or WSL on Windows)
  • Steep learning curve for monorepo tooling and scripts
  • Large repository size can increase clone and install times
  • Node and PHP version constraints must be adhered to

Managed products teams compare with

When teams consider WooCommerce, these hosted platforms usually appear on the same shortlist.

Adobe Commerce logo

Adobe Commerce

Enterprise e-commerce platform (formerly Magento Commerce) for building customizable online storefronts with rich features

BigCommerce logo

BigCommerce

Cloud-based SaaS e-commerce platform for creating and scaling online stores across B2C and B2B

commercetools logo

commercetools

Headless commerce platform (MACH) for building custom storefronts

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Developers building custom WooCommerce extensions
  • Teams maintaining multiple WooCommerce plugins
  • Contributors looking to improve core WooCommerce
  • Agencies needing a shared codebase for e‑commerce projects

Not ideal when

  • Non‑technical users seeking a ready‑made store
  • Developers without access to Linux/macOS or WSL
  • Projects that require a lightweight, single‑plugin setup
  • Teams preferring separate repositories for each extension

How teams use it

Build a custom payment gateway

Leverage shared WooCommerce utilities and testing scripts to deliver a fully integrated gateway faster.

Develop a theme‑aware storefront plugin

Access core plugin APIs and JavaScript components directly from the monorepo, ensuring compatibility with future WooCommerce releases.

Maintain multiple extensions in a single CI pipeline

Run unified PNPM builds and PHP tests across all packages, reducing CI configuration complexity.

Contribute bug fixes to WooCommerce core

Submit patches within the same repository used by the core team, streamlining review and release processes.

Tech snapshot

PHP60%
TypeScript23%
JavaScript13%
SCSS3%
HTML1%
Shell1%

Tags

automatticecommercehacktoberfestwoocommercephpwordpressecommerce-platformreactjs

Frequently asked questions

Do I need to use NVM to work with the monorepo?

NVM is recommended because the repository includes an `.nvmrc` file that pins the Node version used by the development scripts.

Can I develop on Windows without WSL?

The monorepo assumes a POSIX‑compatible environment; Windows users should use WSL or a Linux/macOS machine for full compatibility.

How are PHP dependencies managed?

All PHP packages are installed via Composer, which reads the `composer.json` files located in each plugin or package directory.

Is there a single command to build all projects?

Yes, running `pnpm build` after installing dependencies compiles both PHP and JavaScript assets for every component in the repository.

Where can I report security vulnerabilities?

Security issues should be disclosed through the project's HackerOne page as indicated in the README.

Project at a glance

Active
Stars
10,143
Watchers
10,143
Forks
10,732
Repo age14 years old
Last commit3 hours ago
Primary languagePHP

Last synced 3 hours ago