Now in AlphaSee Roadmap

Build CLIs
with types.

A TypeScript-first, Bun-native CLI framework with composable modules.

src/cli.tsTypeScript
import { Crust } from "@crustjs/core";
import { helpPlugin } from "@crustjs/plugins";

const cli = new Crust("greet")
  .use(helpPlugin())
  .args([{ name: "name", type: "string" }])
  .flags({
    shout: { type: "boolean", alias: "s" },
  })
  .run(({ args, flags }) => {
    const msg = `Hello, ${args.name}!`;
    console.log(flags.shout ? msg.toUpperCase() : msg);
  });

await cli.execute();

Features

Type-Safe

Full inference. Zero casts.

Zero Deps

No runtime dependencies.

Composable

Modular packages.

Plugins

Middleware-based hooks.

Chainable

Fluent builder API.

Bun Native

Built for Bun runtime.

Modules

@crustjs/corev0.0.17alphaParsing, routing, plugin system
@crustjs/pluginsv0.1.0betaOfficial Crust plugins
@crustjs/crustv0.0.24alphaCLI build tooling
@crustjs/createv0.0.5alphaScaffolding library for create-xx tools
@crustjs/validatev0.1.0betaSchema-first validation adapters
@crustjs/progressv0.0.4alphaProgress indicators
@crustjs/promptsv0.1.0betaInteractive prompts
@crustjs/stylev0.2.0betaTerminal styling
@crustjs/storev0.1.0betaType-safe config persistence
@crustjs/skillsv0.1.0betaAgent skills generation
@crustjs/manv0.1.0betaGenerate mdoc(7) manual pages
@crustjs/testCLI testing helpers
Coming Soon
@crustjs/renderTerminal content rendering
Coming Soon
@crustjs/logStructured logging
Coming Soon