I'm trying to figure out what the proper workflow is for development of Composer packages. Whenever I search for this topic on Google, all the results are how to make a composer.json and/or how to submit to Packagist, etc... I can't find anything that actually talks about the proper workflow of development and changes to your package.
Lets say I have a simple PHP Class I have developed. I give it a composer.json, make it a package, and now I have it on Packagist. Now, lets say I'm ready to start making changes to my package. I have bugs to fix or features to add or something. What do I do?
Do I create an empty test/development project, composer install my package from Packagist, and then start editing my class in the /vendors folder? Now I would have all my changes in the vendors folder, but that isn't a git repository, so how do I commit my changes and push back up to my GitHub repo?
I have read some people suggesting that after doing a composer install of your package, you delete your package directory from vendors and then git clone your GitHub repo into the /vendors folder. So that way your package autoloads into your test/development project but you can still commit and push your changes.
Also, how do you deal with tests? If I'm using phpunit for example, I have a /tests folder for my project. After doing a composer install to bring in my package, do I navigate into vendors/some/path/myclass/tests and run the phpunit command line there? If so, I'm pretty sure my class is not going to be autoloaded into my test suite.
Can anyone point me to some resources of examples or tutorials for what a proper, sound workflow is for Package development?