{"id":"64cda1c0-975a-44db-ac6f-e1c1b549b57c","shortId":"F5rGDx","kind":"skill","title":"bun-development","tagline":"Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).","description":"<!-- security-allowlist: curl-pipe-bash, irm-pipe-iex -->\n\n# ⚡ Bun Development\n\n> Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).\n\n## When to Use This Skill\n\nUse this skill when:\n\n- Starting new JS/TS projects with Bun\n- Migrating from Node.js to Bun\n- Optimizing development speed\n- Using Bun's built-in tools (bundler, test runner)\n- Troubleshooting Bun-specific issues\n\n---\n\n## 1. Getting Started\n\n### 1.1 Installation\n\n```bash\n# macOS / Linux\ncurl -fsSL https://bun.sh/install | bash\n\n# Windows\npowershell -c \"irm bun.sh/install.ps1 | iex\"\n\n# Homebrew\nbrew tap oven-sh/bun\nbrew install bun\n\n# npm (if needed)\nnpm install -g bun\n\n# Upgrade\nbun upgrade\n```\n\n### 1.2 Why Bun?\n\n| Feature         | Bun            | Node.js                     |\n| :-------------- | :------------- | :-------------------------- |\n| Startup time    | ~25ms          | ~100ms+                     |\n| Package install | 10-100x faster | Baseline                    |\n| TypeScript      | Native         | Requires transpiler         |\n| JSX             | Native         | Requires transpiler         |\n| Test runner     | Built-in       | External (Jest, Vitest)     |\n| Bundler         | Built-in       | External (Webpack, esbuild) |\n\n---\n\n## 2. Project Setup\n\n### 2.1 Create New Project\n\n```bash\n# Initialize project\nbun init\n\n# Creates:\n# ├── package.json\n# ├── tsconfig.json\n# ├── index.ts\n# └── README.md\n\n# With specific template\nbun create <template> <project-name>\n\n# Examples\nbun create react my-app        # React app\nbun create next my-app         # Next.js app\nbun create vite my-app         # Vite app\nbun create elysia my-api       # Elysia API\n```\n\n### 2.2 package.json\n\n```json\n{\n  \"name\": \"my-bun-project\",\n  \"version\": \"1.0.0\",\n  \"module\": \"index.ts\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"bun run --watch index.ts\",\n    \"start\": \"bun run index.ts\",\n    \"test\": \"bun test\",\n    \"build\": \"bun build ./index.ts --outdir ./dist\",\n    \"lint\": \"bunx eslint .\"\n  },\n  \"devDependencies\": {\n    \"@types/bun\": \"latest\"\n  },\n  \"peerDependencies\": {\n    \"typescript\": \"^5.0.0\"\n  }\n}\n```\n\n### 2.3 tsconfig.json (Bun-optimized)\n\n```json\n{\n  \"compilerOptions\": {\n    \"lib\": [\"ESNext\"],\n    \"module\": \"esnext\",\n    \"target\": \"esnext\",\n    \"moduleResolution\": \"bundler\",\n    \"moduleDetection\": \"force\",\n    \"allowImportingTsExtensions\": true,\n    \"noEmit\": true,\n    \"composite\": true,\n    \"strict\": true,\n    \"downlevelIteration\": true,\n    \"skipLibCheck\": true,\n    \"jsx\": \"react-jsx\",\n    \"allowSyntheticDefaultImports\": true,\n    \"forceConsistentCasingInFileNames\": true,\n    \"allowJs\": true,\n    \"types\": [\"bun-types\"]\n  }\n}\n```\n\n---\n\n## 3. Package Management\n\n### 3.1 Installing Packages\n\n```bash\n# Install from package.json\nbun install              # or 'bun i'\n\n# Add dependencies\nbun add express          # Regular dependency\nbun add -d typescript    # Dev dependency\nbun add -D @types/node   # Dev dependency (alias)\nbun add --optional pkg   # Optional dependency\n\n# From specific registry\nbun add lodash --registry https://registry.npmmirror.com\n\n# Install specific version\nbun add react@18.2.0\nbun add react@latest\nbun add react@next\n\n# From git\nbun add github:user/repo\nbun add git+https://github.com/user/repo.git\n```\n\n### 3.2 Removing & Updating\n\n```bash\n# Remove package\nbun remove lodash\n\n# Update packages\nbun update              # Update all\nbun update lodash       # Update specific\nbun update --latest     # Update to latest (ignore ranges)\n\n# Check outdated\nbun outdated\n```\n\n### 3.3 bunx (npx equivalent)\n\n```bash\n# Execute package binaries\nbunx prettier --write .\nbunx tsc --init\nbunx create-react-app my-app\n\n# With specific version\nbunx -p typescript@4.9 tsc --version\n\n# Run without installing\nbunx cowsay \"Hello from Bun!\"\n```\n\n### 3.4 Lockfile\n\n```bash\n# bun.lockb is a binary lockfile (faster parsing)\n# To generate text lockfile for debugging:\nbun install --yarn    # Creates yarn.lock\n\n# Trust existing lockfile\nbun install --frozen-lockfile\n```\n\n---\n\n## 4. Running Code\n\n### 4.1 Basic Execution\n\n```bash\n# Run TypeScript directly (no build step!)\nbun run index.ts\n\n# Run JavaScript\nbun run index.js\n\n# Run with arguments\nbun run server.ts --port 3000\n\n# Run package.json script\nbun run dev\nbun run build\n\n# Short form (for scripts)\nbun dev\nbun build\n```\n\n### 4.2 Watch Mode\n\n```bash\n# Auto-restart on file changes\nbun --watch run index.ts\n\n# With hot reloading\nbun --hot run server.ts\n```\n\n### 4.3 Environment Variables\n\n```typescript\n// .env file is loaded automatically!\n\n// Access environment variables\nconst apiKey = Bun.env.API_KEY;\nconst port = Bun.env.PORT ?? \"3000\";\n\n// Or use process.env (Node.js compatible)\nconst dbUrl = process.env.DATABASE_URL;\n```\n\n```bash\n# Run with specific env file\nbun --env-file=.env.production run index.ts\n```\n\n---\n\n## 5. Built-in APIs\n\n### 5.1 File System (Bun.file)\n\n```typescript\n// Read file\nconst file = Bun.file(\"./data.json\");\nconst text = await file.text();\nconst json = await file.json();\nconst buffer = await file.arrayBuffer();\n\n// File info\nconsole.log(file.size); // bytes\nconsole.log(file.type); // MIME type\n\n// Write file\nawait Bun.write(\"./output.txt\", \"Hello, Bun!\");\nawait Bun.write(\"./data.json\", JSON.stringify({ foo: \"bar\" }));\n\n// Stream large files\nconst reader = file.stream();\nfor await (const chunk of reader) {\n  console.log(chunk);\n}\n```\n\n### 5.2 HTTP Server (Bun.serve)\n\n```typescript\nconst server = Bun.serve({\n  port: 3000,\n\n  fetch(request) {\n    const url = new URL(request.url);\n\n    if (url.pathname === \"/\") {\n      return new Response(\"Hello World!\");\n    }\n\n    if (url.pathname === \"/api/users\") {\n      return Response.json([\n        { id: 1, name: \"Alice\" },\n        { id: 2, name: \"Bob\" },\n      ]);\n    }\n\n    return new Response(\"Not Found\", { status: 404 });\n  },\n\n  error(error) {\n    return new Response(`Error: ${error.message}`, { status: 500 });\n  },\n});\n\nconsole.log(`Server running at http://localhost:${server.port}`);\n```\n\n### 5.3 WebSocket Server\n\n```typescript\nconst server = Bun.serve({\n  port: 3000,\n\n  fetch(req, server) {\n    // Upgrade to WebSocket\n    if (server.upgrade(req)) {\n      return; // Upgraded\n    }\n    return new Response(\"Upgrade failed\", { status: 500 });\n  },\n\n  websocket: {\n    open(ws) {\n      console.log(\"Client connected\");\n      ws.send(\"Welcome!\");\n    },\n\n    message(ws, message) {\n      console.log(`Received: ${message}`);\n      ws.send(`Echo: ${message}`);\n    },\n\n    close(ws) {\n      console.log(\"Client disconnected\");\n    },\n  },\n});\n```\n\n### 5.4 SQLite (Bun.sql)\n\n```typescript\nimport { Database } from \"bun:sqlite\";\n\nconst db = new Database(\"mydb.sqlite\");\n\n// Create table\ndb.run(`\n  CREATE TABLE IF NOT EXISTS users (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    name TEXT NOT NULL,\n    email TEXT UNIQUE\n  )\n`);\n\n// Insert\nconst insert = db.prepare(\"INSERT INTO users (name, email) VALUES (?, ?)\");\ninsert.run(\"Alice\", \"alice@example.com\");\n\n// Query\nconst query = db.prepare(\"SELECT * FROM users WHERE name = ?\");\nconst user = query.get(\"Alice\");\nconsole.log(user); // { id: 1, name: \"Alice\", email: \"alice@example.com\" }\n\n// Query all\nconst allUsers = db.query(\"SELECT * FROM users\").all();\n```\n\n### 5.5 Password Hashing\n\n```typescript\n// Hash password\nconst password = \"super-secret\";\nconst hash = await Bun.password.hash(password);\n\n// Verify password\nconst isValid = await Bun.password.verify(password, hash);\nconsole.log(isValid); // true\n\n// With algorithm options\nconst bcryptHash = await Bun.password.hash(password, {\n  algorithm: \"bcrypt\",\n  cost: 12,\n});\n```\n\n---\n\n## 6. Testing\n\n### 6.1 Basic Tests\n\n```typescript\n// math.test.ts\nimport { describe, it, expect, beforeAll, afterAll } from \"bun:test\";\n\ndescribe(\"Math operations\", () => {\n  it(\"adds two numbers\", () => {\n    expect(1 + 1).toBe(2);\n  });\n\n  it(\"subtracts two numbers\", () => {\n    expect(5 - 3).toBe(2);\n  });\n});\n```\n\n### 6.2 Running Tests\n\n```bash\n# Run all tests\nbun test\n\n# Run specific file\nbun test math.test.ts\n\n# Run matching pattern\nbun test --grep \"adds\"\n\n# Watch mode\nbun test --watch\n\n# With coverage\nbun test --coverage\n\n# Timeout\nbun test --timeout 5000\n```\n\n### 6.3 Matchers\n\n```typescript\nimport { expect, test } from \"bun:test\";\n\ntest(\"matchers\", () => {\n  // Equality\n  expect(1).toBe(1);\n  expect({ a: 1 }).toEqual({ a: 1 });\n  expect([1, 2]).toContain(1);\n\n  // Comparisons\n  expect(10).toBeGreaterThan(5);\n  expect(5).toBeLessThanOrEqual(5);\n\n  // Truthiness\n  expect(true).toBeTruthy();\n  expect(null).toBeNull();\n  expect(undefined).toBeUndefined();\n\n  // Strings\n  expect(\"hello\").toMatch(/ell/);\n  expect(\"hello\").toContain(\"ell\");\n\n  // Arrays\n  expect([1, 2, 3]).toHaveLength(3);\n\n  // Exceptions\n  expect(() => {\n    throw new Error(\"fail\");\n  }).toThrow(\"fail\");\n\n  // Async\n  await expect(Promise.resolve(1)).resolves.toBe(1);\n  await expect(Promise.reject(\"err\")).rejects.toBe(\"err\");\n});\n```\n\n### 6.4 Mocking\n\n```typescript\nimport { mock, spyOn } from \"bun:test\";\n\n// Mock function\nconst mockFn = mock((x: number) => x * 2);\nmockFn(5);\nexpect(mockFn).toHaveBeenCalled();\nexpect(mockFn).toHaveBeenCalledWith(5);\nexpect(mockFn.mock.results[0].value).toBe(10);\n\n// Spy on method\nconst obj = {\n  method: () => \"original\",\n};\nconst spy = spyOn(obj, \"method\").mockReturnValue(\"mocked\");\nexpect(obj.method()).toBe(\"mocked\");\nexpect(spy).toHaveBeenCalled();\n```\n\n---\n\n## 7. Bundling\n\n### 7.1 Basic Build\n\n```bash\n# Bundle for production\nbun build ./src/index.ts --outdir ./dist\n\n# With options\nbun build ./src/index.ts \\\n  --outdir ./dist \\\n  --target browser \\\n  --minify \\\n  --sourcemap\n```\n\n### 7.2 Build API\n\n```typescript\nconst result = await Bun.build({\n  entrypoints: [\"./src/index.ts\"],\n  outdir: \"./dist\",\n  target: \"browser\", // or \"bun\", \"node\"\n  minify: true,\n  sourcemap: \"external\",\n  splitting: true,\n  format: \"esm\",\n\n  // External packages (not bundled)\n  external: [\"react\", \"react-dom\"],\n\n  // Define globals\n  define: {\n    \"process.env.NODE_ENV\": JSON.stringify(\"production\"),\n  },\n\n  // Naming\n  naming: {\n    entry: \"[name].[hash].js\",\n    chunk: \"chunks/[name].[hash].js\",\n    asset: \"assets/[name].[hash][ext]\",\n  },\n});\n\nif (!result.success) {\n  console.error(result.logs);\n}\n```\n\n### 7.3 Compile to Executable\n\n```bash\n# Create standalone executable\nbun build ./src/cli.ts --compile --outfile myapp\n\n# Cross-compile\nbun build ./src/cli.ts --compile --target=bun-linux-x64 --outfile myapp-linux\nbun build ./src/cli.ts --compile --target=bun-darwin-arm64 --outfile myapp-mac\n\n# With embedded assets\nbun build ./src/cli.ts --compile --outfile myapp --embed ./assets\n```\n\n---\n\n## 8. Migration from Node.js\n\n### 8.1 Compatibility\n\n```typescript\n// Most Node.js APIs work out of the box\nimport fs from \"fs\";\nimport path from \"path\";\nimport crypto from \"crypto\";\n\n// process is global\nconsole.log(process.cwd());\nconsole.log(process.env.HOME);\n\n// Buffer is global\nconst buf = Buffer.from(\"hello\");\n\n// __dirname and __filename work\nconsole.log(__dirname);\nconsole.log(__filename);\n```\n\n### 8.2 Common Migration Steps\n\n```bash\n# 1. Install Bun\ncurl -fsSL https://bun.sh/install | bash\n\n# 2. Replace package manager\nrm -rf node_modules package-lock.json\nbun install\n\n# 3. Update scripts in package.json\n# \"start\": \"node index.js\" → \"start\": \"bun run index.ts\"\n# \"test\": \"jest\" → \"test\": \"bun test\"\n\n# 4. Add Bun types\nbun add -d @types/bun\n```\n\n### 8.3 Differences from Node.js\n\n```typescript\n// ❌ Node.js specific (may not work)\nrequire(\"module\")             // Use import instead\nrequire.resolve(\"pkg\")        // Use import.meta.resolve\n__non_webpack_require__       // Not supported\n\n// ✅ Bun equivalents\nimport pkg from \"pkg\";\nconst resolved = import.meta.resolve(\"pkg\");\nBun.resolveSync(\"pkg\", process.cwd());\n\n// ❌ These globals differ\nprocess.hrtime()              // Use Bun.nanoseconds()\nsetImmediate()                // Use queueMicrotask()\n\n// ✅ Bun-specific features\nconst file = Bun.file(\"./data.txt\");  // Fast file API\nBun.serve({ port: 3000, fetch: ... }); // Fast HTTP server\nBun.password.hash(password);           // Built-in hashing\n```\n\n---\n\n## 9. Performance Tips\n\n### 9.1 Use Bun-native APIs\n\n```typescript\n// Slow (Node.js compat)\nimport fs from \"fs/promises\";\nconst content = await fs.readFile(\"./data.txt\", \"utf-8\");\n\n// Fast (Bun-native)\nconst file = Bun.file(\"./data.txt\");\nconst content = await file.text();\n```\n\n### 9.2 Use Bun.serve for HTTP\n\n```typescript\n// Don't: Express/Fastify (overhead)\nimport express from \"express\";\nconst app = express();\n\n// Do: Bun.serve (native, 4-10x faster)\nBun.serve({\n  fetch(req) {\n    return new Response(\"Hello!\");\n  },\n});\n\n// Or use Elysia (Bun-optimized framework)\nimport { Elysia } from \"elysia\";\nnew Elysia().get(\"/\", () => \"Hello!\").listen(3000);\n```\n\n### 9.3 Bundle for Production\n\n```bash\n# Always bundle and minify for production\nbun build ./src/index.ts --outdir ./dist --minify --target node\n\n# Then run the bundle\nbun run ./dist/index.js\n```\n\n---\n\n## Quick Reference\n\n| Task         | Command                                    |\n| :----------- | :----------------------------------------- |\n| Init project | `bun init`                                 |\n| Install deps | `bun install`                              |\n| Add package  | `bun add <pkg>`                            |\n| Run script   | `bun run <script>`                         |\n| Run file     | `bun run file.ts`                          |\n| Watch mode   | `bun --watch run file.ts`                  |\n| Run tests    | `bun test`                                 |\n| Build        | `bun build ./src/index.ts --outdir ./dist` |\n| Execute pkg  | `bunx <pkg>`                               |\n\n---\n\n## Resources\n\n- [Bun Documentation](https://bun.sh/docs)\n- [Bun GitHub](https://github.com/oven-sh/bun)\n- [Elysia Framework](https://elysiajs.com/)\n- [Bun Discord](https://bun.sh/discord)\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["bun","development","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-bun-development","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/bun-development","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 35034 github stars · SKILL.md body (14,205 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-25T12:50:31.772Z","embedding":null,"createdAt":"2026-04-18T20:29:34.643Z","updatedAt":"2026-04-25T12:50:31.772Z","lastSeenAt":"2026-04-25T12:50:31.772Z","tsv":"'-10':1451 '-100':133 '-8':1417 '/api/users':675 '/assets':1224 '/bun':17,36,106 '/data.json':600,631 '/data.txt':1377,1415,1425 '/dist':247,1098,1105,1121,1493 '/dist/index.js':1503 '/ell':998 '/index.ts':245 '/install':90,1286 '/install.ps1':98 '/output.txt':626 '/oven-sh/bun).':20,39 '/src/cli.ts':1181,1190,1203,1219 '/src/index.ts':1096,1103,1119,1491 '/user/repo.git':375 '0':1060 '1':78,679,821,898,899,961,963,966,969,971,974,1005,1022,1024,1279 '1.0.0':224 '1.1':81 '1.2':120 '10':132,977,1063 '100ms':129 '12':873 '18.2.0':355 '2':160,683,901,910,972,1006,1048,1288 '2.1':163 '2.2':215 '2.3':257 '25ms':128 '3':300,908,1007,1009,1299 '3.1':303 '3.2':376 '3.3':408 '3.4':447 '3000':504,562,658,716,1383,1477 '4':476,1316,1450 '4.1':479 '4.2':522 '4.3':543 '4.9':436 '404':692 '5':585,907,979,981,983,1050,1057 '5.0.0':256 '5.1':590 '5.2':649 '5.3':708 '5.4':757 '5.5':835 '500':701,734 '5000':947 '6':874 '6.1':876 '6.2':911 '6.3':948 '6.4':1031 '7':1085 '7.1':1087 '7.2':1110 '7.3':1171 '8':1225 '8.1':1229 '8.2':1274 '8.3':1324 '9':1394 '9.1':1397 '9.2':1430 '9.3':1478 'access':552 'add':315,318,323,329,336,345,353,357,361,367,371,894,932,1317,1321,1516,1519 'afteral':886 'algorithm':863,870 'alia':334 'alic':681,803,817,823 'alice@example.com':804,825 'allowimportingtsextens':274 'allowj':294 'allowsyntheticdefaultimport':290 'allus':829 'alway':1483 'api':212,214,589,1112,1234,1380,1402 'apikey':556 'app':188,190,196,198,204,206,426,429,1445 'argument':499 'arm64':1209 'array':1003 'asset':1162,1163,1216 'async':1018 'auto':527 'auto-restart':526 'autoincr':784 'automat':551 'await':603,607,611,624,629,642,848,855,867,1019,1025,1116,1413,1428 'bar':634 'baselin':136 'bash':83,91,167,306,379,412,449,482,525,572,914,1090,1175,1278,1287,1482 'basic':480,877,1088 'bcrypt':871 'bcrypthash':866 'beforeal':885 'binari':415,453 'bob':685 'box':1239 'brew':101,107 'browser':1107,1123 'buf':1263 'buffer':610,1259 'buffer.from':1264 'build':242,244,487,513,521,1089,1095,1102,1111,1180,1189,1202,1218,1490 'built':67,148,155,587,1391 'built-in':66,147,154,586,1390 'bun':2,10,21,29,54,59,64,75,109,116,118,122,124,170,180,183,191,199,207,221,231,236,240,243,260,298,310,313,317,322,328,335,344,352,356,360,366,370,382,387,391,396,406,446,463,471,489,494,500,508,511,518,520,532,539,578,628,764,888,918,923,929,935,940,944,955,1038,1094,1101,1125,1179,1188,1194,1201,1207,1217,1281,1297,1308,1314,1318,1320,1348,1371,1400,1420,1465,1489,1501,1510,1514,1518,1522 'bun-darwin-arm64':1206 'bun-develop':1 'bun-linux-x64':1193 'bun-nat':1399,1419 'bun-optim':259,1464 'bun-specif':74,1370 'bun-typ':297 'bun.build':1117 'bun.env.api':557 'bun.env.port':561 'bun.file':593,599,1376,1424 'bun.lockb':450 'bun.nanoseconds':1366 'bun.password.hash':849,868,1388 'bun.password.verify':856 'bun.resolvesync':1358 'bun.serve':652,656,714,1381,1432,1448,1454 'bun.sh':89,97,1285 'bun.sh/install':88,1284 'bun.sh/install.ps1':96 'bun.sql':759 'bun.write':625,630 'bundl':1086,1091,1138,1479,1484,1500 'bundler':70,153,271 'bunx':249,409,416,419,422,433,442 'byte':617 'c':94 'chang':531 'check':404 'chunk':644,648,1157,1158 'client':739,755 'close':752 'code':478 'command':1507 'common':1275 'comparison':975 'compat':567,1230,1406 'compil':1172,1182,1187,1191,1204,1220 'compileropt':263 'composit':278 'connect':740 'console.error':1169 'console.log':615,618,647,702,738,746,754,818,859,1255,1257,1270,1272 'const':555,559,568,597,601,605,609,638,643,654,661,712,766,793,806,814,828,841,846,853,865,1042,1067,1071,1114,1262,1354,1374,1411,1422,1426,1444 'content':1412,1427 'cost':872 'coverag':939,942 'cowsay':443 'creat':164,172,181,184,192,200,208,424,466,771,774,1176 'create-react-app':423 'cross':1186 'cross-compil':1185 'crypto':1249,1251 'curl':86,1282 'd':324,330,1322 'darwin':1208 'databas':762,769 'db':767 'db.prepare':795,808 'db.query':830 'db.run':773 'dburl':569 'debug':462 'defin':1144,1146 'dep':1513 'depend':316,321,327,333,340 'describ':882,890 'dev':230,326,332,510,519 'devdepend':251 'develop':3,7,22,26,61 'differ':1325,1363 'direct':485 'dirnam':1266,1271 'disconnect':756 'dom':1143 'downleveliter':282 'echo':750 'ell':1002 'elysia':209,213,1463,1469,1471,1473 'email':789,800,824 'emb':1223 'embed':1215 'entri':1153 'entrypoint':1118 'env':547,576,580,1148 'env-fil':579 'env.production':582 'environ':544,553 'equal':959 'equival':411,1349 'err':1028,1030 'error':693,694,698,1014 'error.message':699 'esbuild':159 'eslint':250 'esm':1134 'esnext':265,267,269 'exampl':182 'except':1010 'execut':413,481,1174,1178 'exist':469,778 'expect':884,897,906,952,960,964,970,976,980,985,988,991,995,999,1004,1011,1020,1026,1051,1054,1058,1078,1082 'express':319,1441,1443,1446 'express/fastify':1438 'ext':1166 'extern':150,157,1130,1135,1139 'fail':732,1015,1017 'fast':4,23,1378,1385,1418 'faster':135,455,1453 'featur':123,1373 'fetch':659,717,1384,1455 'file':530,548,577,581,591,596,598,613,623,637,922,1375,1379,1423 'file.arraybuffer':612 'file.json':608 'file.size':616 'file.stream':640 'file.text':604,1429 'file.type':619 'filenam':1268,1273 'foo':633 'forc':273 'forceconsistentcasinginfilenam':292 'form':515 'format':1133 'found':690 'framework':1467 'frozen':474 'frozen-lockfil':473 'fs':1241,1243,1408 'fs.readfile':1414 'fs/promises':1410 'fssl':87,1283 'function':1041 'g':115 'generat':458 'get':79,1474 'git':365,372 'github':368 'github.com':19,38,374 'github.com/oven-sh/bun).':18,37 'github.com/user/repo.git':373 'global':1145,1254,1261,1362 'grep':931 'hash':837,839,847,858,1155,1160,1165,1393 'hello':444,627,671,996,1000,1265,1460,1475 'homebrew':100 'hot':537,540 'http':650,1386,1434 'id':678,682,780,820 'iex':99 'ignor':402 'import':761,881,951,1034,1240,1244,1248,1337,1350,1407,1440,1468 'import.meta.resolve':1342,1356 'index.js':496,1306 'index.ts':175,226,234,238,491,535,584,1310 'info':614 'init':171,421,1508,1511 'initi':168 'insert':792,794,796 'insert.run':802 'inspir':12,31 'instal':82,108,114,131,304,307,311,349,441,464,472,1280,1298,1512,1515 'instead':1338 'integ':781 'irm':95 'issu':77 'isvalid':854,860 'javascript':493 'javascript/typescript':6,25 'jest':151,1312 'js':1156,1161 'js/ts':51 'json':217,262,606 'json.stringify':632,1149 'jsx':141,286,289 'key':558,783 'larg':636 'latest':253,359,398,401 'lib':264 'lint':248 'linux':85,1195,1200 'listen':1476 'load':550 'localhost':706 'lockfil':448,454,460,470,475 'lodash':346,384,393 'mac':1213 'maco':84 'manag':302,1291 'match':927 'matcher':949,958 'math':891 'math.test.ts':880,925 'may':1331 'messag':743,745,748,751 'method':1066,1069,1075 'migrat':55,1226,1276 'mime':620 'minifi':1108,1127,1486,1494 'mock':1032,1035,1040,1044,1077,1081 'mockfn':1043,1049,1052,1055 'mockfn.mock.results':1059 'mockreturnvalu':1076 'mode':524,934 'modern':5,24 'modul':225,228,266,1295,1335 'moduledetect':272 'moduleresolut':270 'my-api':210 'my-app':186,194,202,427 'my-bun-project':219 'myapp':1184,1199,1212,1222 'myapp-linux':1198 'myapp-mac':1211 'mydb.sqlite':770 'name':218,680,684,785,799,813,822,1151,1152,1154,1159,1164 'nativ':138,142,1401,1421,1449 'need':112 'new':50,165,663,669,687,696,729,768,1013,1458,1472 'next':193,363 'next.js':197 'node':1126,1294,1305,1496 'node.js':57,125,566,1228,1233,1327,1329,1405 'noemit':276 'non':1343 'npm':110,113 'npx':410 'null':788,989 'number':896,905,1046 'obj':1068,1074 'obj.method':1079 'open':736 'oper':892 'optim':60,261,1466 'option':337,339,864,1100 'origin':1070 'outdat':405,407 'outdir':246,1097,1104,1120,1492 'outfil':1183,1197,1210,1221 'oven':15,34,104 'oven-sh':14,33,103 'overhead':1439 'p':434 'packag':130,301,305,381,386,414,1136,1290,1517 'package-lock.json':1296 'package.json':173,216,309,506,1303 'pars':456 'password':836,840,842,850,852,857,869,1389 'path':1245,1247 'pattern':928 'peerdepend':254 'perform':1395 'pkg':338,1340,1351,1353,1357,1359 'port':503,560,657,715,1382 'powershel':93 'prettier':417 'primari':782 'process':1252 'process.cwd':1256,1360 'process.env':565 'process.env.database':570 'process.env.home':1258 'process.env.node':1147 'process.hrtime':1364 'product':1093,1150,1481,1488 'project':52,161,166,169,222,1509 'promise.reject':1027 'promise.resolve':1021 'queri':805,807,826 'query.get':816 'queuemicrotask':1369 'quick':1504 'rang':403 'react':185,189,288,354,358,362,425,1140,1142 'react-dom':1141 'react-jsx':287 'read':595 'reader':639,646 'readme.md':176 'receiv':747 'refer':1505 'registri':343,347 'registry.npmmirror.com':348 'regular':320 'rejects.tobe':1029 'reload':538 'remov':377,380,383 'replac':1289 'req':718,725,1456 'request':660 'request.url':665 'requir':139,143,1334,1345 'require.resolve':1339 'resolv':1355 'resolves.tobe':1023 'respons':670,688,697,730,1459 'response.json':677 'restart':528 'result':1115 'result.logs':1170 'result.success':1168 'return':668,676,686,695,726,728,1457 'rf':1293 'rm':1292 'run':232,237,439,477,483,490,492,495,497,501,505,509,512,534,541,573,583,704,912,915,920,926,1309,1498,1502,1520,1523 'runner':72,146 'runtim':11,30 'script':229,507,517,1301,1521 'secret':845 'select':809,831 'server':651,655,703,710,713,719,1387 'server.port':707 'server.ts':502,542 'server.upgrade':724 'setimmedi':1367 'setup':162 'sh':16,35,105 'short':514 'skill':44,47 'skill-bun-development' 'skiplibcheck':284 'slow':1404 'source-sickn33' 'sourcemap':1109,1129 'specif':76,178,342,350,395,431,575,921,1330,1372 'speed':62 'spi':1064,1072,1083 'split':1131 'spyon':1036,1073 'sqlite':758,765 'standalon':1177 'start':49,80,235,1304,1307 'startup':126 'status':691,700,733 'step':488,1277 'stream':635 'strict':280 'string':994 'subtract':903 'super':844 'super-secret':843 'support':1347 'system':592 'tabl':772,775 'tap':102 'target':268,1106,1122,1192,1205,1495 'task':1506 'templat':179 'test':71,145,239,241,875,878,889,913,917,919,924,930,936,941,945,953,956,957,1039,1311,1313,1315 'text':459,602,786,790 'throw':1012 'time':127 'timeout':943,946 'tip':1396 'tobe':900,909,962,1062,1080 'tobegreaterthan':978 'tobelessthanorequ':982 'tobenul':990 'tobetruthi':987 'tobeundefin':993 'tocontain':973,1001 'toequal':967 'tohavebeencal':1053,1084 'tohavebeencalledwith':1056 'tohavelength':1008 'tomatch':997 'tool':69 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'tothrow':1016 'transpil':140,144 'troubleshoot':73 'true':275,277,279,281,283,285,291,293,295,861,986,1128,1132 'trust':468 'truthi':984 'tsc':420,437 'tsconfig.json':174,258 'two':895,904 'type':227,296,299,621,1319 'types/bun':252,1323 'types/node':331 'typescript':137,255,325,435,484,546,594,653,711,760,838,879,950,1033,1113,1231,1328,1403,1435 'undefin':992 'uniqu':791 'updat':378,385,388,389,392,394,397,399,1300 'upgrad':117,119,720,727,731 'url':571,662,664 'url.pathname':667,674 'use':42,45,63,564,1336,1341,1365,1368,1398,1431,1462 'user':779,798,811,815,819,833 'user/repo':369 'utf':1416 'valu':801,1061 'variabl':545,554 'verifi':851 'version':223,351,432,438 'vite':201,205 'vitest':152 'watch':233,523,533,933,937 'webpack':158,1344 'websocket':709,722,735 'welcom':742 'window':92 'without':440 'work':1235,1269,1333 'world':672 'write':418,622 'ws':737,744,753 'ws.send':741,749 'x':134,1045,1047,1452 'x64':1196 'yarn':465 'yarn.lock':467","prices":[{"id":"ff2ba567-2d4d-430e-9af4-d74fd402b75d","listingId":"64cda1c0-975a-44db-ac6f-e1c1b549b57c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:29:34.643Z"}],"sources":[{"listingId":"64cda1c0-975a-44db-ac6f-e1c1b549b57c","source":"github","sourceId":"sickn33/antigravity-awesome-skills/bun-development","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bun-development","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:50.407Z","lastSeenAt":"2026-04-25T12:50:31.772Z"},{"listingId":"64cda1c0-975a-44db-ac6f-e1c1b549b57c","source":"skills_sh","sourceId":"sickn33/antigravity-awesome-skills/bun-development","sourceUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/bun-development","isPrimary":true,"firstSeenAt":"2026-04-18T20:29:34.643Z","lastSeenAt":"2026-04-25T12:40:22.207Z"}],"details":{"listingId":"64cda1c0-975a-44db-ac6f-e1c1b549b57c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"bun-development","github":{"repo":"sickn33/antigravity-awesome-skills","stars":35034,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-25T06:33:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"b1391fd9ab54a976867dff1418d6ef90888bb4da","skill_md_path":"skills/bun-development/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bun-development"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"bun-development","description":"Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun)."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/bun-development"},"updatedAt":"2026-04-25T12:50:31.772Z"}}