9 Steps to Get 100 Stars on GitHub
Tags: opensource, github, webdev, javascript
Published: 2020-06-28 15:17:53

We should start off with proof that this works. Here's a screenshot of the recent viewer analytics for [my GitHub repo](https://github.com/nastyox/Rando.js), which has just started to take off:

![GitHub viewer analytics](https://dev-to-uploads.s3.amazonaws.com/i/p9t3qhrpf68acq5k255p.png)

It's clear from this chart that I spent a little while trying to get stars in ways that flat-out don't work before I found the ways that do. I'm here to help you cut through the crap and focus on the methods that work.

#1. Create a READ-ME with a pretty top section
Your READ-ME file is like your repo’s homepage. A good percentage of people will star your project just because it looks good, and not all users will scroll down past the top of your READ-ME, so make the top part as pretty as possible. Here’s [how to create a READ-ME](https://help.github.com/en/enterprise/2.14/user/articles/initializing-an-empty-repository-with-a-readme), and here’s [a place to practice your markdown](https://jbt.github.io/markdown-editor/) if needed. A recipe for success is a well-designed logo with a tagline underneath followed by [shields](https://shields.io/category/rating) and then a colorful splash image. Here's what I did with my repo; it's animated, so you can [click here if you care to see it live](https://github.com/nastyox/Rando.js):

![Rando.js READ-ME](https://dev-to-uploads.s3.amazonaws.com/i/mk6vni95iwmhf8k8dr3r.png)

#2. Be concise
People have incredibly short attention spans. Cut all the excess wording out of your READ-ME and get down to brass tacks. If possible, show the user how to use your project in a quick gif. Here’s how to record your screen on a [Mac](https://support.apple.com/en-us/HT208721#:~:text=Use%20Shift%2DCommand%2D5,screen%20with%20QuickTime%20Player%20instead.) and [PC](https://www.youtube.com/watch?v=TOxzIeIUKjY). Here’s the best online [video to gif converter](https://ezgif.com/video-to-gif) I’ve found.

#3. Choose an open license
People don’t like when you’re selling them something. If possible, [create a license](https://help.github.com/en/github/building-a-strong-community/adding-a-license-to-a-repository) for your repo that opens it up for free use. I chose the “[Unlicense License](https://github.com/nastyox/Rando.js/blob/master/LICENSE)”. This will be featured next to your READ-ME, and people will see it.

#4. Have stars
It’s weird, but people are more willing to star your project if they see that others have already done so. Ask your friends to star your project to get the ball rolling. Do not create fake GitHub accounts to star your own project. GitHub will catch you after about 4 accounts, guaranteed.

#5. Upload an eye-catching social card
When people share a link to your GitHub repo, it’ll be accompanied by whatever image you choose for your social card. Make it colorful enough to pop off the screen and provocative enough to be worth a click. Here’s [how to upload one](https://help.github.com/en/github/administering-a-repository/customizing-your-repositorys-social-media-preview).

![Rando.js GitHub social card](https://dev-to-uploads.s3.amazonaws.com/i/ral38dyvzvlvp7ke166x.png)

#6. Advertise
There are a lot of platforms to post your project to for free. The ones that have worked best for my JavaScript-based repo (in order) are [r/javascript](https://www.reddit.com/r/javascript/), [r/webdev](https://www.reddit.com/r/webdev/), and [r/npm](https://www.reddit.com/r/npm/) on Reddit; Cooperpress- which runs the [the biggest coding email newsletters](https://cooperpress.com/publications/) ([contact here](https://cooperpress.com/contact/)); Dev.to; [Hada News](https://news.hada.io/); [Echo JS](https://www.echojs.com/); [Hacker News](https://news.ycombinator.com/); [Product Hunt](https://www.producthunt.com/); [Twitter](https://twitter.com/); [Facebook](https://www.facebook.com/); and [LinkedIn](https://www.linkedin.com/feed/). [Lobsters](https://lobste.rs/) is an invitation-only community that I don't have an in with yet, but you can post there as well if you do. If your repo is JavaScript-based like mine, you can also post to [JavaScripting](https://www.javascripting.com/) once you reach 80 stars. Even interacting with other users' repos on [GitHub](https://github.com/) through contributions/stars/follows can lead to visits to your own repo. Don't overdo it with GitHub interactions though; you'll get flagged or banned or spam.

#7. Engage in developer communities
Once you advertise on these communities, connect with people on them. They won’t find you unless you give them a reason to care that you exist. Find articles on Dev.to you like and actually like them/leave comments. Star projects on GitHub and contribute to other projects. Like and retweet people on Twitter.

#8. Respond to feedback
People will respond to your posts on these communities with advice. Tell them that you’ve heard them and actually change your project to fit what the public wants. They’re explicitly telling you how to make the project worth starring, so listen.

#9. Shout-out your supporters
Users are more likely to star/fork your repo if there's something in it for them. You can reward them by automatically displaying their username and avatar in your README with [Repo Roster](https://github.com/nastyox/Repo-Roster). Just paste a link to your repo into the website, and copy the resulting markdown into your README.
![Repo Roster stargazers and forkers](https://reporoster.com/images/repo-rosters-stargazers-and-forkers.png)

#And a bonus...
You’re also welcome to leave your project in the comments here for others to check out, but please don’t just drop a spammy-looking link. Include your repo’s title and description with the link so people can get a sense of it at a glance. Something like "[Rando.js](https://github.com/nastyox/Rando.js) is a micro-library that simplifies and secures randomness in JavaScript" is perfect. I’ll check them out too!