Skip to content

Quickstart

This illustrative example uses a noninteractive CLI so progress and checklist messages go to the supplied output stream:

import { Cli } from "@fungi.computer/cli-kit";
const cli = new Cli({ brand: "vishnu", interactive: false });
cli.welcome("Build a game");
await cli.task("Building", async (update) => {
update("Checking the project");
return "ready";
});
cli.checklist()("project", true, "ready");

The terminal tests exercise banner rendering, piped input behavior, and noninteractive task output in test/terminal.test.ts.