"Do you have a cat?"
Translation:У тебя есть кошка?
In this case, there being a cat or not is the question. "Do you have a cat?" We question the existence of a cat belonging to the person we address with this question. The verb есть cannot be omitted in that case.
If the existence of the cat is not the question, but simply the location ("Is the cat at your place/with you?") , then "у тебя кошка?" is acceptable and correct use of the language.
Ты is "you" (single informal). Plural and/or formal "you" is вы.
To say that "X has Z" we usually use the construction: "У X есть Z". This construction literally means "There is Z by X" so Z is the subject of a sentence and it should be in nominative. X will be in genitive. Genitive for ты is тебя, for вы it's вас.
There are plenty of workarounds that I have seen suggested on the site. Many of them are on the Google Play store, which I cannot access because of my location. Instead, I have to type in Latin letters. Sometimes it takes a little experimenting to figure out how Duo maps Cyrillic letters to Latin ones. For this question, I think "u tebya esty koshka" should work. Duo does not register punctuation.
There is a typo in your answer. There should be the soft sign - Ь, not the hard sign - Ъ. In modern Russian you won't find the hard sign at the end of a word. It's always after a consonant and before a vowel and it's there to "separate" sounds. The soft sign just palatalizes (softens) the previous consonant.
"У тебя есть кот?" is accepted and has been accepted ever since the sentence was created. However I can see a typo in your comment: you have a Latin "y", not a Cyrillic "у". They might look identical to you but to the system they are different letters. So if that was your answer then that's why it wasn't accepted.
As far as I know (and according to Wiktionary), the rule says: у+genitive form+есть.