LocalWP Devkit
The Oh My IDEtch LocalWP Devkit is a reusable workspace for building code-owned Etch sites against LocalWP. Local owns WordPress, PHP, MySQL, routing, SSL, Mailpit, and Site Shell. The devkit owns project source, agent instructions, verification commands, sync, WP-CLI wrappers, and deployable plugin ZIPs.
Start by downloading the LocalWP devkit ZIP from your OhMyEtch account:
oh-my-idetch-localwp-devkit-<version>.zip
Extract it once, keep it as a long-lived workspace, and create one project folder per LocalWP site.
Mental Model
The devkit has two surfaces:
| Surface | Purpose |
|---|---|
| Devkit root | Shared commands, generated agent instructions, project templates, and package scripts. Open this folder in your agent. |
projects/<slug> | The source of truth for one website: PHP site builders, CMS JSON, project notes, tests, reports, and project ZIP output. |
The Local site receives only a synced runtime plugin copy at:
wp-content/plugins/oh-my-idetch
Do not edit that synced plugin copy as your source. Edit the project under projects/<slug>, check it, sync it, then verify in LocalWP.
What Is Not Bundled
The devkit does not include premium or user-owned runtime files. Install these in your own Local site when your project needs them:
| Dependency | Ownership |
|---|---|
| Etch | User-owned runtime plugin. |
| Etch Theme | User-owned theme/runtime dependency. |
| OhMyEtch | User-owned component plugin. |
| AutomaticCSS | User-owned styling system. |
| ACF Pro or other CMS field plugins | User-owned CMS dependency. |
| Local Blueprints | Private user-created Local artifacts, not Oh My IDEtch release artifacts. |
Use bun run localwp:doctor -- --project <slug> and bun run localwp:capabilities -- --project <slug> before assuming those runtime capabilities are available.
Typed Builder Authoring
All Etch presentation is authored with the typed PHP builders from the Composer package honestlydesign/etch-builders, pinned per devkit release. Fluent builders compose blocks, styles, loops, components, and CMS-backed content, and their guardrails reject lazy HTML dumps before anything reaches WordPress. The project template ships runnable builder examples under examples/builders/.
The Core Loop
Every project change follows the same order:
bun run project:check -- --project <slug>
bun run localwp:sync -- --project <slug>
bun run localwp:verify -- --project <slug>
The check lints PHP, runs PHPStan, and compiles the project site definition without writing to WordPress. The check must run before sync: the Local site never receives unchecked project source. After a successful sync, localwp:verify runs a fast read-only runtime check of compiled digests, recorded ownership, required capabilities, and the installed Builder contract.
For deeper inspection, use the browser, WordPress admin, or WP-CLI:
bun run localwp:wp -- --project <slug> -- plugin list
Start Here
- Install and Prepare explains what to install before opening the devkit in an agent.
- First Project walks through
/new-projectand manual setup commands. - Daily Workflow covers the build, check, sync, and verify loop.
- Command Reference lists every devkit command.
- Troubleshooting covers the common blockers.
- Ship a Plugin ZIP explains the production ZIP path.