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

wp-release-automation

v1.0.8

Published

A comprehensive CLI tool for automating WordPress plugin and theme release processes with version management, ZIP creation, and Git integration.

Readme

WordPress Release Automation

A comprehensive CLI tool for automating WordPress plugin and theme release processes with version management, ZIP creation, and Git integration.

Features

  • 🔄 Version Management: Automated version bumping across multiple files
  • 📦 ZIP Creation: WordPress-ready distribution packages
  • 🏷️ Git Integration: Automatic commits, tagging, and pushing
  • ⚙️ Configurable: Flexible configuration for different project needs
  • 🚀 Complete Workflow: From version bump to GitHub release
  • 📝 WordPress Standards: Follows WordPress plugin/theme conventions

Installation

Global Installation (Recommended)

npm install -g wp-release-automation

Local Installation

npm install --save-dev wp-release-automation

Quick Start

  1. Initialize your project:

    cd your-wordpress-plugin
    wp-release init
  2. Bump version and release:

    npm run version:patch
    npm run wp-publish
  3. Your WordPress-ready ZIP file is created and pushed to GitHub!

CLI Commands

Initialize Project

wp-release init

Sets up configuration and package.json scripts for your WordPress project.

Version Management

wp-release version --type patch|minor|major

Build Process

wp-release build

Updates version numbers across all configured files and creates build directory.

Create Distribution ZIP

wp-release zip

Creates a WordPress-ready ZIP file for distribution.

Complete Release

wp-release release --type patch|minor|major [--dry-run]

Full release process: version bump → build → ZIP → Git tag.

Publish to GitHub

wp-release publish --type patch|minor|major [--dry-run]

Complete release with push to GitHub.

NPM Scripts

After initialization, these scripts are available in your project:

# Version management
npm run version:patch   # 1.0.0 → 1.0.1
npm run version:minor   # 1.0.0 → 1.1.0
npm run version:major   # 1.0.0 → 2.0.0

# Build and package
npm run build          # Update versions and create build directory
npm run zip            # Create distribution ZIP

# Complete workflows
npm run release        # Build → ZIP → Tag
npm run wp-publish     # Release → Push to GitHub

Configuration

The wp-release init command creates a wp-release.config.js file:

module.exports = {
  "pluginName": "my-plugin",
  "mainFile": "my-plugin.php",
  "buildDir": "build",
  "zipName": "{{name}}-{{version}}.zip",
  "excludePatterns": [
    "node_modules/",
    ".git/",
    "src/",
    "*.log",
    ".env*",
    "tests/",
    "*.md"
  ],
  "config": {
    "includeGitOps": true,
    "tagPrefix": "v",
    "branch": "main"
  }
};

Workflow Examples

Simple Release

# Bump patch version and release
npm run version:patch
npm run wp-publish

Step by Step

# 1. Bump version
npm run version:minor

# 2. Update files and create ZIP
npm run build
npm run zip

# 3. Git operations
npm run git:tag
npm run git:push

Using CLI Directly

# One command release
wp-release publish --type patch

# Dry run to see what would happen
wp-release release --type minor --dry-run

File Structure

After initialization, your project will have:

your-plugin/
├── package.json           # NPM scripts added
├── wp-release.config.js   # Configuration
├── your-plugin.php        # Version updated automatically
├── README.md             # Version updated automatically
└── your-plugin-1.0.0.zip # Distribution ZIP created

Version Updates

The tool automatically updates version numbers in:

  • WordPress Plugin Headers: * Version: 1.0.6
  • Plugin Constants: define('PLUGIN_VERSION', '1.0.0')
  • README.md: Version headers and stable tags
  • package.json: NPM version

Git Integration

When Git operations are enabled:

  • Automatic commits with descriptive messages
  • Git tags with release notes
  • Push to GitHub with tags
  • Release-ready for GitHub Releases

Advanced Usage

Custom Scripts

Add to your package.json:

{
  "scripts": {
    "pre-release": "npm run test && npm run lint",
    "release:beta": "npm run version:patch && npm run build && npm run zip",
    "deploy": "npm run wp-publish && echo 'Released!'"
  }
}

Hooks

Configure hooks in wp-release.config.js:

module.exports = {
  // ...other config
  "hooks": {
    "preRelease": ["npm run test"],
    "postRelease": ["echo 'Release complete!'"],
    "preBuild": ["npm run compile"],
    "postBuild": ["npm run optimize"]
  }
};

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

MIT

Support


Made for WordPress developers who want professional release automation 🚀