Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

clercjs/clerc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1,147 Commits

Repository files navigation

Clerc is a full-featured library (tool set) for building CLI Apps in Node.js, Deno or Bun.


  • Features
  • The simplest CLI example
  • Documentation
  • Examples
  • More...

Note

This package is ESM-only.

Features

  • Lightweight - Dependencies are bundled.
  • Plugin system - Add rich features on demand.
  • Chainable APIs - Composable.
  • Developer friendly - Strongly typed, converts flags and parameters to camelCase.
  • Parses parameters - No need to read them by yourself.

The simplest CLI example

Install clerc, and create a file named cli.mjs:

{ console.log("Hello, world from Clerc!"); }, ) .parse(); // Parse the arguments and run!">import { Cli } from "clerc";

Cli() // Create a new Clerc instance with help and version plugins installed
.scriptName("foo") // CLI Script Name
.description("A foo CLI") // CLI Description
.version("0.0.0") // CLI Version
.command(
"bar", // Command name
"A bar command", // Command description
)
.on(
"bar",
(
_ctx, // The command context, but we haven't used it yet
) => {
console.log("Hello, world from Clerc!");
},
)
.parse(); // Parse the arguments and run!

Then run: node cli.mjs bar. It should log in your shell: Hello, world from Clerc!

Documentation

Please see https://clerc.so1ve.dev.

Examples

Check the examples made with Clerc:

More...

Why using Clerc?

Clerc uses @clerc/parser to parse arguments. It is strongly-typed, which brings you better DX. It is powerful(supports custom type) and quite small and performant!

Clerc has a plugin system, which means you can add features on demand (e.g. auto completions, help text generation...). It also provides chainable APIs for better composability.

Clerc's flexible architecture and plugin system offer vast potential for further exploration and customization in diverse CLI application scenarios. There are more and more opportunities to leverage Clerc's capabilities to create unique and powerful command-line tools!

License

MIT. Made with by Ray