Davy Greenwind
Just some guy
Adventures in Rokugan 5e has a Shinobi class. Focuses on stealth and gadgets. It's pretty neat
My initial thought too was make it a subclass, but honestly having it as a background is probably the better way to go. Then depending on the ninja's specialty you can use various classes - Rogue (infiltration and assassination), Fighter (highwaymen, ambushers), Ranger (sniper assassin), Sorcerer (mystical ninja abilities), Monk (unarmed assassin) and so on. Could do an entire Ninja campaign that way and still have class variety.I'm going to be boring and say Ninja should be a background, with proficiency in Acrobatics, Stealth, the clan secret language/hand signals, and either Poisoners kit or Disguise kit. Maybe each clan could offer a different feat? Alert, Lucky and Skilled all fit, and Magic initiate goes a long way with minor illusion.
Between various monk and rogue subclasses I think the mechanical fantasy is actually pretty well covered. The assassin covered the murder ninja and the thief's fast hands covers the smokebomb tossing ninja that climbs around.
The background also allows for wizard ninjas, fighter ninjas, etc without making a subclass for each class.

(Dungeons & Dragons)
Rulebook featuring "high magic" options, including a host of new spells.