# Git Submodule Workflow **ATTENTION: Adding submodules at the wrong place of the project will actually f&%k up your git if you want to remove them again. So please take all those steps with care!!!** 1. Create a new repository on bitbucket 2. Clone it and create the main file: `my_component.js` ```javascript import React from 'react'; let MyComponent = React.createClass({ render() { return (
); } }); export default MyComponent; ``` 3. Open a shell and go to `cd onion/node_modules` 4. Commit and push to your newly created repository 5. Open `.gitignore` and add your future package folder to *NOT* to be ignored by git `!node_modules/` 6. Copy the repository's SSH link from bitbucket 7. Do `git submodule add ` 8. Git will clone the repository and add it to `node_modules` 9. open `package.json` inside of onion and adjust the `browser` field ``` "browser": { "MyComponent": "./node_modules/my_component/my_component.js" } ``` 10. (Optional) If you have browserify-shims in your newly created module, then add them in the `browserify-shim` as well. Check `package.json` for example. 11. Open `gulpfile.js` and find the `filesToWatch` property of `var config`. Add your newly added `my_component` folder to it: `'node_modules//*.js'` 12. THAT'S IT! YOU'RE AWESOME!