check-bun

📁 phrazzld/claude-config 📅 8 days ago
1
总安装量
1
周安装量
#54997
全站排名
安装命令
npx skills add https://github.com/phrazzld/claude-config --skill check-bun

Agent 安装分布

mcpjam 1
claude-code 1
replit 1
junie 1
zencoder 1

Skill 文档

/check-bun

Audit project for Bun compatibility. Output findings as structured report.

What This Does

  1. Check current package manager setup
  2. Identify compatibility blockers
  3. Assess migration opportunities
  4. Output prioritized findings (P0-P3)

This is a primitive. It only investigates and reports. Use /fix-bun to fix issues or /bun for full migration.

Process

1. Current State Assessment

# What package manager is in use?
[ -f "pnpm-lock.yaml" ] && echo "Current: pnpm"
[ -f "bun.lock" ] || [ -f "bun.lockb" ] && echo "Current: bun"
[ -f "package-lock.json" ] && echo "Current: npm"
[ -f "yarn.lock" ] && echo "Current: yarn"

# Check packageManager field
grep -o '"packageManager":.*' package.json 2>/dev/null || echo "No packageManager field"

# Multiple lockfiles?
ls -la *.lock* 2>/dev/null | wc -l

2. Deployment Target Check

# Vercel?
[ -f "vercel.json" ] && echo "Vercel deployment detected"

# Expo/EAS?
[ -f "app.json" ] && grep -q "expo" app.json && echo "Expo detected - Bun NOT supported"

# Netlify?
[ -f "netlify.toml" ] && echo "Netlify deployment - limited Bun support"

# Fly.io?
[ -f "fly.toml" ] && echo "Fly.io deployment - full Bun support"

3. Dependency Compatibility Check

# Native modules that may have issues
grep -E "sharp|bcrypt|canvas|puppeteer|better-sqlite3" package.json 2>/dev/null

# Check for known problematic packages
grep -E "node-gyp|node-pre-gyp" package-lock.json pnpm-lock.yaml 2>/dev/null | head -5

4. CI Configuration Check

# GitHub Actions using pnpm?
grep -l "pnpm/action-setup" .github/workflows/*.yml 2>/dev/null

# Should be using oven-sh/setup-bun?
grep -l "oven-sh/setup-bun" .github/workflows/*.yml 2>/dev/null

5. Workspace Configuration Check

# pnpm workspace file exists?
[ -f "pnpm-workspace.yaml" ] && echo "pnpm-workspace.yaml found"

# Workspaces in package.json?
grep -q '"workspaces"' package.json && echo "workspaces field in package.json"

6. Node.js API Usage Check

# Heavy Node.js API usage that may differ in Bun
grep -rE "child_process|cluster|vm|dgram" --include="*.ts" --include="*.js" src/ 2>/dev/null | head -10

# Worker threads
grep -rE "worker_threads" --include="*.ts" --include="*.js" src/ 2>/dev/null | head -5

Output Format

## Bun Compatibility Audit

### P0: Blockers (Cannot migrate)
- Expo/EAS detected - Bun runtime not supported by EAS Build
- Native module `canvas` may not work with Bun

### P1: Essential (Must fix before migration)
- Mixed lockfiles: both pnpm-lock.yaml and bun.lock present
- CI using pnpm/action-setup, needs oven-sh/setup-bun
- pnpm-workspace.yaml needs migration to package.json workspaces

### P2: Important (Should address)
- Scripts using `node` instead of `bun` for execution
- Test runner is Jest, consider Bun test runner
- No frozen-lockfile in CI

### P3: Nice to Have (Optimization opportunities)
- Could use Bun's native SQLite instead of better-sqlite3
- Build scripts could use Bun shell

## Summary
- Current: pnpm
- Deployment: Vercel (partial Bun support)
- Blockers: 0
- Migration complexity: LOW/MEDIUM/HIGH
- Recommendation: [PROCEED/HYBRID/SKIP]

Priority Mapping

Finding Priority
Expo/EAS deployment P0 (blocker)
Native modules incompatible P0 (blocker)
Mixed lockfiles P1
CI not updated P1
Workspace config needs migration P1
Scripts using node P2
Test runner not optimized P2
Missed optimization opportunities P3

Migration Complexity Assessment

LOW: No blockers, simple dependencies, flexible deployment

  • Few/no native modules
  • Deployment platform supports Bun
  • No pnpm-specific features used

MEDIUM: Some work required, compatible target

  • Native modules that work with Bun
  • CI needs updating
  • Workspace config needs migration

HIGH: Significant challenges or partial adoption

  • Platform limitations (Vercel serverless, etc.)
  • Heavy native module usage
  • Complex monorepo setup

Recommendation Matrix

Blockers Deployment Complexity Recommendation
0 Supports Bun LOW PROCEED
0 Supports Bun MEDIUM PROCEED with care
0 Partial support Any HYBRID setup
Any Any HIGH SKIP or HYBRID
>0 Doesn’t support Any SKIP

Related

  • /fix-bun – Fix Bun migration issues one at a time
  • /bun – Full Bun migration orchestrator
  • /bun-best-practices – When to use Bun (reference)