An open API service indexing awesome lists of open source software.

https://github.com/chenxin-yan/crust

A TypeScript-first, Bun-native CLI framework with composable modules.
https://github.com/chenxin-yan/crust

bun bunjs cli framework javascript typescript

Last synced: 13 days ago
JSON representation

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

Awesome Lists containing this project

README

          


Crust logo


Crust


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


license
stars


Documentation
  •  
Contributing
  •  
Issues
  •  
Discord

> [!WARNING]
> Crust is **beta-quality** until v1.0. Versions before 1.0 do not strictly follow semantic versioning. The core API should be relatively stable after 0.1, but expect breaking changes between minor releases.

## Packages

| Package | Description | Version | Downloads |
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| [`@crustjs/crust`](https://www.npmjs.com/package/@crustjs/crust) | CLI tooling — build and distribute standalone executables | [![npm](https://img.shields.io/npm/v/@crustjs/crust)](https://www.npmjs.com/package/@crustjs/crust) | [![downloads](https://img.shields.io/npm/dm/@crustjs/crust)](https://www.npmjs.com/package/@crustjs/crust) |
| [`@crustjs/core`](https://www.npmjs.com/package/@crustjs/core) | Core: command definition, arg parsing, routing, plugins, errors | [![npm](https://img.shields.io/npm/v/@crustjs/core)](https://www.npmjs.com/package/@crustjs/core) | [![downloads](https://img.shields.io/npm/dm/@crustjs/core)](https://www.npmjs.com/package/@crustjs/core) |
| [`@crustjs/plugins`](https://www.npmjs.com/package/@crustjs/plugins) | Official plugins: help, version, autocomplete | [![npm](https://img.shields.io/npm/v/@crustjs/plugins)](https://www.npmjs.com/package/@crustjs/plugins) | [![downloads](https://img.shields.io/npm/dm/@crustjs/plugins)](https://www.npmjs.com/package/@crustjs/plugins) |
| [`@crustjs/style`](https://www.npmjs.com/package/@crustjs/style) | Terminal styling foundation | [![npm](https://img.shields.io/npm/v/@crustjs/style)](https://www.npmjs.com/package/@crustjs/style) | [![downloads](https://img.shields.io/npm/dm/@crustjs/style)](https://www.npmjs.com/package/@crustjs/style) |
| [`@crustjs/prompts`](https://www.npmjs.com/package/@crustjs/prompts) | Interactive terminal prompts | [![npm](https://img.shields.io/npm/v/@crustjs/prompts)](https://www.npmjs.com/package/@crustjs/prompts) | [![downloads](https://img.shields.io/npm/dm/@crustjs/prompts)](https://www.npmjs.com/package/@crustjs/prompts) |
| [`@crustjs/validate`](https://www.npmjs.com/package/@crustjs/validate) | Validation helpers | [![npm](https://img.shields.io/npm/v/@crustjs/validate)](https://www.npmjs.com/package/@crustjs/validate) | [![downloads](https://img.shields.io/npm/dm/@crustjs/validate)](https://www.npmjs.com/package/@crustjs/validate) |
| [`@crustjs/store`](https://www.npmjs.com/package/@crustjs/store) | DX-first, typed persistence for CLI apps with config/data/state/cache separation | [![npm](https://img.shields.io/npm/v/@crustjs/store)](https://www.npmjs.com/package/@crustjs/store) | [![downloads](https://img.shields.io/npm/dm/@crustjs/store)](https://www.npmjs.com/package/@crustjs/store) |
| [`@crustjs/skills`](https://www.npmjs.com/package/@crustjs/skills) | Agent skill generation from Crust command definitions | [![npm](https://img.shields.io/npm/v/@crustjs/skills)](https://www.npmjs.com/package/@crustjs/skills) | [![downloads](https://img.shields.io/npm/dm/@crustjs/skills)](https://www.npmjs.com/package/@crustjs/skills) |
| [`@crustjs/create`](https://www.npmjs.com/package/@crustjs/create) | Headless scaffolding engine for building create-xxx tools | [![npm](https://img.shields.io/npm/v/@crustjs/create)](https://www.npmjs.com/package/@crustjs/create) | [![downloads](https://img.shields.io/npm/dm/@crustjs/create)](https://www.npmjs.com/package/@crustjs/create) |
| [`create-crust`](https://www.npmjs.com/package/create-crust) | Project scaffolding tool | [![npm](https://img.shields.io/npm/v/create-crust)](https://www.npmjs.com/package/create-crust) | [![downloads](https://img.shields.io/npm/dm/create-crust)](https://www.npmjs.com/package/create-crust) |

## Getting Started

```sh
bun create crust my-cli
cd my-cli
bun run dev
```