DEV Community

Cover image for 🚀 5 PRO Tips for an Unbeatable GitHub README! 🥊

🚀 5 PRO Tips for an Unbeatable GitHub README! 🥊

Bap on November 30, 2023

Hi friends 👋 Today, let's look at how to write a KILLER GitHub README file. The README is the first touch point with anyone new to your repo. ...
Collapse
 
daveparr profile image
Dave Parr

Very much agree.

My partcular current favourite is:

Write an introduction
A summary explaining the purpose and target audience of your project.

I've been handling readmes en masse for my current pet project

GitHub logo DaveParr / starpilot

Use your GitHub stars for great good!

Starpilot is like copilot, but for GitHub stars.

I've been starring repos for years thinking "This will definitely be useful later".

However I never really went back to them.

Starpilot is a retrival augmented generation CLI tool for rediscovering your GitHub stars.

Starpilot helps this problem by allowing you to rediscover GitHub repos you had previously starred that are relevant to your current project.

Here's some more details about the motivation for and state of the project.

Installation

experimental

This project is in early development and is not yet available on PyPi

  1. Fork repo
  2. Clone repo
  3. cd starpilot
  4. poetry install

You will also need to have downloaded models/mistral-7b-openorca.Q4_0.gguf from GPT4All, or an alternative supported by the Model class and included it in the models directory.

You will also potentially need Pandoc installed on your computer if your starred repos contain a rst formatted Readme that you want to load…

I've noticed 2 things about README.* which has been particuarly irritating for the project:

  1. Many repos approach the read me as 'the document that tells a developer how to set up a development environment', and I agree that is a big part of the document, but definately not it's only part.
  2. GitHub supports a few 'exotic' standards for readmes, including Python RST. FWIW it's worth I'm relatively pro that generally, but support for these less standard standards does mean for projects like StarPilot that handle README documents as part of the core software, it does add some interesting complexity, and I'm sure for a few people will be the edge cases that throw errors in using star pilot currently.
Collapse
 
fernandezbaptiste profile image
Bap

Mhmm super interesting insight. True, many developers look at it too much as "how to set things up". The point number 2 is one I was not aware of these "exotic" standards lol - thanks so much for sharing it here 🙏

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Good stuff!
I'd also add that you can add responsive images based on user preference in MD as well.

Collapse
 
fernandezbaptiste profile image
Bap

Pretty cool 👀
Thanks for sharing!

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

You're welcome!

Collapse
 
fmerian profile image
flo merian

great read, @fernandezbaptiste!

FWIW I recently stumbled upon Repobeat by Axiom, an elegant dashboard that shows your open-source project’s health.

if you value open metrics and transparency, you HAVE to add it to your README file.

Repobeat by Axiom

Collapse
 
fernandezbaptiste profile image
Bap

That looks really cool flo! Thanks for sharing that with me :)

Collapse
 
hosseinyazdi profile image
Hossein Yazdi • Edited

Thanks for sharing. Great tips. Now, as an add-on, this tool here makes creating README files super simple. Hope devs here find it useful!

Collapse
 
fernandezbaptiste profile image
Bap

Ouhhh always love checking these out, thanks a lot Hossein! 🦾

Collapse
 
hosseinyazdi profile image
Hossein Yazdi

You're welcome Bap! Happy to have shared it! 😊

Collapse
 
matijasos profile image
Matija Sosic

Nice and comprehensive guide! Do you have some favorite Readmes you can share?

Collapse
 
fernandezbaptiste profile image
Bap

Thanks for this! I don't think I have a favourite per se but I do think the ones from Novu (github.com/novuhq/novu) or Hoppscotch (github.com/hoppscotch/hoppscotch) are really nice.

Collapse
 
mlkrsrc profile image
Mustafa ilker Sarac

Great article! If anyone is into creating more custom badges can check out my article about that; dev.to/mlkrsrc/how-to-make-custom-...

Collapse
 
fernandezbaptiste profile image
Bap

Thanks Mustafa, I just liked your article 🙂

Collapse
 
kubernaut profile image
Louis Weston

Cool summary thanks, great ideas for us to improve our README!

Collapse
 
fernandezbaptiste profile image
Bap

Thanks for the kind comment! Glad it helped 🤓

Collapse
 
srbhr profile image
Saurabh Rai

Nice tips!! Thanks for this

Collapse
 
fernandezbaptiste profile image
Bap

You are very welcome! Glad you enjoyed it :)

Collapse
 
srbhr profile image
Saurabh Rai

Yes, my readme after this post:

Image description

Thread Thread
 
fernandezbaptiste profile image
Bap

LOL

Collapse
 
nevodavid profile image
Nevo David

Great tips for improving READMEs :)

Collapse
 
fernandezbaptiste profile image
Bap

Thanks a lot Nevo - always means a lot coming from you 💛

Collapse
 
lucas2vries profile image
Lucas de Vries

Great tips ! Tried to apply them on my open-source project metric observability project 🤗

Collapse
 
fernandezbaptiste profile image
Bap

I really like it, looks super neat 👌

Collapse
 
fernandezbaptiste profile image
Bap

Happy it helped!

Collapse
 
kiselitza profile image
aldin

Ah yes, shields.io for the badges! :D