A software package development process is a system for developing software packages. Such packages are used to reuse and share code, e.g., via a software repository. A package development process includes a formal system for package checking that usually exposes bugs, thereby potentially making it easier to produce trustworthy software (Chambers' prime directive). It may also include a standard for documentation, thereby making it easier for new users to learn how to use it.