Publish
npx pressship publish ./my-plugin
publish is the modernized happy path for WordPress.org plugins. It discovers the plugin and chooses the best publishing flow:
- use
releasewhen running inside a WordPress.org SVN checkout frompressship get; - use
submitwhen a matching WordPress.org review submission is pending or reuploadable; - use
releasewhen the plugin has an approved WordPress.org SVN repository and no pending review submission is found; - ask whether to submit or release when Pressship cannot confidently choose.
Options
npx pressship publish ./my-plugin --dry-run
npx pressship publish ./my-plugin --submit
npx pressship publish ./my-plugin --release --username WpOrgUser
npx pressship publish ./my-plugin --no-verify
npx pressship publish ./my-plugin --skip-plugin-check
npx pressship publish ./my-plugin --skip-readme-validator
npx pressship publish ./my-plugin --wp-path /path/to/wordpress
npx pressship publish ./my-plugin --ignore "assets/**/*.mp4"
npx pressship publish ./my-plugin --yes
npx pressship publish ./my-plugin --release --no-install-svn
Use --submit for review upload and --release for approved-plugin SVN release when you want to force the route.
Before uploading or committing an SVN release, publish verifies the plugin with readme validation and Plugin Check. Use --no-verify only when you intentionally want to bypass both checks.
From an SVN checkout root, Pressship treats trunk/ as the plugin directory:
npx pressship get my-plugin ./my-plugin
cd ./my-plugin
npx pressship version patch
npx pressship publish
For SVN releases, Pressship can infer the username from the saved WordPress.org login. On the first real release commit, it will ask for a generated WordPress.org SVN password and save it locally for later releases.
When the selected release version already exists in SVN as tags/<version>, Pressship stops with a “No version change detected” message. Bump the plugin version before publishing again.
If svn is missing during a release, Pressship can detect your operating system and ask before installing Subversion. Use --no-install-svn to skip that helper.