Ahh… Companions. I will say 3 designs that are ok if you ask me.
1. If your main character is “face of the team” that only he interacts to NPC and dialog choices then you are like need to create Charisma based class. So rest of companions you should need are: One good and one evil tank role (example: Evil barbarian and good fighter), one good and one evil healer role (example: Evil druid and good cleric) and neutral scout role (example: rogue or ranger)
2. If your main character is not main but instead he is just another party member then you should need to have enough companions that can fit all 4 roles and that you can create full evil or good party.
3. Or like they did in Divinity Original Sin 2. Any companion can be any class and you can set his stats as you fit. Companions don’t have alignment, they follow you and you can play as you want (good, evil, neutral, chaotic, lawful etc.). They only care about theirs personal quest.
I don’t like there stats, number of them so have struggle how to set up my party and I would like to see companion alignment so if he is for example evil if I do good deeds that he don’t leave a party.