A repository is a necessary prerequisite to support software engineers and other users in the process of developing software
with and for reuse. In the literature, there are several works that explore reuse repositories, however their focus is mostly
on reusable component search and retrieval issues, while important aspects of reuse repositories have not been properly explored.
On the other hand, some questions raised by companies that desire to adopt or build a reuse repository remain unanswered.
Such questions often include: What are the main roles and requirements of a reuse repository? What are the practical alternatives?
How a reuse repository must be designed? Motivated by these questions, this paper presents a systematic approach with comparisons
to existing tools and techniques for specifying, designing and implementing a reuse repository that was successfully constructed
and deployed in real Brazilian software factories. Additionally, we describe the main design decisions, problems found, and
future directions for research and development.