← Back to all sparks
B

btw

AI-ASSISTANTS
Velocity2.5

A Toolkit for Connecting R and Large Language Models

btw is turning into an agentic R harness that no longer needs you to be in R

llm toolingragentic workflowsdeveloper toolsskillsposit
Current state
btw assembles context about an R session — packages, documentation, files, data frames — and hands it to an LLM through ellmer, with btw_app() as a chat interface. Over the last year it has grown well past context assembly: LLMs can document, check, test and measure coverage of a package, read CLAUDE.md and AGENTS.md as project context, fetch skills from packages or GitHub, and inspect the source of any installed namespace. Much of this is now reachable from a terminal CLI rather than only from an R prompt.
Where it's heading
The direction is from describing a session to operating on it, and from inside R to outside it. Each release adds either a tool group that lets a model do something (document, check, test, cover; read namespace source; fetch skill resources) or a CLI command that removes the need to start R first. The 1.2.0 tool renaming — session becoming sessioninfo, search becoming cran, files_read_text_file becoming files_read — reads as the naming cleanup you do when you expect a lot more tools to follow.
Prediction
The CLI has been absorbing one tool family per release (skills, then pkg desc and pkg src) while the R-side tool groups stay ahead of it, so the next releases likely continue exposing existing tool groups as terminal commands rather than adding new capabilities.

Recent moves

  1. 10d ago

    btw 1.4.0 adds CLI commands for reading R package source

    The CLI direction set in 1.3.0 extended to code inspection: btw pkg src can list objects, get exact source or deparsed functions, inspect package-owned S3 and S4 methods, locate installations and search implementations, while btw pkg desc surfaces DESCRIPTION metadata. btw_app() also stops accepting model, prompt or tool changes mid-stream and keeps tool selection synchronized across model switches.

    View source ↗
  2. 1mo ago

    btw 1.3.0 makes skills fetchable from the terminal

    ⚡ SPARK

    The release that takes btw outside R. Three CLI commands discover and fetch skills from packages or GitHub repositories without an R session, and btw_app() gains provider switching that carries chat history, system prompt and tools across the change.

    View source ↗
  3. 4mo ago

    btw 1.2.1

    Config locations made consistent across skills, agents and btw.md discovery, with 1.2.0-installed skills still found for compatibility, plus base packages declared in the CLI launcher frontmatter. Cleanup after the previous release's reorganization.

    View source ↗
  4. 5mo ago

    btw 1.2.0 renames its tool groups ahead of expansion

    A breaking rename pass with deprecation warnings rather than removals: the session group becomes sessioninfo, search becomes cran, and the files tools shed their _text_file suffixes. Unglamorous, but this is the naming discipline a package adopts when it expects the tool list to keep growing — which it has, every release since.

    View source ↗
  5. 7mo ago

    btw 1.1.0 lets an LLM document, check and test an R package

    ⚡ SPARK

    The release where btw stops only describing the session and starts acting on it. A new pkg tool group gives models the ability to run package development workflows directly, and CLAUDE.md joins AGENTS.md as a recognised project context file.

    View source ↗