btw 1.3.0
New features
-
Added three new
btw skillsCLI commands for discovering and fetching skills without entering R:btw skills list <source>lists available skills from a package or GitHub repository (with--jsonoutput support);btw skills get <source> [names...]fetches one or more skills by name, or lists them when no names are given (use--allto fetch all);btw skills resource <source> <name> <paths...>fetches individual resource files bundled with a skill. When the source is a GitHub repository, local path information is omitted from the output since the temporary download directory is removed whenbtwexits. (#199) -
btw_app()gains amodel_choicesparameter for switching between AI providers and models from the status bar. Set to"auto"(default) to show namedbtw.mdclient configs when two or more are present,"btw_md"to always usebtw.mdconfigs,"provider"to browse the active provider's model list, or"none"to hide the selector. When switching providers, the chat history, system prompt, and tools are carried over to the new client (#196). -
The
btw_tool_skilltool now supports custom skill search directories via thebtw.skills.pathsR option orBTW_SKILLS_PATHSenvironment variable. When set, the value entirely replaces all user-level and project-level skill directories; package-bundled skills are always preserved. Multiple paths can be provided as a character vector (R option) or OS-native path-separated string (env var). Values are captured at tool-registration time, so custom directories set inbtw.mdsurvive afterbtw_client()returns (#193). -
Added
btw_tool_files_patch(), a new files tool that applies a structured diff-style patch envelope to make coordinated changes across multiple files in a single call. One patch can add, update, delete, and rename files atomically: all operations are validated before any file is written, so a partial failure leaves the working tree untouched (#190). -
The
btw infoCLI command group has been replaced by three focused top-level commands:btw system-info(platform and R session info),btw check-installed <pkgs>(check if packages are installed, exits 0 by default with--failfor non-zero exit on missing packages), andbtw installed-packages <pkgs>(show installed package versions).btw infois retained as a deprecated stub that prints migration guidance. All three commands support--jsonoutput with documented field shapes (#195). -
Added two new commands to the
btwCLI:btw appto launch abtw_app()session in the current working directory andbtw skills installto install skills from the terminal. -
btw skills install .installs skills from all project dependencies. In packages (directories with aDESCRIPTIONfile),ImportsandSuggestsare scanned; otherwiserenv::dependencies()is used as a fallback. The same behaviour is available in R viabtw_skill_install_project(). -
Added
btw docs topics <pkg>to thebtwCLI for discovering a package's help topics and vignettes. Use--only helpor--only vignettesto limit output to one section, or--jsonfor machine-readable output (#195). -
Added
btw helpto thebtwCLI, which prints ther-btw-cliskill — a usage guide designed for AI agents.
Bug fixes
-
btw_app()is now compatible with and requires shinychat v0.4.0. Per-block copy buttons and IDE action buttons (insert at cursor, insert in new file, run in console) are restored for R output blocks in the new React-based shinychat (#188). -
btw_tool_agent_subagent()now correctly uses the options from yourbtw.mdfile when called directly rather than throughbtw_client()orbtw_app()(#185).