Overview
Crust packages for authoring, distributing, and supporting CLI applications.
Install @crustjs/core and the capabilities your application needs. The framework spine packages are versioned together in one fixed release group, so they bump together.
Framework spine
| Module | Description |
|---|---|
@crustjs/core | Define, parse, route, and run type-safe CLI commands with Contexts and Extensions |
@crustjs/extensions | Official Crust Extensions for help, version, completion, typo hints, color, and updates |
@crustjs/crust | CLI to build and publish Crust apps as npm packages or standalone binaries |
@crustjs/man | Generate mdoc(7) manual pages from Crust command definitions |
@crustjs/skills | Generate and install agent skills for AI coding assistants from Crust commands |
Framework add-ons
These packages require @crustjs/core as a peer and are versioned independently.
| Module | Description |
|---|---|
@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/mcp | Serve a Crust CLI as MCP tools over stdio |
@crustjs/testing | Test helpers for Crust CLIs with captured output and fake interactive terminals |
Standalone libraries
These packages do not depend on @crustjs/core.
| Module | Description |
|---|---|
@crustjs/create | Headless scaffolding engine for building project generators |
@crustjs/progress | Spinners and determinate progress indicators for terminal tasks |
@crustjs/prompts | Interactive input, password, confirm, select, and filter prompts for the terminal |
@crustjs/store | Typed JSON persistence for CLI config, data, state, and cache files |
@crustjs/style | Terminal styling, colors, hyperlinks, and ANSI-aware text layout |
@crustjs/tui | Bun-only OpenTUI renderer adapter for Crust Command Actions |