There are two different modes of Type Training: Basic and Advanced. I use the Advanced method, which acts as a Nuzlocke challenge, but I will explain both.
Basic:
1.) You pick a starter of that generation and you can only catch and train Pokemon of that type (Fire, Grass, Water)
2.) You catch the first Pokemon of that type that shows up on that route.
3.) Dupes Clause.
4.) One HM Slave Allowed.
5.) No Legendaries.
Advanced:
1.) Pick a Type of Pokemon. You can only catch Pokemon of that type. Must be caugh on Route 1 or 19 at Lv. 1. Here's a list of acceptable Starters:
Bug: Caterpie, Weedle, Venonat, Ledyba, Spinarak, Wurmple, Kricketot, Sewaddle, Venipede
Dark: Umbreon, Poochyena, Purrloin
Dragon: Dratini, Bagon, Gible, Axew
Electric: Pichu, Jolteon, Mareep, Elekid, Shinx
Fighting: Machop, Tyrouge, Torchic, Chimchar, Riolu, Timburr
Fire: Fire Starters, Flareon, Magby
Flying: Pidgey, Zubat, Hoothoot, Tailow, Starly, Pidove
Ghost: Ghastly, Duskull, Rotom, Litwick
Grass: Grass Starters, Leafeon
Ground: Sandshrew, Geodude, Trapinch, Drilbur
Ice: Swinub, Smoochum, Spheal, Glaceon, Vanillite
Normal: Eevee, Cleffa, Igglybuff, Togepi, Slakoth, Starly, Bidoof, Lillipup, Minccino
Poison: Bulbasaur, Weedle, Nidoran, Zubat, Venonat, Budew, Venipede
Psychic: Abra, Espeon, Smoochum, Ralts, Wynaut, Beldum, Mime Jr., Munna, Gothita, Solosis
Rock: Geodude, Omanyte, Kabuto, Larvitar, Aron, Lileep, Anorith, Cranidos, Shieldon, Bonsly, Roggenola, Tirtouga, Archen
Steel: Aron, Beldum, Piplup, Klink
Water: Water Starters, Vaporeon
2.) You can only catch Pokemon that shares it's type. Evolving a Pokemon that doesn't have that type is forbidden (Onix to Steelix for Rock type Training), or evolve a lesser evolution into max that does share type (Piplup to Empoleon).
3.) You can only catch one new Pokemon on each Route or Location. If you knock out the first one you see, you cannot catch a new Pokemon there.
4.) Hacks acceptable. If Hacking for certain Pokemon, they must be done at random. Example, assign numbers to Pokemon wanted and pick one at random. Only first Pokemon can be caught on that route.
5.) Trading for Evolution is allowed only (Haunter to Gengar).
6.) No Legendaries or Eggs.
7.) No Dupes.
8.) Only Pokeballs are used.
9.) Must nickname.
10.) If knocked out, must release. (optional).
11.) Pokemon from any Generation acceptable.
12.) No HM Slaves.