Yet another Command Line Application Framework with fully strong TypeScript support
npm install breadc  
Yet another Command Line Application Framework with fully strong TypeScript support.
+ 🔍 TypeScript Infer: IDE will automatically infer the type of your command action function;
+ 💻 Commands: support default command, command alias and sub-commands like git remote add ;
+ 📖 East to Learn: very similar with commander.js, cac and there are only 5 APIs for building a CLI application: breadc, command, option, action, run.
+ 🧰 Toolkits: contains many useful tools to build your next CLI application, such as ansi color, process death handler, shell compelete script generation and so on.
``bash`
npm i breadc
Try ./examples/echo.ts.
`ts
import { breadc } from 'breadc';
const cli = breadc('echo', { version: '1.0.0' })
.option('--host
.option('--port
cli.command('[message]', 'Say something!').action((message, option) => {
console.log(message ?? 'You can say anything!');
const { host, port } = option; // { host: string, port: number, '--': string[] }
console.log(Host: ${host});Port: ${port}
console.log();
});
cli.run(process.argv.slice(2)).catch((err) => console.error(err));
`
If you are using IDEs that support TypeScript (like Visual Studio Code), input something using option, and then you will find the option is automatically typed with { host: string, port: number }. In the figure below, Visual Studio Code will automatically infer that the type of option.host is string and the type of option.port is number`.
+ cac: Simple yet powerful framework for building command-line apps.
+ TypeScript: Documentation - Template Literal Types
MIT License © 2023 XLor