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.
What is the difference in this case between well and good? Both are the same in Ukranian - добре
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.
Thank you for your answer. That's the point - Ukrainian is my mother tongue. I obviously was grammatically wrong in English because I thought I can translate добре as good - that was actually the first word that popped up in my mind - so my bad.
Does the neuter form never change if there isn't a noun? I've seen about this, but I couldn't understand. Добре, нове, etc.
In this case, добре is an adverb, not the neuter form of the adjective (although, it does happen to be that as well). You sing well, not you sing good. Adjectives can easily become adverbs by adopting either an -o ending or, in some cases, an -e.
I really appreciate your explanation! The example of well and good was greatly understandable. :)