npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@cloudcatch/create-block-theme

v1.0.0

Published

Scaffold a new WordPress block theme with full-site editing support

Readme

Create Block Theme

Scaffold a new WordPress block theme with full-site editing support

A powerful CLI tool for creating modern WordPress block themes based on best practices and the latest WordPress development standards.

Quick Start

Create a new theme with one command:

npx @cloudcatch/create-block-theme my-awesome-theme

The interactive CLI will prompt you for:

  • Theme name and slug
  • Description
  • Author information
  • Repository details
  • Composer vendor prefix

The CLI will then:

  • ✨ Copy the latest theme template
  • 🎨 Replace all placeholders with your details
  • 📦 Install npm and Composer dependencies
  • 🚀 Get you ready to develop immediately

Usage

# Interactive mode with prompts
npx @cloudcatch/create-block-theme my-theme-name

# Skip dependency installation
npx @cloudcatch/create-block-theme my-theme-name --skip-install

Features

The generated theme includes:

  • Modern Build Setup: Uses @wordpress/scripts with extended Webpack configuration
  • Automatic Block Registration: Place blocks in src/blocks/block-library and they're automatically registered
  • Conditional Style Loading: Block styles only load when the block is present on the page
  • TypeScript Support: Full TypeScript configuration for type-safe development
  • Linting & Code Quality: ESLint, StyleLint, and PHPCS pre-configured
  • Local Development: Integrated @wordpress/env for quick local WordPress setup
  • Testing: Playwright end-to-end testing setup
  • Build Automation: Scripts for building production-ready theme zips
  • Semantic Release: Automated versioning and changelog generation

What Gets Generated

my-theme/
├── assets/              # Static assets
├── bin/                 # Build scripts
│   ├── build-zip.js    # Generate distributable .zip
│   └── create-block.js # Scaffold new blocks
├── inc/                 # PHP includes
├── languages/           # Translation files
├── parts/               # Template parts
├── patterns/            # Block patterns
├── src/                 # Source files
│   ├── blocks/         # Block development
│   ├── js/             # JavaScript entry points
│   └── scss/           # Styles
├── templates/           # Block templates
├── tests/              # E2E tests
├── composer.json       # PHP dependencies
├── functions.php       # Theme functions
├── package.json        # Node dependencies
├── style.css           # Theme header
├── theme.json          # Theme configuration
└── webpack.config.js   # Build configuration

Development Workflow

After creating your theme:

cd my-theme

# Start development server
npm start

# Or start local WordPress environment
npm run wp-env:start

# Build for production
npm run build

# Create theme package (zip)
npm run theme-zip

# Run linters
npm run lint:js
npm run lint:css
npm run lint:php

# Run tests
npm test

Creating New Blocks

Use the included block generator:

npm run create-block

This will prompt you for block details and scaffold a new block in src/blocks/block-library/.

Requirements

  • Node.js 18.0.0 or higher
  • npm, yarn, or pnpm
  • Composer (optional, for PHP dependencies)
  • Docker (optional, for local WordPress environment)

Testing

This CLI includes comprehensive tests to ensure generated themes work correctly:

Run Integration Tests

Tests the CLI generation and all npm scripts:

npm test

Run WordPress Environment Tests

Tests the generated theme in a real WordPress environment using Docker:

npm run test:wp-env

This will:

  1. Generate a test theme
  2. Install dependencies
  3. Start WordPress with Docker
  4. Activate the theme
  5. Run Playwright E2E tests
  6. Clean up

Note: Requires Docker to be installed and running.

Continuous Integration

All tests run automatically on GitHub Actions for every push and pull request, testing against Node.js 18.x, 20.x, and 22.x.

Template Repository

This CLI is based on the Simple Block Theme starter theme.

License

GPL-2.0-or-later

Support


Made with ❤️ by CloudCatch