A TypeScript CLI framework with composable modules for humans and agents.
Website & Docs • Contributing • Issues • Discord
Crust is a TypeScript CLI framework for humans and agents. Define a command once with full type inference, and it runs as a CLI, packages as an agent skill, and can be exposed over MCP. Composable modules add prompts, progress, TUI, styling, persistence, man pages, and testing helpers as you need them. It runs on Bun, Node.js, and Deno, with native Bun integrations.
- gyst
- Nia by Nozomio Labs
bun create crust@latest my-cli
cd my-cli
bun run devnpm create crust@latest my-cli
cd my-cli
npm run devpnpm create crust@latest my-cli
cd my-cli
pnpm run devyarn dlx create-crust@latest my-cli
cd my-cli
yarn run devdeno run -A npm:create-crust@latest my-cli --runtime deno
cd my-cli
deno task dev| Package | Description | Version | Downloads |
|---|---|---|---|
@crustjs/crust |
CLI to build and publish Crust apps as npm packages or standalone binaries | ||
@crustjs/core |
Define, parse, route, and run type-safe CLI commands with Contexts and Extensions | ||
@crustjs/man |
Generate mdoc(7) manual pages from Crust command definitions | ||
@crustjs/testing |
Test helpers for Crust CLIs with captured output and fake interactive terminals | ||
@crustjs/extensions |
Official Crust Extensions for help, version, completion, typo hints, color, and updates | ||
@crustjs/style |
Terminal styling, colors, hyperlinks, and ANSI-aware text layout | ||
@crustjs/progress |
Spinners and determinate progress indicators for terminal tasks | ||
@crustjs/prompts |
Interactive input, password, confirm, select, and filter prompts for the terminal | ||
@crustjs/tui |
Bun-only OpenTUI renderer adapter for Crust Command Actions | ||
@crustjs/effect |
Effect.ts v4 adapter for Crust Command Actions, Contexts, and errors | ||
@crustjs/env |
Typed, validated environment variables as a Crust Context, documented in help and man pages | ||
@crustjs/store |
Typed JSON persistence for CLI config, data, state, and cache files | ||
@crustjs/skills |
Generate and install agent skills for AI coding assistants from Crust commands | ||
@crustjs/mcp |
Serve a Crust CLI as MCP tools over stdio | ||
@crustjs/create |
Headless scaffolding engine for building project generators | ||
create-crust |
Scaffold a new Crust CLI project for Bun, Node.js, or Deno |
