| 
				
					 | 
			1 年之前 | |
|---|---|---|
| .. | ||
| dist | 1 年之前 | |
| LICENSE | 1 年之前 | |
| README.md | 1 年之前 | |
| package.json | 1 年之前 | |
Elegant CLI Builder
🚧 This project is under heavy development. More features are coming soon!
Install package:
# npm
npm install citty
# yarn
yarn add citty
# pnpm
pnpm install citty
Import:
// ESM
import { defineCommand, runMain } from "citty";
// CommonJS
const { defineCommand, runMain } = require("citty");
Define main command to run:
import { defineCommand, runMain } from "citty";
const main = 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);
defineCommanddefineCommand is a type helper for defining commands.
runMainRuns a command with usage support and graceful error handling.
createMainCreate a wrapper around command that calls runMain when called.
runCommandParses input args and runs command and sub-commands (unsupervised). You can access result key from returnd/awaited value to access command's result.
parseArgsParses input arguments and applies defaults.
renderUsageRenders command usage to a string value.
showUsageRenders usage and prints to the console
corepack enablepnpm installpnpm devMade with 💛 Published under MIT License.
Argument parser is based on lukeed/mri by Luke Edwards (@lukeed).