<p>I don't think it's currently possible.  There are several places where we're explicitly checking for the plugin's handle as a <a href="https://github.com/pixelandtonic/Craft-Release/blob/master/app/services/PluginsService.php#L684" rel="nofollow">folder directly underneath</a> whatever <a href="https://github.com/pixelandtonic/Craft-Release/blob/master/app/services/PathService.php#L54" rel="nofollow">craft()->path->getPluginsPath()</a> is returning.</p>

CC BY-SA 3.0
2015-02-11T21:15:14.483Z
Thanks for the info, Brad. This means all the repos structured like so on github are actually not part of a working Craft install? And cannot be tested?
carlcs
CC BY-SA 3.0
2015-02-11T21:39:05.633Z
I'm not sure I'm following... it means for those you could't have the repo directly in the plugins folder. But you could have it outside the Craft install and symlink it?
Brad Bell
CC BY-SA 3.0
2015-02-11T21:58:57.777Z
Oh yes, that's a good idea! Didn't know I can use symlinks with apache, Brad. Trying to get this working now (following [this Stack Overflow](http://stackoverflow.com/questions/3775102/creating-a-symbolic-link-in-sites-directory) question for the setup). Thanks again!
carlcs
CC BY-SA 3.0
2016-07-26T18:08:01.227Z
This is exactly what I was looking for. I think symlinking is the correct approach. Maybe clone down all repos outside of `craft` into a `storage` directory or something. I think that should be part of the main answer.
Rob Erskine
CC BY-SA 3.0
2015-02-11T20:54:31.600Z
2015-02-11T20:54:31.600Z
Brad Bell
<p>Is it possible to have Craft plugins in subfolders of craft/plugin/ instead of having them right in that folder?</p>

<p>So that I can have a parent directory that is my git repository craft/plugin/mypluginrepo/ containing a README.md and other files and folders besides the actual plugin craft/plugin/mypluginrepo/myplugin/.</p>

<p>I know you can change the plugins path via the <a href="http://buildwithcraft.com/docs/php-constants#craft-plugins-path" rel="nofollow">PHP Constant</a>:<br>
<code>define('CRAFT_PLUGINS_PATH', '../craft/plugins/subfolder/');</code></p>

<p>unfortunately this only allows me to set one folder.</p>

CC BY-SA 3.0
2015-02-11T19:01:52.957Z
I notice that some people create the repo so that it is just the plugin folder and nothing else. Which I prefer so that I can install them as a submodule in git (and gain the benefit of version tracking, autoupdates, etc). You might try just putting the readme.md file in the plugin folder itself and using that as your repo.
Douglas McDonald
<plugin-development><git>
Plugin in subfolder for github?
# Plugin in subfolder for github?

(Asked by: username_0 on 2015-02-11)

Is it possible to have Craft plugins in subfolders of craft/plugin/ instead of having them right in that folder?

So that I can have a parent directory that is my git repository craft/plugin/mypluginrepo/ containing a README.md and other files and folders besides the actual plugin craft/plugin/mypluginrepo/myplugin/.

I know you can change the plugins path via the [PHP Constant](http://buildwithcraft.com/docs/php-constants#craft-plugins-path):  
`define('CRAFT_PLUGINS_PATH', '../craft/plugins/subfolder/');`

unfortunately this only allows me to set one folder.

**Tags:** plugin-development, git

> **Comments:**
> **username_1**: I notice that some people create the repo so that it is just the plugin folder and nothing else. Which I prefer so that I can install them as a submodule in git (and gain the benefit of version tracking, autoupdates, etc). You might try just putting the readme.md file in the plugin folder itself and using that as your repo.  

---

## 1 answers

### Answer by username_2 on 2015-02-11. Score: 1 | Accepted answer

I don't think it's currently possible. There are several places where we're explicitly checking for the plugin's handle as a [folder directly underneath](https://github.com/pixelandtonic/Craft-Release/blob/master/app/services/PluginsService.php#L684) whatever [craft()->path->getPluginsPath()](https://github.com/pixelandtonic/Craft-Release/blob/master/app/services/PathService.php#L54) is returning.

> **Comments:**
> **username_0**: Thanks for the info, Brad. This means all the repos structured like so on github are actually not part of a working Craft install? And cannot be tested?  
> **username_2**: I'm not sure I'm following... it means for those you could't have the repo directly in the plugins folder. But you could have it outside the Craft install and symlink it?  
> **username_0**: Oh yes, that's a good idea! Didn't know I can use symlinks with apache, Brad. Trying to get this working now (following [this Stack Overflow](http://stackoverflow.com/questions/3775102/creating-a-symbolic-link-in-sites-directory) question for the setup). Thanks again!  
> **username_3**: This is exactly what I was looking for. I think symlinking is the correct approach. Maybe clone down all repos outside of `craft` into a `storage` directory or something. I think that should be part of the main answer.  

---

