No, there's no hard and fast rule here. We could likewise say "Ти співаєш добре," though this might be in answer to the question, "Як я співаю?" Ukrainian word order tends to be very flexible and is actually an opportunity for a speaker to be creative or shift emphasis. This is the benefit of cases! As a general rule, the last element in the sentence gets the most emphasis.
Long story short, good is an adjective and well is an adverb. The big difference is that in colloquial English, adjectives can replace adverbs like good (добрий) replacing well (добре), and most people wouldn't notice. Ukrainians on the other never do that. You can say добрий співак (a good singer) or він співає добре (he sings well). But not він співає добрий, even though you could say he sings good in English, it's not "grammatically correct". I'd recommend looking up the difference between adverbs and adjectives, because you'll need to know the difference when speaking Ukrainian.