¿Cómo se manejan las tareas de compilation en un repository de código abierto de GitHub?

Estoy trabajando en un proyecto de código abierto escrito en Javascript ES6. Yo uso Babel para transstackrlo a ES5. De esta manera tengo una estructura de carpetas como esa:

/project /src *raw ES6 files* handler.es6.js app.es6.js /lib *transpiled files by babel* handler.js app.js /dist *combined an minified files, ready to use* project.min.js 

Uso ronco para transstackr y minificar los files js. Los únicos files que se pueden cambiar manualmente están en / src . Los otros files se generan automáticamente. Por lo tanto, si un usuario realiza un cambio en app.es6.js y envía una request de extracción sin ejecutar la tarea de grunt, los files en / src y / lib estarán desincronizados.
Mi pregunta es, ¿cuál es la mejor manera de manejar estas tareas de compilation en un proyecto de GitHub? Ya examiné Travis, que ya está haciendo la testing por mí, pero no estoy seguro de si travis debería o puede pasar el código al repository. . Después de todo, ¿podría ser mejor no comprometer los files de compilation, ya que pueden computarse de la fuente de todos modos?

Antes que nada, almacenar el código transferido bajo control de versión no es una buena idea.

Mira cómo se resuelve en el proyecto de history : https://github.com/rackt/history/blob/master/npm-scripts/postinstall.js

Tienen un script postinstall para NPM, que verifica que el module aún no se haya construido y lo construye.

Si agrega esto a su repository, sus consumidores buildán el module sobre la marcha durante la installation. Además, si va a publicar esto en el logging de NPM, no olvide include files creados para networkingucir el time de installation.