Skip to content

Development

Nick Hamze edited this page Sep 14, 2026 · 1 revision

Development

Requirements

  • WordPress with OpenStation activated. Plugin declares PHP 8.0 or later; demo tested with WordPress 7.0, PHP 8.3 and OpenStation 1.1.8.
  • Node.js 22 or newer and npm for builds and the optional companion.

Build and test

git clone https://github.com/RegionallyFamous/transmission-for-openstation.git
cd transmission-for-openstation
npm ci
npm test
npm run build
php -l transmission.php
node scripts/package.mjs

Install the generated release/transmission-0.5.2.zip through WordPress. The repository source ZIP does not include compiled editor assets.

To run the companion from source:

cd companion
npm ci
npm start

The Vite development page is a launcher; the editor runs inside WordPress, which provides its editing packages. Update the local WordPress link in index.html for your environment.

Source map

  • transmission.php: OpenStation registration, desktop icon, assets and WordPress configuration.
  • src/editor.js: document workflow, saving, media and floating assistant.
  • src/core-editor.js: WordPress block editor integration and undo history.
  • src/codex-client.js: browser pairing and writing requests.
  • src/style.css: appearance through OpenStation theme tokens.
  • companion/: loopback HTTP server and Codex app-server client.
  • tests/: pairing, request security, media and document tests.
  • scripts/package.mjs: separate plugin and companion ZIPs.
  • demo/: reproducible Playground recipe and pinned demonstration bundle.

Packaging

Run the build before packaging. Keep plugin versions in transmission.php, package files and scripts/package.mjs aligned; keep the separate companion package version and archive name aligned. The packager includes only runtime files and README documentation, never dependencies or account credentials.

To rebuild Playground, place a compatible OpenStation plugin ZIP at demo/openstation.zip, then run python3 demo/build-blueprint.py after packaging Transmission. The published bundle already includes OpenStation and its seeded content, so the demo can boot without external plugin downloads.

Clone this wiki locally