There's not really any hard requirements. At the very least, a team of 6 is heavily recommended, ideally with a good type diversity (though plenty of people have completed type monoruns). a single team is just fine, but it's pretty common to make some substitutions to improve your matchup against specific types. don't be afraid to attempt a gym fight, lose, and then change up your team a bit with some counter-strategy based on how they fight you. reading the field readouts is a great way to plan counters for gyms.
as for the first couple gyms, Fury Cutter Kricketune is very helpful, especially with technician. (it's possible that this has been made less effective recently though, as it was quite well known). Moxie Mightyena is also really strong