itechmeat/llm-code/bun

Claude Code and agent skill by itechmeat/llm-code

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Bun JavaScript/TypeScript runtime and all-in-one toolkit. Covers runtime, package manager, bundler, test runner, HTTP server, WebSockets, SQLite, S3, Redis, file I/O, shell scripting, FFI, Markdown parser. Use when running JS/TS with Bun, managing packages, bundling, testing, or using Bun-specific APIs. Keywords: bun, bunx, bun install, bun run, bun test, bun build, Bun.serve, Bun.file, bun:sqlite, Bun.markdown.

Install

npx vskill@latest install itechmeat/llm-code/bun

SKILL.md

Bun

All-in-one JavaScript/TypeScript toolkit: runtime, package manager, test runner, bundler.

Quick Navigation

TopicReference
Package Managerreferences/package-manager.md
Project Setupreferences/project-scaffolding.md
Developmentreferences/development.md
Module Systemreferences/module-system.md
TypeScript & JSXreferences/typescript-jsx.md
Type Check & Formatreferences/type-checking-and-formatting.md
Configurationreferences/bunfig.md
HTTP Serverreferences/http-server.md
Browser Automationreferences/webview.md
WebSocketsreferences/websockets.md
File I/Oreferences/file-io.md
SQLitereferences/sqlite.md
S3 Storagereferences/s3.md
Redisreferences/redis.md
Low-Level Networkreferences/networking-low-level.md
Fetch APIreferences/fetch.md
Shell Scriptsreferences/shell.md
Spawn Processreferences/spawn.md
Workersreferences/workers.md
Native FFIreferences/native-interop.md
C/C++ Compilereferences/cc.md
Transpilerreferences/transpiler.md
Pluginsreferences/plugins.md
FS Routerreferences/file-system-router.md
Environment Varsreferences/env.md
Utilitiesreferences/utilities.md
Node.js Compatreferences/nodejs-compat.md

When to Use Bun

  • Running TypeScript/JSX without build step
  • Fast HTTP server with native routing
  • Headless browser automation with native input events
  • SQLite database (embedded, no deps)
  • WebSocket server/client
  • S3-compatible storage (AWS, R2, MinIO)
  • Redis caching/pub-sub
  • Cross-platform shell scripts
  • In-process cron scheduling
  • Markdown parsing (v1.3.8+)
  • Native library calls via FFI

Core Advantages

  • 4x faster startup than Node.js
  • Native TypeScript/JSX — no tsconfig needed
  • ESM + CommonJS — both work seamlessly
  • Web APIs built-in — fetch, WebSocket, etc.
  • 30x faster installs than npm

Quick Start

bash
# Run TypeScript directly
bun run index.ts
# Install packages
bun install
# Run package.json script
bun run dev
# Execute package binary
bunx cowsay "Hello"
# Run tests
bun test
# Build for production
bun build ./index.ts --outdir ./dist
# Bundle analysis for LLMs (v1.3.8+)
bun build ./index.ts --metafile-md --outdir ./dist

Critical Rules

Don'tDo
http.createServer()Bun.serve()
fs.readFileSync()Bun.file().text()
better-sqlite3bun:sqlite
child_process.exec()Bun.$ or Bun.spawn()
dotenvBuilt-in .env support

Release Highlights (1.4.3 -> 1.4.4)

  • Built-in TypeScript checker (`1.4.3`): bun check type-checks the project of the nearest tsconfig.json and passes 100% of the TypeScript 7.0.2 conformance suite. It reports the same errors as tsc (file, line, column, error code) at 3x-6.4x the speed and 2.2x-4.9x less memory; any compiler option works as a flag (--strict, --target) and overrides tsconfig.json.
  • `bun build --check` (`1.4.3`): type-checks and then bundles. A type error fails the build like any other build error and nothing is written. The JS API equivalent is Bun.build({ check: true }).
  • Built-in formatter (`1.4.4`): bun fmt is a Prettier-compatible formatter built into the runtime. On Prettier's own repository (2,616 files) bun fmt --check takes 60 ms against 17 seconds for Prettier - about 286x faster at 48 MB peak memory instead of 459 MB. It formats JavaScript, TypeScript, JSX, Flow, CSS, SCSS, Less, HTML, Vue, Svelte, Angular, LWC, MJML, JSON/JSONC/JSON5, YAML, TOML, Markdown, MDX, GraphQL and Handlebars, including embedded code.
  • `bun fmt` flags: --check lists files that need formatting and exits with code 1, --staged formats and re-stages only what you are about to commit (replaces lint-staged), --changed formats what differs from the default branch (accepts a ref, e.g. --changed=origin/dev), --doctor shows how Bun reads your config and which packages you can uninstall, --init creates the [fmt] section.
  • `bun fmt` configuration: reads .prettierrc*, prettier.config.*, prettier in package.json, overrides, .editorconfig, .prettierignore, plus .oxfmtrc.json, .oxfmtrc.jsonc and oxfmt.config.ts. Prettier options work under the same names in bunfig.toml ([fmt] printWidth, semi, plus [[fmt.overrides]] with files and options) and as flags (--print-width 100, --no-semi).
  • Built-in import sorting: sortImports groups imports, sorts the names inside { } and merges duplicate imports from the same module, so @trivago/prettier-plugin-sort-imports, @ianvs/prettier-plugin-sort-imports and prettier-plugin-organize-imports are no longer needed. sortTailwindcss, sortPackageJson and jsdoc are opt-in and need no Prettier config.
  • Built-in plugin equivalents: bun fmt does the work of prettier-plugin-tailwindcss, prettier-plugin-packagejson and prettier-plugin-svelte, and their options are supported. Tailwind classes are sorted with the project's tailwindcss (v3 or v4). Languages that need a real Prettier plugin (e.g. Astro) fall back to the Prettier installed in the project.
  • Monorepo and skip rules: in a monorepo bun fmt walks up to the nearest bunfig.toml with a [fmt] section; without a Prettier config it also formats TOML. It skips *.min.js, *.min.css and lockfiles unless you pass them explicitly.

Full details: references/type-checking-and-formatting.md

Release Highlights (1.4.x)

  • Rust rewrite: first release of the Rust port. Lower peak memory (mimalloc allocator, 13-48% less under load), ~2x faster startup, 5x lower idle CPU, and 1,500+ more passing Node.js test-suite tests.
  • HTTP/2 & HTTP/3: Bun.serve() serves HTTP/1.1 and HTTP/2 on the same port via ALPN over TLS (v1.4.1); HTTP/3 is experimental via http3: true. fetch() can use HTTP/2/3 clients behind feature flags.
  • Serve static directories: routes: { "/static/*": { dir: "./public" } } with sendfile, ETag, Range, conditional requests, and index.html.
  • CLI: bun run --parallel for concurrent scripts; bun audit fix, bun dedupe, bun prune, bun pm diff, bun pm licenses for package maintenance.
  • `bun test`: --parallel, --isolate, --shard=M/N, --timings, --changed (diff-based), --retry, and jest.useFakeTimers().
  • `bun build`: built-in React Compiler (--react-compiler), barrel-import optimization, tree-shaking through export * as and dynamic import(), --min-chunk-size, and module preloading.
  • `bun install`: --linker=isolated global virtual store, --offline / --prefer-offline, bun add --catalog, nested overrides, and selfContained workspaces.
  • New runtime APIs: Bun.Terminal (PTY), Bun.Archive (tar), Bun.JSON5/JSONL/JSONC/XML/TOML parsers, streaming Bun.write(path, response), WebSocket.pause()/resume(), crypto.argon2, and post-quantum ML-DSA/ML-KEM in crypto.subtle.

Release Highlights (1.3.14)

  • `Bun.Image`: built-in image decoding, transforms, and encoding for common formats with no npm dependency or native addon build step.
  • Test workflow: the 1.3.13 line improves dependency-aware filtering for changed-file test runs, which matters when you rely on partial local verification.
  • Patch-line runtime work: 1.3.13-1.3.14 continues compatibility and performance work on top of the 1.3.12 WebView/cron/Markdown release line.

Release Highlights (1.3.12)

  • `Bun.WebView`: native headless browser automation with WebKit on macOS and Chrome/Chromium via CDP on all platforms.
  • `Bun.cron()` callback mode: in-process scheduler with no-overlap execution, UTC semantics, hot-reload cleanup, and Disposable job handles.
  • Markdown in terminal: bun ./file.md and Bun.markdown.ansi() make terminal-native rendering a first-class workflow.
  • Networking/runtime: UDP error/truncation handling, Node-compatible unix-socket lifecycle, proxy tunnel reuse, and Bun.serve() accept/perf improvements.

Essential Recipes

HTTP Server
ts
Bun.serve({
port: 3000,
fetch(req) {
const url = new URL(req.url);
if (url.pathname === "/api/data") {
return Response.json({ ok: true });
}
return new Response("Not Found", { status: 404 });
},
});
File Operations
ts
// Read
const content = await Bun.file("data.txt").text();
// Write
await Bun.write("output.txt", "Hello World");
// JSON
const config = await Bun.file("config.json").json();
SQLite
ts
import { Database } from "bun:sqlite";
const db = new Database("app.db");
db.run("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)");
const insert = db.prepare("INSERT INTO users (name) VALUES (?)");
insert.run("Alice");
const users = db.query("SELECT * FROM users").all();
WebSocket Server
ts
Bun.serve({
fetch(req, server) {
if (server.upgrade(req)) return;
return new Response("Upgrade failed", { status: 400 });
},
websocket: {
message(ws, message) {
ws.send(`Echo: ${message}`);
},
},
});
Shell Commands
ts
import { $ } from "bun";
// Simple command
const files = await $`ls -la`.text();
// With variables (auto-escaped)
const name = "my file.txt";
await $`cat ${name}`;
// Piping
await $`cat data.csv | grep "pattern" | wc -l`;
S3 Storage
ts
import { s3 } from "bun";
// Upload
await s3.file("uploads/doc.pdf").write(data);
// Download
const content = await s3.file("uploads/doc.pdf").text();
// Presigned URL
const url = s3.presign("uploads/doc.pdf", { expiresIn: 3600 });
Redis
ts
import { redis } from "bun";
await redis.set("key", "value");
const value = await redis.get("key");
await redis.expire("key", 3600);
Testing
ts
import { expect, test, describe } from "bun:test";
describe("math", () => {
test("2 + 2 = 4", () => {
expect(2 + 2).toBe(4);
});
});

Configuration (bunfig.toml)

toml
[run]
watch = true
[install]
registry = "https://registry.npmjs.org"
[test]
coverage = true

Environment Variables

bash
# .env files loaded automatically
DATABASE_URL=postgres://localhost/mydb
ts
// Access
Bun.env.DATABASE_URL;
process.env.DATABASE_URL;
import.meta.env.DATABASE_URL;

Links

Security

  • Security scanPassed, 91 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
11
7-day trend score
12

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 27 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/itechmeat/llm-code/bun/badge)](https://verified-skill.com/skills/itechmeat/llm-code/bun)

Something wrong with this skill or its page? Tell us.