Skip to content

actuallyReallyAlex/create-cli-application

Repository files navigation

Logo

create-cli-application

NPM GitHub Issues Dependencies License


A bootstrapper for creating a cli application with Node.

Example of create-cli-application running

📝 Table of Contents

🧐 About

I generally use a template when developing CLI applications for myself. I want to share that same template with you, in an easy to use bootstrapper that mirrors the simplicity of starting a new application with create-react-app. Thus, create-cli-application was born.

🏁 Getting Started

Prerequisites

  • Node (>= v10.0.0)
  • NPM

OS

  • MacOS
  • Linux
  • Windows

Installing

npm install -g create-cli-application

🎈 Usage

create-cli-application cool-app-name

Changing the Source Language

By deafault, create-cli-application will create your application as a JavaScript project. You can pass the --typescript flag to create a TypeScript project instead.

create-cli-application cool-app-name --typescript

Want support for an additional language? Feel free to open a new issue.

Interactive Mode

You can choose to use the application in an interactive mode by passing the flag --interactive.

Interactive Mode Example

⛏️ Built Using

  • @sentry/node - Sentry is cross-platform application monitoring, with a focus on error reporting.
  • boxen - Create boxes in the terminal.
  • chalk - Terminal string styling done right.
  • clear - Clear the terminal screen if possible.
  • commander - Node.js command-line interfaces made easy.
  • configstore - Easily load and persist config without having to think about where and how.
  • fs-extra - Node.js: extra methods for the fs object like copy(), remove(), mkdirs().
  • inquirer - A collection of common interactive command line user interfaces.
  • ora - Elegant terminal spinner.
  • pickitt - When you need a computer to just pick it, reach for Pickitt!
  • semver - The semver parser for node (the one npm uses).
  • TypeScript - A typed superset of JavaScript that compiles to plain JavaScript.
  • update-notifier - Update notifications for your CLI app.
  • validate-npm-package-name - Is the given string an acceptable npm package name?

✍️ Authors

🚀 Additional Features to Be Added

  • Compiler Choice
  • Formatter Choice
  • Linter Choice
  • Menu Styling

🎉 Acknowledgements