Crust logoCrust

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

ModuleDescription
@crustjs/coreDefine, parse, route, and run type-safe CLI commands with Contexts and Extensions
@crustjs/extensionsOfficial Crust Extensions for help, version, completion, typo hints, color, and updates
@crustjs/crustCLI to build and publish Crust apps as npm packages or standalone binaries
@crustjs/manGenerate mdoc(7) manual pages from Crust command definitions
@crustjs/skillsGenerate 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.

ModuleDescription
@crustjs/effectEffect.ts v4 adapter for Crust Command Actions, Contexts, and errors
@crustjs/envTyped, validated environment variables as a Crust Context, documented in help and man pages
@crustjs/mcpServe a Crust CLI as MCP tools over stdio
@crustjs/testingTest helpers for Crust CLIs with captured output and fake interactive terminals

Standalone libraries

These packages do not depend on @crustjs/core.

ModuleDescription
@crustjs/createHeadless scaffolding engine for building project generators
@crustjs/progressSpinners and determinate progress indicators for terminal tasks
@crustjs/promptsInteractive input, password, confirm, select, and filter prompts for the terminal
@crustjs/storeTyped JSON persistence for CLI config, data, state, and cache files
@crustjs/styleTerminal styling, colors, hyperlinks, and ANSI-aware text layout
@crustjs/tuiBun-only OpenTUI renderer adapter for Crust Command Actions

On this page