The unified DX ecosystem for managed WordPress.
Git versioning, Composer lockfiles, and convention-based APIs in one lightweight workflow, on the native WordPress architecture your host already runs. Zero SSH in production.
WordPress wasn't built for modern development workflows.
Snippets edited in the admin. Plugin versions untracked. Theme styles overwritten. PHP packages requiring SSH. Problems solved everywhere else, still open in WordPress.
- SNPSnippets edited in the admin, no history, no rollback
- PLGPlugin versions are ad hoc, no lockfile, no reproducible installs
- DEPComposer packages require SSH to install
- ✓Git history
- ✓Code review
- ✓One-command deploy
- ✓Composer lockfile
- ✗Admin UI edits, no diff
- ✗SSH to install a package
- ✗No rollback on snippets
- ✗Manual server setup
One CLI. One plugin. Every workflow.
Same three problems, resolved:
- SNPPulled as .php files, pushed back as commits: diffable, revertable
- PLGDeclared in loopress.json, a lockfile for WordPress plugins
- DEPInstalled from the WordPress admin via Composer, no SSH
Built for developers who ship WordPress.
Snippets in Git
Pull snippets as .php files, edit them locally, and push back when you're done: every change becomes a commit, reviewable, diffable, revertable.
<?php
- // remove_action('wp_head', ...);
+ remove_action('wp_head', 'print_emoji_detection_script', 7);
+ remove_action('wp_print_styles', 'print_emoji_styles');
+ remove_filter('the_content_feed', 'wp_staticize_emoji');Pages in Git
Pull a page's content as a real, editable .html file via WordPress's own REST API, no plugin required. Edit it, commit it, push it back: the same Git loop as any other code change, no database dump.
<!-- wp:paragraph --> <p>We build tools for developers who ship WordPress.</p> <!-- /wp:paragraph -->
Custom API Routes
Ship a REST API for your headless frontend as version-controlled PHP files, one class, one method per HTTP verb. A broken route is skipped and logged instead of taking down the rest of your API.
class WebhookHandler
{
public function post(): array
{
return ['received' => true];
}
}Plugin Lockfile
Declare plugin versions in loopress.json, like a package.json for WordPress. lps plugin pull merges what's actually live into your manifest instead of overwriting it, so drift never turns into a fight.
"plugins": {
"woocommerce": "9.4.2",
"contact-form-7": "6.0.5",
"fluent-crm": "3.1.6"
}Composer without SSH
Search and install any Packagist package from the WordPress admin, no terminal, no SSH. Every install is checked: known CVEs flagged, PHP version mismatches caught before they break anything.
Download Loopress Full↓Search: tcpdf✓ tecnickcom/tcpdf found on Packagist> Install✓ Installing tecnickcom/tcpdf ^6.7✓ Autoloader updated in wp-content/loopress/
Official CI configs
Bootstrap a full, disposable WordPress instance in GitHub Actions or GitLab CI and run lps against it in one step: not a mock, ready for real Playwright e2e tests, with database snapshots between test groups.
steps: - uses: actions/checkout@v4 - uses: loopress/setup-ci@main - run: lps snippet push
Secure by default, not by configuration.
Installing Composer packages without SSH and shipping REST routes from Git are exactly the kind of features a senior developer should be suspicious of. Here's what's actually enforced.
Official WordPress auth, nothing proprietary
Every command authenticates with a WordPress Application Password, the same mechanism WordPress core has shipped since 5.6. Revoke it from Users → Profile at any time and access stops immediately, no Loopress involvement required.
API admin-only by default
A custom API route deployed via lps api requires the manage_options capability unless the route file explicitly opts into something else with a permission() method. Nothing is public unless you say so.
Reviewed before it runs
Every custom route and every Composer dependency is a file in your Git repository before it's ever live on WordPress: no plugin you didn't read, no code that skipped a pull request.
Snippets run through providers that know the risk
Loopress doesn't execute PHP itself: it pushes to Code Snippets or WPCode, established plugins with years of production use around exactly this problem, running PHP from the WordPress admin. You inherit their hardening and their track record, not a new attack surface.
Fits into the tools you already use.
The future of WordPress development.
We believe WordPress projects should be as reproducible as modern applications.
Developers should not have to choose between WordPress flexibility and modern engineering practices.
Loopress brings both worlds together.
Free to start. Built to scale.
The CLI and the WordPress plugin (Full) are free and open source, always. The console is free for now. Down the line, paid tiers kick in once you pass a certain number of projects, not before.
Built in the open. Shaped by the community.
The CLI and the plugin are open source. Leave your email to follow along and get notified when things move.
No spam. No marketing. Just product updates from the team.