Get a puppy if you already have cats and want a dog. A dog raised around cats learns to love and protect them very quickly. Or, alternatively, an adult dog who is known to have been raised around cats. They will have more patience with the attacks the cats pour upon them until the cat learns this intruder is not a threat.
CATS see DOGS as threats.
It's harder to introduce an adult dog who has never known cats to be a part of his/her famliy for that dog to learn to accept them. That dogs sees cats as PREY, or something to be tolerated in your presence and then to be chased or eaten when you're not looking.
A puppy, on the other hand, is more interested in PLAYING. And even this can pose a problem. Dog language and Cat language pose a BIG communication problem between the two species.
Dogs who want to play pounce with their bottom up in the air with their tails wagging. When dogs wag their tail, they are happy and excited.
Cats who are attacking pounce. A Cat who is wagging its tail does not want to play, is NOT happy, and is angry, and, is about to strike out in attack. A Cat who is wagging its tail is often also growling at the same time. They are definately NOT interested in playing with the "monster" you bought into their territory.
BIG communication problem between the two species, but with patience on the part of the owner, they can and do develop strong friendship ties.
I was raised in a home with cats, dogs, birds, retiles, all at the same time. I currently have a puppy and 4 cats and one of the cats is a kitten the same age as my puppy Flower (who already stands at 4 feet). Flower (6 month puppy) and Gracie (6 month kitten) are play buddies. Kobi and Shylo (both 1 year) have learned to tolerate Flower. Jazmyne (3 years) still hisses at Flower.
It's important to keep ALL claws trimmed, to include the cat and the dog. You don't want them to tear eachother and you into shreds as they 'get used' to each other.