Best practice for terraform code repositories

Hi All,

I want to know if there are any best practice on how to organize your terraform code with respect to environment(DEV, QA, PROD) and for deployment target to AWS, AZURE and GCP.

Looking for any reference patterns if there are any recommendations on how to organize the code repositories.