Workshop: Crafting Human Friendly CLIs with Node.js Core

Overview

$ Crafting Human Friendly CLIs with Node.js Core █

A workshop by Simon Plenderleith & Kevin Cunningham.

Getting ready for the workshop

1. Required software

You'll need to have this software installed:

Check that you have the software versions installed that you need for this workshop by running these commands in your terminal:

# Check Node.js version.
node --version

# Check npm version.
npm --version

2. Clone this repository with Git

You'll need to have this repository cloned so you can work on the coding exercises during the workshop:

git clone https://github.com/simonplend/workshop-crafting-human-friendly-clis.git

If you want to commit and push your work to your own repository on GitHub, you can fork this repository, then clone your fork rather than this repository directly. If you do create a fork, you'll want to sync it with this repository at the start of the workshop.

3. Open your editor and terminal

There are coding exercises throughout this workshop. To make sure you're ready:

  • Open this project in your code editor.
  • Open a terminal window for running commands, and cd to the directory for this project.

You're now ready to get started! 🚀

Workshop exercises

We're going to build a CLI tool with APIs that are available in Node.js core. This tool will allow us to input notes and store them as daily notes in Markdown files.

Create a skeleton CLI

You can generate a skeleton CLI by running the create-cli shell script in your terminal:

npm run create-cli

Run your CLI

npx takenote

👉 Start the first exercise: 01 - Parsing arguments

You might also like...

A personal school project to model the behaviour of the human immune system as a network graph with interactive visualisation.

A personal school project to model the behaviour of the human immune system as a network graph with interactive visualisation.

An educational tool designed to help users understand the immune system. Made using Processing 5 for Java Script

Jun 18, 2022

parses human-readable strings for JavaScript's Temporal API

🕑 temporal-parse What is the temporal-parse? Temporal is the next generation of JavaScript's standard Date API. It's currently proposed to TC39 (see:

Jan 2, 2023

Small js library to animate some writing effect through a list of strings. It also supports settings for typo errors, to make it more human likely.

Small js library to animate some writing effect through a list of strings. It also supports settings for typo errors, to make it more human likely.

Write and Delete Small js library to animate some writing effect through a list of strings. It also supports settings for typo errors, to make it more

Nov 15, 2022

Svelte component to display time distances in a human readable format.

Time Distance Display time distances in a human readable format. Based on date-fns Updates every 60 seconds View demo Usage Install package: pnpm i -D

Nov 2, 2022

io-ts Typed Event Bus for the runtime of your Node.js application. A core for any event-driven architecture based app.

Typed Event Bus Based on io-ts types, this bus provides a handy interface to publish and consume events in the current runtime of the Node.js process.

May 23, 2022

ITkonekt .NET workshop

Autobarn This is the sample application for Dylan Beattie's workshop on distributed systems with .NET. It's an Asp.NET Core web application based on v

Dec 19, 2021

Repository for hands on practice in Git and GitHub workshop

Git and Github Workshop Jan 2022 Successful contributors ✨ of this project will be featured on the GDSC website so as to bring attraction and learn vi

Feb 10, 2022

GatsbyConf - Decoupling Drupal Using Gatsby: A Crash Course workshop

GatsbyConf - Decoupling Drupal Using Gatsby: A Crash Course workshop

Sep 29, 2022

For this workshop, we're going to learn more about cloud computing by exploring how to use Pulumi to build, configure, and deploy a real-life, modern application using Docker

For this workshop, we're going to learn more about cloud computing by exploring how to use Pulumi to build, configure, and deploy a real-life, modern application using Docker. We will create a frontend, a backend, and a database to deploy the Pulumipus Boba Tea Shop. Along the way, we'll learn more about how Pulumi works.

Dec 29, 2022
Comments
Owner
Simon Plenderleith
Independent Node.js consultant and educator
Simon Plenderleith
⚡ A powerful, human-friendly database library for JavaScript using SQLite.

great.db ⚡ A powerful, human-friendly database library for JavaScript using SQLite. Elegant way to set and retrieve data Queries are executed through

null 54 Nov 29, 2022
An open source, friendly human-like chatbot to be with you, forever

Chatbot A Friendly human-like chatbot to be with you, forever Made by Rahuletto#0243 This template powers our system at Simply API Instructions This b

Rahul Marban 6 Sep 18, 2022
A port of bitcoin-core that will (over time) become TS friendly.

bitcoin-core A modern Bitcoin Core REST and RPC client to execute administrative tasks, multiwallet operations and queries about network and the block

null 6 Nov 22, 2022
Enhanced interval features for Node.js, such as promisified interval and human readable time parsing.

Interval-next Interval-next is a package that extends Javascript's built-in setInterval() capabilities. You have a plain and promisified interval meth

Snowy 5 Jul 28, 2022
Workshop contruyendo una API Rest con Node.js + Koa.js

Workshop contruyendo una API Rest con Node.js + Koa.js Tabla de Contenido Acerca de Introducción Explicación del caso de uso Ciclo de vida de las soli

Jhony Rivero 6 Apr 8, 2022
Portuguese version of the Cassandra driver javascript node.js workshop

Versão em Português do workshop Cassandra driver javascript node.js Olá e bem-vindo! Este é o repositório complementar para a apresentação prática dos

DataStax Developers 2 Mar 17, 2022
Send encrypted and decrypted messages with verifiable keys and human readable names.

zooko-msg Encrypt and decrypt messages using AES with a preshared ECDH key generated using keys associated with Handshake names. I noticed that there

Publius Federalist 31 Jul 27, 2022
Convert JSON to human readable HTML

json.human.js: Json Formatting for Human Beings A small library to convert a JSON object into a human readable HTML representation that is easy to sty

Mariano Guerra 955 Dec 3, 2022
⏱ Simple Alpine.js plugin to display the human-readable distance between a date and now.

⏱ Alpine TimeAgo ⏱ An Alpine.js plugin to return the distance between a given date and now in words (like "3 months ago", "about 2 hours ago" or "in a

Marc Reichel 47 Dec 22, 2022
💡 Providing equitable access to human useable Web3 data.

?? Providing equitable access to human useable Web3 data. Unidata The beauty of Web3 is that everyone owns their data, but accessing and displaying ow

DIYgod 264 Jan 2, 2023