Судя по вопросам, Вам надо прочитать документацию
getcomposer.org/doc/. Да, она мутновата, особенно в части структуры composer.json, но там все-таки много информации «для начала»:
1. Структура пакета определяется PSR-0 (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md). Нужно это для работы автозагрузки. Других ограничений на структуру мне не известно. Если не нужна атвозагрузка от composer, а нужно только разворачивание пакета, то нет и ограничения на PSR-0, хотя, по моему, этого стандарта стоит придерживаться в любом случае.
2. У composer есть своя автозагрузка, вам просто надо ее подключить в свои скрипты
getcomposer.org/doc/01-basic-usage.md#autoloading. Эта автозагрузка может заменить вашу (если она есть).
3. Я так понял, что есть вопрос о том, как написать composer.json для собственного пакета. Видимо надо прочитать документацию об этом
getcomposer.org/doc/04-schema.md, ну и посмотреть как это сделано в существующих пакетах.
4. Наверно еще надо разобраться где вы планируете хостить свой пакет, от этого зависит как его надо будет подключать в проект. Об этом есть тоже в документации.