{
  "markdown": "# WordPress DevKit for Claude Code\n\nBuild, diagnose, and ship WordPress work with fewer guessy shortcuts.\n\nWordPress DevKit gives Claude Code focused workflows for the moments that normally cost the most time: starting a safe plugin or block theme, untangling a white screen, reviewing PHP before release, building Gutenberg blocks, and preparing a migration without damaging serialized data.\n\nIt is designed for developers and agencies working on real WordPress sites. It does not connect to your hosting account, database, or analytics service. It works in the project folder you open with Claude Code and asks before anything that could alter a live site.\n\n![A real WordPress Docker smoke page, showing the DevKit dynamic block rendered by WordPress.](docs/assets/docker-smoke.png)\n\n## Why install it\n\n- Start with WordPress-shaped code, not a generic PHP scaffold. The theme, plugin, and block workflows use WordPress conventions from the first file.\n- Diagnose failures calmly. The debugging workflow moves from the error log to a likely root cause and a safe confirmation step.\n- Catch the security mistakes that matter before release: unsafe output, request data, nonces, SQL, capabilities, and direct-file access.\n- Make database migrations less risky. The migration workflow always puts backup and dry-run steps ahead of a real replacement and protects `guid` values.\n- Keep routine maintenance intentional. Cache flushing and hardening checks are explicit commands, with practical warnings for production use.\n\n```mermaid\nflowchart LR\n    A[\"WordPress project\"] --> B[\"Claude Code + WordPress DevKit\"]\n    B --> C[\"Create safely\\nTheme, plugin, block\"]\n    B --> D[\"Investigate clearly\\nLogs, PHP, conflicts\"]\n    B --> E[\"Ship confidently\\nSecurity, migration, hardening\"]\n    C --> F[\"Your WordPress site\"]\n    D --> F\n    E --> F\n```\n\n## Install\n\nThis is a **Claude Code** plugin. It is not a generic uploadable extension for the Claude desktop chat app. Anthropic supports a ZIP as a temporary Claude Code session load, while a GitHub marketplace is the right path for an install that stays available and receives updates. See Anthropic’s [plugin guide](https://code.claude.com/docs/en/plugins) and [marketplace guide](https://code.claude.com/docs/en/plugin-marketplaces).\n\n### Recommended: install from GitHub\n\nStart Claude Code in any project and run:\n\n```text\n/plugin marketplace add mohitkale/wordpress-devkit\n/plugin install wordpress-devkit@wordpress-devkit-marketplace\n/reload-plugins\n```\n\nYou need a current Claude Code version with the `/plugin` command. Claude Code runs on macOS and Windows. On Windows, Git Bash or WSL is usually the smoothest environment for WordPress CLI work; Docker Desktop works from either when its integration is enabled.\n\n### Try a downloaded ZIP for one session\n\nDownload the release artifact built by `scripts/package-plugin.sh`, then launch Claude Code with the archive. ZIP session loading requires Claude Code 2.1.128 or later.\n\nmacOS / Linux:\n\n```bash\nclaude --plugin-dir \"$HOME/Downloads/wordpress-devkit-1.1.0.zip\"\n```\n\nWindows PowerShell:\n\n```powershell\nclaude --plugin-dir \"$HOME\\Downloads\\wordpress-devkit-1.1.0.zip\"\n```\n\nWindows Git Bash:\n\n```bash\nclaude --plugin-dir \"$HOME/Downloads/wordpress-devkit-1.1.0.zip\"\n```\n\nThe ZIP is not uploaded to Claude.ai; it is read locally by the Claude Code process for that session. For a persistent install, use the marketplace steps above.\n\n### Develop from this checkout\n\n```bash\ngit clone https://github.com/mohitkale/wordpress-devkit.git\ncd wordpress-devkit\nclaude --plugin-dir .\n```\n\nRun `/help` to confirm the namespaced commands are available.\n\n## What you can ask for\n\nUse plain language, or call a workflow directly.\n\n| Situation | Ask Claude | Direct workflow |\n| --- | --- | --- |\n| Start a block theme | “Create a block theme named acme-studio in this WordPress install.” | `/wordpress-devkit:theme-init acme-studio` |\n| Start a plugin | “Scaffold a secure plugin named acme-forms.” | `/wordpress-devkit:plugin-scaffold acme-forms` |\n| Recover a broken site | “The site returns 500 after a plugin update. Investigate it.” | `/wordpress-devkit:wp-debug site returns 500 after plugin update` |\n| Review release risk | “Audit this plugin for WordPress security issues.” | `/wordpress-devkit:security-audit ./wp-content/plugins/acme-forms` |\n| Add a block | “Create a dynamic latest-posts block.” | `/wordpress-devkit:gutenberg-block latest-post dynamic` |\n| Move a site safely | “Plan a staging-to-production URL migration.” | `/wordpress-devkit:db-migration https://staging.example.com https://example.com` |\n| Check the environment | “Is this WordPress project ready for maintenance?” | `/wordpress-devkit:doctor` |\n| Clear only the common caches | “Flush the WordPress caches after this deploy.” | `/wordpress-devkit:flush` |\n| Make a release-readiness pass | “Run the WordPress hardening check.” | `/wordpress-devkit:hardening-check` |\n\nFor a multi-version WordPress or PHP upgrade, ask Claude to create an upgrade plan. The specialist checks the current site state, builds a compatibility matrix, and includes a staging-first rollback plan instead of guessing version compatibility.\n\n## What stays safe by default\n\n- Security and hardening reviews are read-only. They report evidence and fixes; they do not rewrite your code.\n- Migration guidance generates a reviewed plan first. It never runs a database migration for you.\n- Debugging keeps errors out of a production visitor’s screen and avoids printing database credentials or WordPress salts.\n- Cache flushing warns when a production cache rebuild may add load.\n- The session hook only detects local WordPress markers and adds a short in-session hint. It does not send data to a service operated by this project. Details: [PRIVACY.md](PRIVACY.md).\n\n## Tested WordPress flow\n\nThe repository includes a lightweight Docker Desktop smoke test. It launches WordPress 6.8.3, PHP 8.3, WP-CLI 2.11, and MariaDB 11.4, then:\n\n1. Activates a fixture plugin with a WordPress block registration.\n2. Activates a fixture block theme.\n3. Renders the dynamic block on a real WordPress front page, shown in the screenshot above.\n4. Runs the safe cache commands.\n5. Runs a URL `search-replace` dry run and confirms the stored value did not change.\n\nRun it with Docker Desktop running:\n\n```bash\ntests/docker/smoke.sh\n```\n\nThe suite removes only its own `wordpress-devkit-smoke` containers, network, and volume when it finishes. Use `KEEP_STACK=1 tests/docker/smoke.sh` if you want the temporary test site to remain available at `http://localhost:8088` for inspection.\n\n## Release checks\n\n```bash\nnode tests/run.js\nclaude plugin validate .\nscripts/package-plugin.sh\n```\n\nThe package command creates `dist/wordpress-devkit-<version>.zip` with the plugin root at the archive root, ready for a local ZIP-session test.\n\n## Support and privacy\n\nPlease use [GitHub Issues](https://github.com/mohitkale/wordpress-devkit/issues) for support and bug reports. The optional email field has deliberately been omitted from public plugin metadata: an email in `plugin.json` is visible to everyone who can view the repository and is more likely to attract spam than provide a useful installation benefit.\n\nThis project is MIT-licensed. See [LICENSE](LICENSE).\n",
  "bytes": 7293,
  "sha": "17ff1b224271b1c925c9dc76acfe00b065b18d9e522075674240c42f8b8206a0",
  "repo_slug": "mohitkale/wordpress-devkit",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_mohitkale_wordpress_devkit_wordpress_dev_2333fa22/readme"
}