npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@shuyhere/bb-agent

v0.0.13

Published

BB-Agent — a Rust-native AI coding agent for the terminal

Downloads

1,234

Readme

BB-Agent

BB-Agent title figure

BB means Bridge Baby in Death Stranding. I named this project that way because while building it, I was also enjoying Death Stranding and loved the idea of connecting everyone together.

A Rust-native AI coding agent for the terminal — featuring a fullscreen TUI, multi-provider support, tool use, session persistence, branching, extensions, and skills.

Install

npm install -g @shuyhere/bb-agent

1. Install with npm

npm install downloads a small wrapper package first, then fetches the matching native BB-Agent binary from the GitHub release for your platform.

What to expect:

  • first install can take a bit because npm downloads and verifies the native binary
  • the installer now prints progress and retry information while downloading
  • after install, run bb

Current GitHub release binaries are published for:

  • Linux x86_64
  • macOS x86_64
  • macOS arm64 (Apple Silicon)
  • Windows x86_64

If no matching prebuilt binary is available, or the download fails, npm install will print source-build instructions instead.

2. Build from source for development

Use this if you want to develop BB-Agent itself, work on the Rust codebase, or install directly without the npm downloader.

Requires Rust. Install Rust first if you don't have it:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

Then build and install BB-Agent from source:

git clone https://github.com/shuyhere/bb-agent.git
cd bb-agent
cargo install --path crates/cli

This compiles the bb binary and installs it to ~/.cargo/bin/bb (which Rust adds to your PATH).

Getting Started

1. Start the TUI

bb

That's the recommended way to get started.

2. Log in with /login

Inside the TUI, run:

/login

This opens the provider picker and auth flow directly in the fullscreen UI.

If you prefer, you can also log in from a normal terminal:

bb login              # Interactive provider selection
bb login anthropic    # Login to Anthropic (OAuth)
bb login openai-codex # Login to OpenAI (OAuth)
bb login google       # Login to Google (API key)

Or set environment variables: ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, etc.

That's it! Run bb to launch the fullscreen interactive terminal UI. Type your prompt and press Enter.

More ways to use bb

bb                                    # Launch the fullscreen TUI
bb "Explain this codebase"            # TUI with an initial prompt
bb -p "What is 2+2?"                  # Print mode (non-interactive, pipe-friendly)
bb -c                                 # Continue your last session
bb -r                                 # Resume: pick from previous sessions
bb --model sonnet                     # Use a specific model
bb --model sonnet:high                # Model with extended thinking
bb --list-models                      # List all available models

Features

  • Fullscreen TUI — rich terminal interface with streaming output, markdown rendering, syntax highlighting
  • Multi-provider — Anthropic (Claude), OpenAI, Google (Gemini), Groq, xAI, OpenRouter, and custom OpenAI-compatible endpoints
  • Built-in toolsread, write, edit, bash, find, grep, ls, web_search, web_fetch, browser_fetch
  • Safety and yolo execution modes — default safety posture restricts built-in write and edit to the active workspace; yolo removes that guard
  • Session persistence — SQLite-backed sessions with branching, forking, and tree navigation
  • Extensions — JS/TS plugin system for custom tools, commands, and hooks
  • Skills — markdown-based instruction files that auto-load contextual knowledge
  • System prompt templates — save and switch between named prompt configurations
  • OAuth login — browser/device login for Anthropic, OpenAI, and GitHub Copilot

System Prompt Templates

Save prompt templates in ~/.bb-agent/system-prompts/ and switch between them:

bb --list-templates                   # List available templates
bb -t coding                          # Start with "coding" template
bb -t research                        # Start with "research" template
bb --system-prompt @path/to/file.md   # Load prompt from any file

Extensions & Skills

bb install npm:some-skill             # Install a global package
bb install --local ./my-skill         # Install project-local
bb list                               # List installed packages
bb update                             # Update packages

Configuration

BB-Agent uses layered configuration:

| File | Scope | |------|-------| | ~/.bb-agent/settings.json | Global settings | | <project>/.bb-agent/settings.json | Project settings (overrides global) | | ~/.bb-agent/AGENTS.md or AGENTS.md | System prompt additions | | ~/.bb-agent/system-prompts/<name>.md | Named prompt templates | | ~/.bb-agent/skills/ | Global skills | | ~/.bb-agent/extensions/ | Global extensions |

Example settings.json

{
  "execution_mode": "safety",
  "default_model": "claude-sonnet-4-20250514",
  "default_provider": "anthropic",
  "default_thinking": "medium",
  "execution_mode": "safety",
  "models": [
    {
      "id": "my-local-model",
      "provider": "ollama",
      "api": "openai",
      "base_url": "http://localhost:11434/v1",
      "context_window": 32000,
      "max_tokens": 4096
    }
  ]
}

Execution Modes

BB-Agent exposes the active permission posture in fullscreen and /session.

  • safety is the default. Built-in write and edit stay inside the current workspace, and bash commands use the safer approval/sandboxed posture.
  • yolo is the opt-in less-restrictive mode.

Example:

{
  "execution_mode": "yolo"
}

Keyboard Shortcuts

| Key | Action | |-----|--------| | Enter | Submit prompt | | Shift+Enter | Insert newline | | Esc | Clear input / cancel / exit prompt | | Ctrl+C | Exit | | Ctrl+P | Cycle models | | Ctrl+O | Open settings menu | | Ctrl+Shift+O | Expand/collapse tool calls | | / | Slash commands menu | | @ | File mention autocomplete |

Workspace Crates

| Crate | Description | |-------|-------------| | bb-core | Core agent, session, config, and runtime types | | bb-session | SQLite-backed session storage, branching, context building | | bb-tools | Built-in tool implementations | | bb-provider | Model/provider integrations and streaming | | bb-hooks | Hook event types for extensions | | bb-plugin-host | Plugin discovery and host runtime | | bb-tui | Terminal UI components and fullscreen experience | | bb-cli | The bb command-line application |

Troubleshooting

Terminal & Font Compatibility

BB-Agent uses Unicode glyphs and ANSI color in the fullscreen TUI. For the best visual experience, use a modern terminal and a Unicode-capable monospace font such as:

  • JetBrains Mono
  • SF Mono / Menlo
  • Fira Code
  • Cascadia Mono
  • Nerd Font variants of the above

If some symbols look broken, missing, or too narrow in your terminal:

  1. switch to a Unicode-capable monospace font
  2. make sure your terminal uses UTF-8
  3. enable BB-Agent compatibility mode

Compatibility mode uses safer ASCII-style fallback glyphs for spinner/status/tool markers:

BB_TUI_COMPAT=1 bb

Or set this in ~/.bb-agent/settings.json:

{
  "compatibility_mode": true
}

Documentation

Development

See the full Development Guide for detailed instructions.

git clone https://github.com/shuyhere/bb-agent.git
cd bb-agent
cargo install --path crates/cli      # Build + install to ~/.cargo/bin/bb
bb                                   # Run it

Dev cycle:

cargo run --bin bb                   # Run without installing
cargo test --workspace --release     # Run all 435 tests
cargo fmt --all                      # Format
cargo clippy --workspace             # Lint

License

MIT License