How long does it normally take projects to get stars though? You're not going to have a project with 100+ stars overnight or even within a month, you have to promote the project?

Depends widely on the target audience. In my case, targeting Julia developers who want to package their applications into installers to reach 100 stars took 2 years - https://peacefounder.org/AppBundler.jl. If I were to target Python developers, I would have many more stars.

It depends on how much you promote your repo and how big it is. I know when my repo gets posted somewhere because I'll get a little burst of stars for a few days and then it'll calm down until it's posted somewhere again. Much larger repos will get stars at a more constant rate as they reach a critical liftoff velocity.

My most popular repo is reasonably niche, is 10 years old and has a bit over 40 stars and that's from pretty much no advertising.