a component system that will provide extensibility and re-usability both inside and between applications, while being portable across platforms (and languages) and having the lowest possible overhead (both in machine resources and programming effort).
an easy to use framework which enables you to log and simulate interfaces. An interface can be anything from a simple C function up to a complex C++ package. {pretend} is project independent and can be used immediately without modifications.
a compiler cache. It acts as a caching pre-processor to C/C++ compilers. Caching previous compilations and detecting when the same compilation is being done again. (needs GCC or similar)
a client-side implementation of the rsync algorithm. It allows updating of files from a remote Web server without requiring a full download or a special remote server application.