Skip to content

About

Create WordPress posts and pages locally on your PC, then publish them remotely.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

CreatePress

A native desktop app for macOS, Windows and Linux that lets you write and publish posts and pages on any WordPress site, using the site's full block editor (Gutenberg), with every block plugin installed on that site working exactly as it does in wp-admin.

  • Native shell: real native menus and shortcuts, macOS vibrancy and traffic lights, Windows 11 Mica, GNOME/KDE-friendly styling, OS light/dark mode.
  • Full block compatibility: the editor pane runs the site's own block editor, so third-party blocks, sidebar plugins and meta boxes all work.
  • Role-aware: only offers the content types and actions your WordPress role allows (for example, contributors get Submit for Review instead of Publish).
  • Secure by design: Application Passwords only, stored in the OS keychain; HTTPS enforced; isolated, origin-locked editor webview. See docs/SECURITY.md.
  • Installers: .dmg (macOS, universal), .deb (Linux, plus AppImage), .msi (Windows).

Read docs/ARCHITECTURE.md for the design and the reasoning behind it.

Requirements

On the WordPress site:

  • WordPress 6.4 or newer, served over HTTPS.
  • Application Passwords enabled (the default in WordPress core; some security plugins or hosts turn them off).
  • Optional but recommended: the CreatePress Bridge plugin from plugin/createpress-bridge, which removes the second sign-in when opening the editor.

On your computer: macOS 14+, Windows 10/11 (WebView2 is installed automatically if missing), or a Debian/Ubuntu-based Linux with WebKitGTK 4.1.

Development

Prerequisites: Node 22+, Rust (stable), and the Tauri prerequisites for your OS. On Debian/Ubuntu:

sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libssl-dev libdbus-1-dev
npm install
npm run tauri dev        # run the app with hot reload
npm test                 # frontend tests
cd src-tauri && cargo test   # Rust tests

Live tests against a real site (for example a local one on http://localhost:8888):

cd src-tauri
CREATEPRESS_TEST_SITE=https://example.com CREATEPRESS_TEST_USER=me CREATEPRESS_TEST_APP_PASSWORD="xxxx xxxx xxxx xxxx xxxx xxxx" \
  cargo test live_tests -- --ignored --nocapture

Companion plugin checks:

cd plugin/createpress-bridge
composer install
vendor/bin/phpcs

Building installers

npm run tauri build -- --bundles deb,appimage                     # on Linux
npm run tauri build -- --target universal-apple-darwin --bundles dmg   # on macOS
npm run tauri build -- --bundles msi                              # on Windows

Pushing a v* tag runs .github/workflows/release.yml, which builds, signs and notarizes all three on GitHub's macOS, Ubuntu and Windows runners and attaches them to a draft release, along with a zip of the companion plugin. Signing secrets are listed in the workflow file.

Project layout

Path What it is
src/ Platform-adaptive React shell UI
src-tauri/src/ Rust core: REST client, sign-in, keychain, editor webview, menus
src-tauri/capabilities/ Least-privilege permission grants for each webview
plugin/createpress-bridge/ Optional companion WordPress plugin
docs/ Architecture and security notes

Trademark

"WordPress" is a registered trademark of the WordPress Foundation. CreatePress is an independent app and is not affiliated with or endorsed by the WordPress Foundation.

About

CreatePress is developed by Eli Linares.

License

GPL-2.0-or-later, the same license as WordPress.

About

Create WordPress posts and pages locally on your PC, then publish them remotely.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages