The aim of this paper is to present the SPOOL design repository, which is the foundation of the SPOOL software engineering environment. The SPOOL design repository is a practical implementation of the UML metamodel, and is used to store detailed design-level information that is extracted from the source code of industrial systems. Its internal mechanisms and related tools provide functionalities for querying data and observing dependencies between the components of the studied systems, facilitating core tasks conducted in reverse engineering, system comprehension, system analysis, and reengineering. This paper discusses the architecture, the schema, the mechanisms, and the implementation details of the repository, and examines the choice of the UML metamodel. Experiences conducted with large-scale systems are also presented, along with related work and future avenues in design repository research.