Two or more adjectives before a noun that act as one idea (one-thought adjectives) are connected with a hyphen.

When the adjectives before the noun act separately, we are usually implying the word and (which we replace with a comma), as in "a ripe, red tomato." The meaning is a ripe tomato and a red tomato or a ripe and red tomato. But a low-budget job, in contrast, is not a low job and a budget job or a low and budget job.

Seems like a reasonable rule of thumb.