flik
Build auto-documenting CLIs with an easy-to-use, declarative API.
CLI frameworks in NodeJS are a dime-a-dozen. I built flik
anyways because I didn't love any solution out there. In particular, there was always a little bit of jank when working with TypeScript. flik
is built from the ground-up to make the best use of TypeScript possible, especially when working with the dynamic nature of CLIs.
🔗 Installation
With NPM:
npm install -D flik
With Yarn:
yarn add -D flik
⚡️ Usage
W.I.P.
Building your first command
It's easy!™️
Just give your command some options & define some functionality:
import { createCommand } from 'flik';
export const helloWorld = createCommand(
{
command: 'hello',
description: "I'm just here to say hello",
examples: [
'testing testing one two three'
],
inputs: { flags, positionalArgs, variadicArg },
cleanup: async () => {
console.log('I log something when the process is stopped.');
}
},
async () => {
console.log('hello!');
}
);
Working with inputs
TODO
Putting it all together
import { start } from 'flik';
import { helloWorld } from './commands/hello-world';
start({
binaryName: 'my-cool-cli',
version: '1.0.0',
commands: [helloWorld],
});