1. A computer-implemented method for generating a repository, the method comprising: receiving a language meta-model to provide a received language meta-model; receiving annotations, each annotation including meta-data; annotating the received language meta-model based on the annotations to provide an annotated language meta-model; determining that the received language meta-model is an updated version of the language meta-model; and in response to the determination, generating one or more repository modules based on the annotated language meta-model, the repository being defined based on the one or more repository modules.