The best resource I've found is
Rainwater Harvesting for Drylands Volume 2 by
Brad Lancaster. There's also a lot of information on his website:
https://www.harvestingrainwater.com/
Basins and swales can be dug around existing trees and shrubs - just be careful to dig outside of the
root zone, which may extend beyond the dripline of the tree or shrub. You can also make swales or basins by piling up dirt excavated from other areas.