Fetching contributors…
Cannot retrieve contributors at this time
39 lines (25 sloc) 1.59 KB


So you want to create your own plugin? Here's a few tips to get started, along with some best practices.

Before you get started

Problem statement

What problem is this trying to solve? Try to state it as clearly as possible, from your customer's perspective. Give README driven development a try, it's how pilotfish was built. :)

Research existing solutions

Make yourself an expert in this space. You might be the very first person on the Internets to solve this problem, but probably not, do some looking around. Take time to see what else is out there, and pull the best pieces from each. Use it to inspire new ideas on how it should work.

Note: If after doing this research you literally find no one else who has solved this problem, I'd double-check your problem statement. ;-)


Use a verb - for example: usher, speaker, recorder.

Client side API


Important: Run grunt init_plugin and it will generate a scaffolding for you with a template plugin. You'll get the basics set up, along with empty qunit & casperjs tests, and a README. You can also view the template if you want to see what will be generated.

Manually register a simple plugin

For a quick and dirty plugin for your own use:

Pilotfish('registerPlugin', 'plugin-name', function() {
  // Plugin functionality


Both are then subsequently called via :

Publish('plugin-name', arg1, ...);

Server side API