Open alpha - now accepting developers

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.

TerminalUnder a minute, start to finish
$ npm install -g @loopress/cli
$ lps project config
→ opens your browser to authorize
✓ "my-site/production" configured
$ lps init
✓ loopress.json created, ready to commit
lps · workflow
WordPress Admin
WordPress Admin
Source of truth
lps snippet pull
Pull to local files
Git
Git
Commit & review
Pull Request
Diff & approve
lps snippet push
Apply to env
$ lps snippet pull
+ snippets/disable-emojis.php
+ snippets/custom-login.php
~ snippets/redirect-404.php
$ git diff --stat
3 files changed, 18 insertions(+), 4 deletions(-)
$ lps snippet push
✓ Updated · 3 snippets synced
01 · The Problem

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
Modern Applications
  • Git history
  • Code review
  • One-command deploy
  • Composer lockfile
WordPress
  • Admin UI edits, no diff
  • SSH to install a package
  • No rollback on snippets
  • Manual server setup
02 · The Solution

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
03 · Features

Built for developers who ship WordPress.

F.01

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.

snippets/disable-emojis.php+ 3 / − 1
  <?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');
$ lps snippet push
✓ Updated: disable-emojis
F.02

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.

pages/9-about.html
  <!-- wp:paragraph -->
  <p>We build tools for developers
  who ship WordPress.</p>
  <!-- /wp:paragraph -->
$ lps page push
✓ Pushed: About
F.03

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.

api/webhook-handler.php
  class WebhookHandler
  {
      public function post(): array
      {
          return ['received' => true];
      }
  }
$ lps api push
✓ Deployed: /loopress-api/v1/webhook-handler
F.04

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.

loopress.json · plugins
  "plugins": {
    "woocommerce": "9.4.2",
    "contact-form-7": "6.0.5",
    "fluent-crm": "3.1.6"
  }
$ lps plugin push
✓ Installed: contact-form-7 6.0.5
✓ Already up to date: woocommerce, fluent-crm
F.05

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
WordPress Admin · Loopress · Dependencies
Search: tcpdf
✓ tecnickcom/tcpdf found on Packagist
> Install
✓ Installing tecnickcom/tcpdf ^6.7
✓ Autoloader updated in wp-content/loopress/
F.06

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.

.github/workflows/loopress.yml
steps:
  - uses: actions/checkout@v4
  - uses: loopress/setup-ci@main
  - run: lps snippet push
✓ WordPress + MySQL started
✓ Updated: 3 snippets synced
04 · Security

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.

05 · Integrations

Fits into the tools you already use.

LiveAvailable
CO
Code Snippets
Pull, push, and list snippets via the CLI.
WP
WPCode
Same CLI commands, targets WPCode instead.
PL
Plugin Directory
Install and version any plugin from the WordPress.org directory.
PA
Packagist
Install any public Composer package from the admin.
AC
ACF
Field groups, post types, taxonomies and options pages as JSON, synced via CLI.
RA
Rank Math
Titles, schema defaults, post meta, and redirects synced via CLI.
YO
Yoast SEO
Titles, meta, and post-level SEO fields synced via CLI.
PlannedPlanned
SI
Site Options
planned
WordPress options and site settings as code.
RO
Roles & Caps
planned
User roles and capabilities as code.
WO
WooCommerce
planned
Settings and shipping zones as code.
06 · Vision

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.

07 · Pricing

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.