1. A system comprising: a processor and a memory including a library generating module configured to cause the processor to: receive metadata extracted from server source code in a server project of an application comprising at least the server project and at least one client project, wherein the extracted metadata comprises a set of program entities comprising a computed transitive closure of an extracted program entity and program entities referenced by the extracted program entity; determine program entities within the set of program entities for which a definition is missing in the server source code; replace each of the program entities within the set of program entities for which the definition is missing with a placeholder entity; mark each placeholder entity; generate a library from the extracted metadata without compilation of the server project, wherein the library comprises metadata associated with the set of program entities, wherein each program entity in the set of program entities is an entity that is exposed to the at least one client project and wherein the library does not comprise metadata associated with program entities not exposed to the at least one client project; and provide the generated library to a reflection-based component that provides documentation and disambiguation information for an unmarked program entity in the set of program entities to a client source code editor, and not provide documentation and disambiguation information for a marked program entity in the set of program entities to the client source code editor, wherein the documentation and disambiguation information is provided to the client source code editor dynamically during development of client source code of the at least one client project.