The best B-tree resource is SQLite3's documentation of its B-tree on-disk format.
“The Untold Story of SQLite” https://corecursive.com/066-sqlite-with-richard-hipp/
But if you're not going to COW, then right-sibling pointers are probably a good idea.