5 Simple options for improving your open-source package

  1. Include a README. Everyone who knows me knows that I am passionate about writing good documentation, and really, there’s no excuse for the unforgivable self-own of omitting a README file. In a few words tell us what language(s) the package is written in, what it does and who it’s for. Remember from history class learning how Western civilization was set back a thousand years when the Library at Alexandria burned? Our software civilization is being needlessly decimated by all the missing README’s.
  2. Include a good description for the package manager. This could be in the package.json for NPM packages, the composer.json for PHP packages, or the mix.exs for Elixir packages. You can even copy and paste lines from your README, just please, include a description! This is how users will find your package, so make sure it includes relevant search terms.
  3. Add documentation. This can simply be examples demonstrating how users can use the functions in the package. In Elixir, where documentation is built into the language, omitting this is a jaw-dropping mistake that says “I don’t know what I’m doing.” Your package should be a nice resumé piece that speaks to your attention to detail, so don’t scrimp on it!
  4. Shields Up! These little icons can tell users everything from the percentage of code covered by tests to the number of downloads to the date of the last update. Browse through https://shields.io/ and you will find several shields that catch your eye. You can look over the source code of one of your favorite packages and see how they generated the shield icons for their software. It doesn’t take much time to add this little bit of professionalism.
  5. Got Logo? Not every package manager supports having a logo, but some do, and you can make your package recognizable. I am fond of The Noun Project: with proper image attribution, you may freely use small logo-sized images for your open-source projects.




Code person.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Non-developers guide to the programming continues after inventing differentiable neural computers…


Life is a journey of twists and turns, peaks and valleys, mountains to climb and oceans to explore.

From the Sublime to the Ridiculous

CyberSecLabs - Potato Write up

Chapter 10 Optimize! Find the Best

Rate Limiting Your Serverless Applications

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Everett Griffiths

Everett Griffiths

Code person.

More from Medium

Five useful tools to improve your R&D efficiency

Mono-repos: Part 1. Introduction

Trace — For GraphQL query tracing at the resolver level

Trace — a lightweight graphql query tracing tool

KubeOrbit was released, solving problems in integration testing