In medium-sized pot, fry the onions with the oil and salt until golden. Remove the onions and set aside. Return pot to the heat.
Cut the ribs between the bones (but do not remove the bones) and brown on each side, in the same pot. Brown the meat in small batches. If the pot is overcrowded, the meat will steam instead of browning.
When all the meat has browned, add the onions back into the pot.
Pour in all the sauce ingredients over the meat, and mix to combine. Cover the pot and bring to a boil. Reduce to a simmer and cook over a very low flame for 3 hours.
Remove the meat from the sauce and shred. (If the meat does not fall apart easily, you need to cook it for longer.) Discard the bones and any lumps of fat.
Return the meat to the sauce and keep warm until ready to assemble the tacos.
Meat keeps well in either the refrigerator or freezer.
To prepare the Pico de Gallo: Mix all the ingredients together.
Best served immediately, but you can make and refrigerate a few hours ahead.
Spoon the pulled beef into the taco shells.
Top with pico de gallo, avocado and non-dairy sour cream.
Eat and enjoy.