All Projects → thecodeah → quicli

thecodeah / quicli

Licence: Unlicense license
Create CLI's quickly without any external files!

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to quicli

clifm
The shell-like, command line terminal file manager: simple, fast, extensible, and lightweight as hell
Stars: ✭ 825 (+3337.5%)
Mutual labels:  lightweight
lfs
Lightweight file system
Stars: ✭ 12 (-50%)
Mutual labels:  lightweight
cubic
📦 Easy to scale, zero-config, real-time focused app platform for node.js
Stars: ✭ 16 (-33.33%)
Mutual labels:  lightweight
LC-switch
Superlight vanilla javascript plugin improving forms look and functionality
Stars: ✭ 31 (+29.17%)
Mutual labels:  lightweight
logger
☠ 😈 👀 Simple,Secure & Undetected (6.11.2017) keylogger for Windows :)
Stars: ✭ 37 (+54.17%)
Mutual labels:  lightweight
temps-lite
A smart, good-looking little app which tries to speak your language the way you are used to.
Stars: ✭ 40 (+66.67%)
Mutual labels:  lightweight
Mvvmicro
Minimalist MVVM framework for .NET.
Stars: ✭ 22 (-8.33%)
Mutual labels:  lightweight
youtube-sr
Simple library for Node, Deno & Bun to make YouTube search easily
Stars: ✭ 68 (+183.33%)
Mutual labels:  lightweight
minidenticons
Super lightweight SVG identicon (icon avatar) generator
Stars: ✭ 89 (+270.83%)
Mutual labels:  lightweight
lighttpd-Link
A lighttpd powered lightweight web server for the Steam Link
Stars: ✭ 21 (-12.5%)
Mutual labels:  lightweight
docker-dataset
Docker database images with pre-populated data for testing and/or practice.
Stars: ✭ 35 (+45.83%)
Mutual labels:  lightweight
tinyrpc
Much fast, lightweight, async, based boost.beast and protobuf.
Stars: ✭ 32 (+33.33%)
Mutual labels:  lightweight
wombag
Wombag is the alternative, lightweight backend for your Wallabag apps. Wombag supports the Wallabag API.
Stars: ✭ 42 (+75%)
Mutual labels:  lightweight
growl-alert
A simple growl like notification system.
Stars: ✭ 14 (-41.67%)
Mutual labels:  lightweight
colr pickr
Colr Pickr, a vanilla JavaScript color picker component built with SVGs, with features like saving colors. Similar design to the chrome-dev-tools color picker.
Stars: ✭ 27 (+12.5%)
Mutual labels:  lightweight
rockgo
A developing game server framework,based on Entity Component System(ECS).
Stars: ✭ 617 (+2470.83%)
Mutual labels:  lightweight
esl
Lightweight and flexible UI component library based on web components technology for creating basic UX modules
Stars: ✭ 53 (+120.83%)
Mutual labels:  lightweight
Last-Launcher
Lightweight: Faster than light, Low on memory
Stars: ✭ 148 (+516.67%)
Mutual labels:  lightweight
tsdom
Fast, lightweight TypeScript DOM manipulation utility
Stars: ✭ 16 (-33.33%)
Mutual labels:  lightweight
FaceRecognitionCpp
Large input size REAL-TIME Face Detector on Cpp. It can also support face verification using MobileFaceNet+Arcface with real-time inference. 480P Over 30FPS on CPU
Stars: ✭ 40 (+66.67%)
Mutual labels:  lightweight

Logo

Why QuiCLI?

QuiCLI is a lightweight CLI framework that was intentionally designed to be used without a package manager or any external files. The built code has no dependencies and is entirely minified into a single line. Paste it on top of a new .js file and you're ready to go! No package.json, no node_modules and your colleagues don't have to install any global packages making it a great cross-platform alternative to shell scripts in development environments.

When creating CLI's with QuiCLI, the goal of the program should be to assist development. It's not meant to be used to create CLI's that will eventually be provided to end-users. There are better, and more feature-rich CLI frameworks that can help you achieve that goal.

Getting started

  1. Simply copy and paste the contents of the lib/quicli.min.js file in this repository to a new .js file.
  2. On a new line below the pasted contents, add some commands (Check the examples below).
  3. Run your CLI with node myapp mycommand.

Features

Nested commands

cli.addCommand("foo.bar", (flags) => {
    cli.log("Hello world!");
})
> node myapp foo bar
Hello world!

Typed flags

cli.addCommand("foo", (flags) => {
    cli.log(flags.bar[0], "is a nice number!");
})
.addFlag("bar", "number", true) // Name, Type, Required
> node myapp foo
Missing flag: bar
> node myapp foo --bar hello
Incorrect type: bar must be a number!
> node myapp foo --bar 24
24 is a nice number!

Input handling

cli.addCommand("foo", async (flags) => {
    const answer = await cli.question("What's up?");
    cli.log("Your answer: " + answer);
})
> node myapp foo
What's up? Nothing much...
Your answer: Nothing much...

Styled output

cli.addCommand("ping", (flags) => {
    cli.log(
        $.BOLD +
        $.RED + "P" +
        $.YELLOW + "O" +
        $.GREEN + "N" +
        $.BLUE + "G" +
        $.MAGENTA + "!"
    );
})

Documentation

Documentation can be found on the projects website.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].