By aphrody-code
Bun-native Claude Code plugin co-located with the n2b migration tool (Rust + TS). Ships 23 agents (incl. bun-runner, bun-explorer, bun-dreamer, bun-deployer, bun-reviewer, n2b), 9 skills (analyze, deploy, dream, gemini-cli-cli, gemini-cli-jsx, green-gate, n2b, regen-baseline, run), session/memory hooks, autonomous output-style, and the n2b binary itself (cargo build --release -p n2b). Reusable across any repo — paths via ${CLAUDE_PLUGIN_ROOT}, project root via git, n2b binary via $PATH.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Run memory consolidation (dream) — organize learnings from recent sessions
Remove specific entries from Bun agent memory
Read or search the Bun agent's persistent memory files
Run n2b audit and drive the Node.js → Bun-native migration on the current project.
Execute a complex task autonomously using the Bun-powered agent
Use when writing, reviewing, or migrating code that uses Bun's native APIs — the `Bun` global and `bun:*` built-in modules (Bun.serve, Bun.file, Bun.write, Bun.spawn, Bun.$, Bun.SQL, Bun.RedisClient, Bun.password, Bun.Glob, Bun.Cookie, Bun.FileSystemRouter, HTMLRewriter, bun:sqlite, bun:ffi, bun:test, bun:jsc, bun:crypto). Invoke for any task involving Bun-specific server APIs, FFI, embedded DBs, shell scripting with `$`, or Bun-idiomatic replacements of Node stdlib usage. Knows the canonical patterns from `docs/bun/runtime/*.mdx`.
Deployment agent. Handles build verification, systemd service management, and production deployment. Use for deploying applications, checking deployment status, rolling back, or managing services.
Memory consolidation agent (Dream). Scans session transcripts and updates persistent memory files. Use when the user asks to consolidate memories, run a dream, organize learnings, or clean up memory files.
Fast codebase exploration agent. Use for deep research across large codebases — finding patterns, tracing dependencies, analyzing architecture, searching for usage, understanding data flow, and answering structural questions.
Use when working on Bun's native / system-level surface — the toolchain (runtime TS/JSX transpile, module resolution, hot reload, watch, REPL, `bunfig.toml`, env vars), the bundler (`bun build`/`Bun.build`, plugins, macros, bytecode, standalone executables, HTML imports), the package manager (`bun install`, workspaces, catalogs, isolated installs, lockfile, overrides, scopes, lifecycle, bunx), the test runner (`bun test`, `bun:test`, snapshots, mocks, DOM, coverage), **FFI** (`bun:ffi`, `dlopen`, inline C via `cc()`, Rust/C/C++/Zig cdylib interop, Node-API), **binary data** (`Buffer`, `ArrayBuffer`, `TypedArray`, `DataView`, `Uint8Array`, zero-copy views, `Bun.allocUnsafe`, `Bun.concatArrayBuffers`), and **file system** (`Bun.file`, `Bun.write`, `BunFile`, lazy I/O, streaming, `Bun.stdin`/`stdout`/`stderr`, `Bun.Glob`, `bun:sqlite` file-backed DB). Invoke for build/transpile/install/test config, FFI/Rust bindings, binary-data manipulation, filesystem I/O, or shell/spawn tasks — NOT for network protocols (bun-web-api) or misc Bun APIs (bun-api).
Analyze project health, dependencies, code quality, and structure. TRIGGER when: user asks about project status, health, dependency audit, dead code, bundle size, outdated packages, architecture overview, or says 'analyze', 'audit', 'health check'.
Deploy application to production. TRIGGER when: user says 'deploy', 'ship', 'push to prod', 'release', 'mise en prod', or asks to restart a service. Handles build verification, systemd services, and deployment validation.
Run memory consolidation (dream). TRIGGER when: user asks to consolidate memories, clean up learnings, organize memory files, run a dream, or says 'dream'. Also proactively triggered after long productive sessions.
Migre la chaîne CLI de gemini-cli (bin/scripts/lockfile/sandbox docker/SEA) vers Bun — replace npm/cross-env/tsx/vitest, configure bin via bun build --compile, gère workspaces + Artifact Registry
Migre les 414 .tsx Ink/React de gemini-cli vers le runtime JSX natif de Bun — supprime esbuild/vitest-jsx, configure tsconfig + bunfig, gère les pièges Ink (raw mode TTY, useStdin, alt-screen)
n2b analyses a Node.js project and reports (or automatically fixes)
incompatibilities with the Bun runtime. It covers:
npm / npx / pnpm / yarn -> bun / bunx in package.json
scripts, GitHub Actions workflows, shell scripts, and Dockerfiles.node: prefix on builtin imports (fs, path, crypto, ...).dotenv, node-fetch,
uuid, better-sqlite3, rimraf, ...).fs.readFileSync -> Bun.file().text(),
fileURLToPath(import.meta.url) -> import.meta.dir, node shebang ->
bun, actions/setup-node -> oven-sh/setup-bun@v2).n2b/
├── schema/v2.json <- single source of truth for the JSON contract
├── crates/
│ ├── n2b-core/ <- orchestrator
│ ├── n2b-types/ <- data models (Rust)
│ ├── n2b-rules/ <- rules
│ ├── n2b-scanners/ <- AST / file scanners
│ ├── n2b-report/ <- SARIF/JSON render engines
│ ├── n2b-ai/ <- AI / LLM integration
│ ├── n2b-github/ <- GitHub integration
│ ├── n2b-cli/ <- `n2b` binary
│ └── n2b-native/ <- cdylib FFI
├── packages/
│ ├── n2b/ <- main TS wrapper (cli)
│ ├── n2b-types/ <- generated TypeScript types
│ ├── n2b-plugin/ <- native Bun plugin
│ └── n2b-shims/ <- native Bun shims
├── turbo.json <- global Turborepo configuration
├── scripts/generate-schema-types.ts <- Rust + TS codegen
└── tests/
├── fixture/ <- test project
├── rpb-dashboard-baseline/ <- snapshots
├── snapshots/baseline/
└── compare-baseline.sh
# Rust CLI binary
cargo build --release -p n2b
sudo install -m755 target/release/n2b /usr/local/bin/n2b
# TypeScript facade
bun install
# Dry-run audit (exit 1 if there are findings)
n2b .
# Apply the safe fixes
n2b . --fix
# Aggressive migration (rewrites Node APIs -> Bun)
n2b . --aggressive
# Full migration (--fix --aggressive + side effects: bun install, removes pnpm-lock.yaml, etc.)
n2b . --migrate
# Reports
n2b . --report=text # default, colourised
n2b . --report=json # schema v2 (see schema/v2.json)
n2b . --report=jsonl # streamable
n2b . --report=markdown
n2b . --report=sarif # GitHub Code Scanning
# Exclusions
n2b . --ignore="**/legacy/**" --ignore="**/fixtures/**"
@aphrody/n2b-coreimport { scan, rules } from "@aphrody/n2b-core";
const report = await scan(".", { mode: "check", quiet: true });
console.log(`${report.findings_total} finding(s) in ${report.files_scanned} file(s)`);
import { n2bPlugin } from "@aphrody/n2b-plugin";
Bun.plugin(n2bPlugin({ onFindings: "warn" }));
// or "error" to fail builds that have findings
import { env, fs, path, shell } from "@aphrody/n2b-shims";
const DB = env.str("DATABASE_URL", { required: true });
const port = env.int("PORT", { default: 3000 });
const config = await fs.readJson<Config>(path.relativeTo(import.meta, "config.json"));
const result = await shell.run("git rev-parse HEAD");
| Category | IDs | --fix | --aggressive |
|---|---|---|---|
CLI (npm/pnpm/yarn/npx) | cli/* | yes | yes |
node: prefix | imports/node-prefix | yes | yes |
| Shebang | shebang/node | yes | yes |
| GitHub Actions | ci/* | yes | yes |
package.json (scripts, engines, deps) | pkg/* | partial | partial |
| Rival lockfiles | lock/rival | report | report |
| Package replacements | imports/bun-native | report | yes (bun: / node: specifiers) |
| Node APIs -> Bun | api/* | report | yes |
List the rules: n2b rules or n2b rules --report=json.
# Full test suite
turbo run test # full TS + Rust test via Turbo
cargo test --workspace # Rust tests (schema + contract + proptest)
bash tests/compare-baseline.sh # CLI-as-API baseline (13 assertions)
# Quality (lint & format)
turbo run //#quality # global oxlint, oxfmt, taplo
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
turbo run typecheck # TypeScript type-checking
# Regenerate types from the schema
bun run codegen:schema
npx claudepluginhub aphrody-code/rs-bun --plugin bun-agentExpert guidance for Next.js Cache Components and Partial Prerendering (PPR). Proactively activates in projects with cacheComponents: true, providing patterns for 'use cache' directive, cacheLife(), cacheTag(), cache invalidation, and parameter permutation rendering.
Connect Rust and Bun end-to-end: bun:ffi bindings, napi-rs native addons, the Rust↔Bun reference, and crate→Bun-package workflows.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Comprehensive startup business analysis with market sizing (TAM/SAM/SOM), financial modeling, team planning, and strategic research
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications