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

wpsmith

v0.1.7

Published

The CLI for WordPress Wordsmiths - Laravel-like WordPress development with Playground and SQLite

Readme

⚡ WPSmith

The CLI for WordPress Wordsmiths — Laravel-like WordPress development with Playground and SQLite.

Why WPSmith?

Laravel developers love Artisan. WPSmith brings that same elegant developer experience to WordPress:

  • Instant setup — Create a full WordPress project in seconds
  • SQLite by default — No MySQL required, just files
  • Playground integration — Run WordPress in WebAssembly
  • Checkpoints & rollback — Save and restore database state
  • Interactive shell — Like Laravel Tinker, but for WordPress
  • Forge commands — Scaffold plugins, themes, blocks, and more

snapshot

See video demo

Installation

npm install -g wpsmith

Quick Start

# Create a new WordPress project
wpsmith new my-site

# Start the development server
cd my-site
wpsmith serve

# Open interactive PHP shell
wpsmith console

Requirements

Commands

Project Management

wpsmith new [name]          # Create a new WordPress project
wpsmith serve               # Start development server (Playground)
wpsmith console              # Interactive PHP shell
wpsmith wp <command>        # Run any WP-CLI command

Database

wpsmith db:fresh            # Reset database to fresh state
wpsmith db:fresh --seed     # Reset and seed with test data
wpsmith db:seed             # Seed with test data
wpsmith db:export [file]    # Export database to SQL file
wpsmith db:import <file>    # Import database from SQL file

Checkpoints (Save/Restore State)

wpsmith checkpoint [name]   # Create a checkpoint
wpsmith checkpoint:list     # List all checkpoints
wpsmith rollback [name]     # Restore from checkpoint
wpsmith checkpoint:delete   # Delete a checkpoint
wpsmith checkpoint:clear    # Delete all checkpoints

Forge (Scaffolding)

wpsmith forge:plugin <slug>       # Scaffold a new plugin
wpsmith forge:theme <slug>        # Scaffold a new theme
wpsmith forge:child-theme <slug>  # Scaffold a child theme
wpsmith forge:post-type <slug>    # Scaffold a custom post type
wpsmith forge:taxonomy <slug>     # Scaffold a custom taxonomy
wpsmith forge:block <slug>        # Scaffold a block

Laravel Comparison

| Laravel | WPSmith | | ------------------------------ | ------------------------------ | | composer create-project | wpsmith new | | php artisan serve | wpsmith serve | | php artisan tinker | wpsmith console | | php artisan migrate:fresh | wpsmith db:fresh | | php artisan migrate:fresh --seed | wpsmith db:fresh --seed | | php artisan db:seed | wpsmith db:seed | | php artisan make:model | wpsmith forge:post-type | | php artisan make:controller | wpsmith forge:plugin | | php artisan cache:clear | wpsmith wp cache flush |

Configuration

Projects use the standard WordPress Playground Blueprint format:

{
  "$schema": "https://playground.wordpress.net/blueprint-schema.json",
  "preferredVersions": {
    "php": "8.3",
    "wp": "latest"
  },
  "steps": [
    {
      "step": "installPlugin",
      "pluginData": {
        "resource": "wordpress.org/plugins",
        "slug": "query-monitor"
      }
    }
  ],
  "wpsmith": {
    "port": 9400
  }
}

The wpsmith key is an extension for local dev settings. Everything else follows the standard Playground blueprint schema, giving you access to all blueprint features like themes, site options, and more.

Custom Seeders

Create custom seeders in the seeders/ directory:

// seeders/demo.json
{
  "name": "Demo Seeder",
  "description": "Creates demo content for presentations",
  "steps": [
    { "command": "user create demo [email protected] --role=editor --user_pass=demo", "description": "Create demo user" },
    { "command": "post generate --count=20", "description": "Generate posts" },
    { "command": "option update blogname 'Demo Site'", "description": "Set site name" }
  ]
}

Run with:

wpsmith db:seed --seeder=demo

How It Works

WPSmith combines:

  1. WordPress Playground CLI — Runs WordPress in WebAssembly, no server required
  2. SQLite Database Integration — Stores data in a single file, perfect for development
  3. WP-CLI — Powers all WordPress operations

The database is stored at wp-content/database/.ht.sqlite. Checkpoints are simply copies of this file, making rollback instant.

Development

# Clone the repository
git clone https://github.com/juanmaguitar/wpsmith.git
cd wpsmith

# Install dependencies
npm install

# Build
npm run build

# Link for local testing
npm link

# Now you can use `wpsmith` globally
wpsmith --help

License

MIT