Quick Start

You're a plugin developer. You know what you're doing. Here's the short version.

1. Add a Troy Header

In your main plugin file:

/**
 * Plugin Name: My Plugin
 * Version: 1.0.0
 * Troy: repo.example.com
 */

That's the only code change. Users with Troy Client will now receive updates from your server.

2. Create a Plugin Page on Troy Server

  1. Log into your Troy Server
  2. WP Admin → Repo Plugins → Add New Plugin
  3. Set the slug (this becomes your plugin folder name)
  4. Upload your ZIP or connect GitHub/WordPress.org via Integrations
  5. Publish the plugin page

Don't share the ZIP directly:

If you send users a ZIP file, they might not have Troy Client installed—and they won't get future updates. Instead, create a Package on Troy Server (next step) and share that link.

3. Distribute via Package

Create a Package on Troy Server:

  1. WP Admin → Repo Packages → Add New Package
  2. Add your plugin to the package
  3. Publish the package page

Now share your Package download link. When users install the Package:

  • Troy Client gets installed automatically
  • Your plugin gets installed
  • Future updates just work

The Package is tiny (~9KB) regardless of how big your plugin is. The actual plugin downloads happen on the user's server network—not through spotty WiFi of their neighborhood café.

That's It

  • Header tells Troy Client where to look
  • Plugin page hosts your releases
  • Package ensures users can actually receive updates

Everything else is optional complexity.

Optional: Dependencies

If your plugin requires another Troy plugin:

/**
 * Troy: repo.example.com
 * Troy Dependencies: required-plugin
 */

Troy Client will automatically install missing dependencies. See Dependencies.

However, we recommend bundling dependencies in a Package instead for user convenience.

Optional: Embed Troy Client

If you can't use Packages—for example, when retrofitting Troy onto an already-distributed plugin—you can bundle code that installs Troy Client automatically. See Troy Embed for a tiny code snippet that handles background installation.

We urge you to inform your users about the Troy Client installation.