A configuration management policy specifies the procedures through which a user evolves artifacts stored in a configuration management system. Different configuration management systems typically use different policies, and new policies continue to be developed. A problem in the development of these new policies is that existing policies (and their implementations) typically cannot be reused. As a basis for a future solution, this paper presents a new configuration management system architecture that focuses on modularly specified policies. In particular, policies consist of a set of constraint modules, which enforce the desired repository structure, and a set of action modules, which govern the desired user interaction. New policies can be developed by combining relevant existing modules from existing policies with new modules that specify the unique aspects of the new policy. We demonstrate how several quite different configuration management policies can be effectively constructed t...