Movatterモバイル変換


[0]ホーム

URL:


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
/cittyPublic

🌆 Elegant CLI Builder

License

NotificationsYou must be signed in to change notification settings

unjs/citty

Repository files navigation

npm versionnpm downloadsbundle size

Elegant CLI Builder

  • Fast and lightweight argument parser based onmri
  • Smart value parsing with typecast, boolean shortcuts and unknown flag handling
  • Nested sub-commands
  • Lazy and Async commands
  • Pluggable and composable API
  • Auto generated usage and help

🚧 This project is under heavy development. More features are coming soon!

Usage

Install package:

# npmnpm install citty# yarnyarn add citty# pnpmpnpm install citty

Import:

// ESMimport{defineCommand,runMain}from"citty";// CommonJSconst{ defineCommand, runMain}=require("citty");

Define main command to run:

import{defineCommand,runMain}from"citty";constmain=defineCommand({meta:{name:"hello",version:"1.0.0",description:"My Awesome CLI App",},args:{name:{type:"positional",description:"Your name",required:true,},friendly:{type:"boolean",description:"Use friendly greeting",},},run({ args}){console.log(`${args.friendly ?"Hi" :"Greetings"}${args.name}!`);},});runMain(main);

Utils

defineCommand

defineCommand is a type helper for defining commands.

runMain

Runs a command with usage support and graceful error handling.

createMain

Create a wrapper around command that callsrunMain when called.

runCommand

Parses input args and runs command and sub-commands (unsupervised). You can accessresult key from returnd/awaited value to access command's result.

parseArgs

Parses input arguments and applies defaults.

renderUsage

Renders command usage to a string value.

showUsage

Renders usage and prints to the console

Development

  • Clone this repository
  • Install latest LTS version ofNode.js
  • EnableCorepack usingcorepack enable
  • Install dependencies usingpnpm install
  • Run interactive tests usingpnpm dev

License

Made with 💛 Published underMIT License.

Argument parser is based onlukeed/mri by Luke Edwards (@lukeed).

About

🌆 Elegant CLI Builder

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp