github.com/dahs81/otto@v0.2.1-0.20160126165905-6400716cf085/website/source/docs/plugins/install.html.md (about) 1 --- 2 layout: "docs" 3 page_title: "Install - Plugins" 4 sidebar_current: "docs-plugins-install" 5 description: |- 6 How to install Otto plugins. 7 --- 8 9 # Plugin Installation 10 11 This page documents how to install a plugin. 12 13 Otto plugins are distributed as standalone applications. Otto uses 14 a multi-process plugin model. Otto plugins should be named in the 15 format of `otto-plugin-*` where `*` is anything. If the plugin doesn't 16 follow this naming convention, Otto will not be able to discover it. The 17 name itself doesn't actually matter, so if a plugin isn't following the 18 naming convention, just rename it to the proper format. 19 20 You can verify the plugin is an Otto plugin by executing it directly. 21 It should give you an error message similar to that below: 22 23 ``` 24 $ otto-app-ruby 25 This binary is an Otto plugin. These are not meant to be 26 executed directly. Please execute `otto`, which will load 27 any plugins automatically. 28 ``` 29 30 Once named properly, the easiest way to install a plugin is to place 31 it in a proper directory. Otto automatically discovers plugins 32 in the following directories in the given order. 33 34 1. The directory where Otto is, or the executable directory. 35 36 1. `~/.otto.d/plugins` on Unix systems or `%APPDATA%/otto.d/plugins` on Windows. 37 38 1. The current working directory. 39 40 That's it! As long as the plugin is named properly and is in one of those 41 directories, Otto will automatically load it. 42 43 ## Conflicting Plugins 44 45 It is possible in a few scenarios for plugins to conflict. The behavior 46 in this case is well defined and documented here. 47 48 The names of plugins don't matter. If two plugins are named the same but 49 exist in two different directories that are auto-discovered, this doesn't 50 cause any issues. 51 52 If two plugins claim to support the same application type, the plugin 53 loaded later takes precedence. "Later" is defined by being found last in 54 the auto-discovery process. The auto-discovery process follows the directories 55 above in that order, and in alphabetical order within the directory itself. 56 57 If two plugins claim to auto-detect the same way (e.g. plugin A and B both 58 detect based on "foo.txt"), then the plugin loaded later takes precedence. 59 "Later" is defined in the paragraph above.