Hi Keval,
As part of the provisioning you'd provision first out fo the box document library and then you'd apply the needed customizations on top of that using CSOM... this could be views, content types, columns and whatever is the objective. For view creation, there is actually nice extension method as a reference in the core component called CreateListVewsFromXMLFile which is part of the ListExtensions.cs (https://github.com/OfficeDev/PnP/blob/master/OfficeDevPnP.Core/OfficeDevPnP.Core/AppModelExtensions/ListExtensions.cs).
Notice also that we have moved the code to Github to address https://github.com/OfficeDev/PnP and the best support you will get is from the Yammer group dedicated for this project at https://www.yammer.com/itpronetwork/#/threads/inGroup?type=in_group&feedId=4597220.
As part of the provisioning you'd provision first out fo the box document library and then you'd apply the needed customizations on top of that using CSOM... this could be views, content types, columns and whatever is the objective. For view creation, there is actually nice extension method as a reference in the core component called CreateListVewsFromXMLFile which is part of the ListExtensions.cs (https://github.com/OfficeDev/PnP/blob/master/OfficeDevPnP.Core/OfficeDevPnP.Core/AppModelExtensions/ListExtensions.cs).
Notice also that we have moved the code to Github to address https://github.com/OfficeDev/PnP and the best support you will get is from the Yammer group dedicated for this project at https://www.yammer.com/itpronetwork/#/threads/inGroup?type=in_group&feedId=4597220.