blog post: composer vendor directory