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.15alphaParsing, routing, plugin system
@crustjs/pluginsv0.0.20alphaOfficial Crust plugins
@crustjs/crustv0.0.23alphaCLI build tooling
@crustjs/createv0.0.4alphaScaffolding library for create-xx tools
@crustjs/validatev0.0.13alphaSchema-first validation adapters
@crustjs/promptsv0.0.10alphaInteractive prompts
@crustjs/stylev0.0.6alphaTerminal styling
@crustjs/storev0.0.4alphaType-safe config persistence
@crustjs/skillsv0.0.21alphaAgent skills generation
@crustjs/testCLI testing helpers
Coming Soon
@crustjs/renderTerminal content rendering
Coming Soon
@crustjs/logStructured logging
Coming Soon