Starting a new project or package often involves a lot of boilerplate and repeated actions. I typically start with a simple
npm init -y regardless of if I intend to publish my project to npm. The
npm CLI tool has great conventions around semantic versioning. There are a lot of options out there for generators, and I am pretty fond of
module-init in most cases, though I do end up modifying its output a lot.
You might like to start minimally and give yourself a chance to rethink every choice. Even if you want to stay lean, and not use a project generator, there are some standard files you likely want in every new repository.
Perhaps the most important file in your project, a good README goes a long way to improving adoption. I like to develop the
Usage section early. This helps me define what it is I want to build. Once you have docs on how to use the package, you are ready to dive in on that
Scaffold out a Standard Readme
The Standard Readme project provides a great skeleton to make sure you logically include useful details. The prompts are a bit verbose, and I wish it took advantage of reading an existing
~/.npmrc to skip defaults, but still a great utility as-is.
alias standard-readme='npx -p generator-standard-readme -p yo yo standard-readme'
You already ran
git init, right? Seriously, use version control everywhere!
A CLI tool that automagically adds or recommends the best .gitignore for your project
🏃 A .gitignore magician in your command line
Helping users of your project convert into contributors should be a goal, and these files set the stage for how you like your project to be run.
Generate boilerplate open source contributing guidelines.
🖖 Generate a Code of Conduct for your project
If you start at GitHub, you are probably used to this file just being there. But I’m often several commits in and ready to push before I realize I need to grab a license file from another local project.
An open source license generator and license viewer.
more p2p please
Here is a follow-up tutorial from the last link roundup that walks you thru building a decentralized, peer-to-peer Photos app with Beaker and Dat. Additionally, Beaker has a few tutorials in their docs worth checking out.
🎗 Generate Nginx configuration files based on the user input
If you aren’t dockerizing all the things, this seems like an excellent way to deal with a rather tedious routine.
Collection of async functions
I use several of these packages on nearly every module I create. This is a great solution for a slimmer
Replacement for ‘ls’ written in Rust.
I’m not ready to completely replace
ls, but I have updated my standard aliases to take advantage of the improved colors and formatting from this binary.
alias l='exa -la' alias ll='exa -l'
A microservices API Gateway built on top of ExpressJS
Another project that turns a simple manifest file into a robust service, looking forward to playing with this in more depth soon.