Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".
日本語の概要は準備中です。原文の説明を表示しています。
Use when building, testing, and deploying JavaScript/TypeScript applications. Reach for Bun when you need to run scripts, manage dependencies, bundle code, or test applications with a single unified tool.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Bun is a unified JavaScript runtime, package manager, bundler, and test runner written in Zig. It replaces Node.js, npm, esbuild, and Jest with a single fast binary. Key files: bunfig.toml (configuration), bun.lock (lockfile), package.json (project metadata). Primary commands: bun run, bun install, bun build, bun test. Bun is 4x faster than Node.js on startup and 25x faster than npm for installations. Visit https://bun.com/docs for comprehensive documentation.
Use Bun when:
bun run file.ts)bun install, bun add)bun buildbun test)Do not use Bun for: type checking (use tsc separately), generating type declarations, or projects requiring exact Node.js compatibility for native modules.
| Task | Command | Notes |
|---|---|---|
| Run TypeScript file | bun run file.ts | Transpiles on-the-fly; omit run for short form |
| Run package script | bun run dev | Executes script from package.json |
| Install dependencies | bun install | Creates bun.lock lockfile |
| Add package | bun add react | Adds to dependencies; use -d for dev |
| Remove package | bun remove react | Removes from package.json and node_modules |
| Run tests | bun test | Finds *.test.ts, *.spec.ts files automatically |
| Build bundle | bun build ./src/index.ts --outdir ./dist | Bundles with tree-shaking, minification optional |
| Watch mode | bun --watch run file.ts | Re-runs on file changes |
| Create project | bun init | Scaffolds new project with templates |
Located at project root or ~/.bunfig.toml (global). Optional but useful for customization.
[install]
dev = true # Install devDependencies
optional = true # Install optionalDependencies
peer = true # Install peerDependencies
linker = "hoisted" # "hoisted" or "isolated" (pnpm-style)
saveTextLockfile = true # Use text bun.lock instead of binary
[serve]
port = 3000 # Default port for Bun.serve()
[test]
root = "." # Test root directory
coverage = false # Enable coverage reporting
timeout = 5000 # Per-test timeout in ms
preload = ["./setup.ts"] # Scripts to run before tests
[run]
shell = "system" # "system" or "bun" (Windows defaults to "bun")
bun = true # Auto-alias node to bun in scripts
Bun natively handles: .js, .jsx, .ts, .tsx, .json, .jsonc, .toml, .yaml, .html, .css, .wasm, .node. No configuration needed—just import and use.
| API | Purpose | Example |
|---|---|---|
Bun.serve() | Start HTTP server | Bun.serve({ port: 3000, fetch: handler }) |
Bun.file() | Read/write files | await Bun.file("path.txt").text() |
Bun.write() | Write to disk | await Bun.write("out.txt", data) |
Bun.build() | Bundle code | await Bun.build({ entrypoints, outdir }) |
Bun.Transpiler | Transpile code | new Bun.Transpiler({ loader: "tsx" }) |
Bun.spawn() | Run child process | Bun.spawn(["ls", "-la"]) |
| Scenario | Use | Reason |
|---|---|---|
| New monorepo/workspaces | isolated | Prevents phantom dependencies, stricter isolation |
| New single-package project | hoisted | Traditional npm behavior, simpler |
| Existing project (pre-v1.3.2) | hoisted | Backward compatibility |
| Migrating from pnpm | isolated | Matches pnpm's approach |
Set in bunfig.toml: linker = "isolated" or via CLI: bun install --linker isolated
| Use Case | Tool | Why |
|---|---|---|
| Execute TypeScript directly | bun run | Fast transpilation, no output files |
| Prepare for production | bun build | Minification, tree-shaking, bundling |
| Ship single executable | bun build --compile | Creates standalone binary |
| Development server | bun run + Bun.serve() | Hot reload, fast iteration |
| Scenario | Use --concurrent | Reason |
|---|---|---|
| Independent async tests | Yes | Parallel execution speeds up suite |
| Tests with shared state | No | Use test.serial() for order-dependent tests |
| Database/API tests | Maybe | Only if tests don't interfere |
| Unit tests | Yes | Usually safe and faster |
bun init my-app
cd my-app
Choose template: Blank, React, or Library. Creates package.json, tsconfig.json, .gitignore.
bun install
Reads package.json, downloads packages, creates bun.lock. Much faster than npm.
bun add react
bun add -d @types/react typescript
Updates package.json and bun.lock automatically.
# Create index.ts
echo "console.log('Hello Bun!')" > index.ts
# Run it
bun run index.ts
Bun transpiles TypeScript on-the-fly; no build step needed.
// server.ts
const server = Bun.serve({
port: 3000,
fetch(req) {
return new Response('Hello!')
},
})
console.log(`Listening on ${server.url}`)
bun run server.ts
// math.test.ts
import { test, expect } from 'bun:test'
test('2 + 2 = 4', () => {
expect(2 + 2).toBe(4)
})
bun test
Finds and runs all *.test.ts files automatically.
bun build ./src/index.ts --outdir ./dist --minify
Outputs optimized bundle to dist/. Use --target browser|node|bun to control output format.
bun build ./cli.ts --outfile mycli --compile
./mycli
Bundles code + Bun runtime into single executable; no dependencies needed.
postinstall scripts for security. Add trusted packages to trustedDependencies in package.json to allow them.bun run vs bun <script>: If a built-in Bun command exists with the same name, use bun run <script> explicitly to run package.json scripts.bun --watch run file.ts, not bun run file.ts --watch. Flags after the filename are passed to the script itself.@types/bun and add "lib": ["ESNext"] to tsconfig.json compilerOptions.bun.lock by default (not binary bun.lockb). Commit to version control.install.auto = "disable" in bunfig.toml for production to prevent unexpected package downloads.node: module support before relying on Node-specific code.bun build always bundles by default. Use Bun.Transpiler to transpile individual files without bundling.bun build does not type-check. Run tsc --noEmit separately for type validation.peer = false in bunfig.toml to disable.Before submitting work with Bun:
bun install to verify dependencies resolve without errorsbun run <script> to test main entry pointbun test and verify all tests passbun build and check output files exist in outdirbun.lock is committed to version control (not .gitignored)bunfig.toml for any environment-specific settings that should be removednode_modules folder is committed (should be in .gitignore)--production flag if building for deployment: bun install --productionbun run tsc --noEmit (if tsc installed)package.json "type": "module" is set for ESM projectsComprehensive navigation: https://bun.com/docs/llms.txt — Page-by-page listing of all Bun documentation.
Critical pages:
For additional documentation and navigation, see: https://bun.com/docs/llms.txt
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".
日本語の概要は準備中です。原文の説明を表示しています。
Skill for building with the Astro web framework. Helps create Astro components and pages, configure SSR adapters, set up content collections, deploy static sites, and manage project structure and CLI commands. Use when the user needs to work with Astro, mentions .astro files, asks about static site generation (SSG), islands architecture, content collections, or deploying an Astro project.
日本語の概要は準備中です。原文の説明を表示しています。
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
日本語の概要は準備中です。原文の説明を表示しています。
Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.
日本語の概要は準備中です。原文の説明を表示しています。
Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman:compress <filepath> or "compress memory file"
日本語の概要は準備中です。原文の説明を表示しています。
Quick-reference card for all caveman modes, skills, and commands. One-shot display, not a persistent mode. Trigger: /caveman-help, "caveman help", "what caveman commands", "how do I use caveman".
日本語の概要は準備中です。原文の説明を表示しています。