Skip to main content

stacks-shell

Use when executing shell commands in a Stacks application - running system commands, process management, or using the shell operator. Covers @stacksjs/shell which wraps Bun's native $ operator.

来源信息

仓库
stacksjs/stacks
最近来源活动
2026年8月29日 17:05
检测到的 SKILL.md 语言
英语
星标
633
Forks
20

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
stacks-shell
description
Use when executing shell commands in a Stacks application - running system commands, process management, or using the shell operator. Covers @stacksjs/shell which wraps Bun's native $ operator.
license
MIT
compatibility
Bun >= 1.3.0, TypeScript
allowed-tools
Read Edit Write Bash Grep Glob
# Stacks Shell ## Key Paths - Core package: `storage/framework/core/shell/src/` - Source: `storage/framework/core/shell/src/index.ts` - Package: `@stacksjs/shell` ## API The entire package is a single re-export of Bun's `$` shell operator: ```typescript export { $ } from 'bun' ``` ## Usage ```typescript import { $ } from '@stacksjs/shell' // Run shell commands await $`ls -la` // Capture output const result = await $`git status` console.log(result.text()) // Set working directory $.cwd('/path/to/dir') await $`bun install` // Pipe commands await $`cat file.txt | grep "pattern"` // Environment variables await $`echo $HOME` ``` ## Bun $ Operator Features - **Template literals** — commands written as tagged template strings - **Auto-escaping** — interpolated values are safely escaped - **Streaming** — stdout/stderr can be streamed - **CWD** — `$.cwd(path)` sets working directory - **Env** — `$.env(vars)` sets environment variables - **Quiet mode** — `$.quiet()` suppresses output - **Throws on error** — non-zero exit codes throw by default ## Gotchas - **Thin wrapper** — this package literally just re-exports `$` from Bun - **Server-side only** — shell commands run in the server environment, not in the browser - **For CLI output formatting, use `@stacksjs/cli`** — this package is for raw command execution - **Bun-specific** — the `$` operator is a Bun feature, not available in Node.js - **Used throughout the framework** — build actions, CLI commands, and dev server all use `$` for process execution
在 GitHub 查看