Skip to content

v0.13.0

Choose a tag to compare

@arminzou-agent arminzou-agent released this 23 Oct 05:01
8efd471

dotbrain 0.13.0 brings four more agent runtimes Hermes, OpenCode, Pi, and Cursor and reworks how dotbrain decides which runtimes a machine and a project get. It adds dotbrain detach to remove dotbrain from a runtime, and runtime profiles so global skills and subagents reach a second Claude Code or Codex home.

Upgrade

  1. Update the CLI and the plugin to 0.13.0 as described in Staying Current.
  2. Run dotbrain bootstrap, then dotbrain refresh --all.
  3. Read the breaking changes below, especially if your projects have no agents: line.

Breaking changes

  • Projects without agents: now follow the machine. A project with no agents: list in its project.yaml used to get Claude Code and Codex unconditionally. It now gets the runtimes set up on the machine where you run refresh: Claude Code and Codex when their CLI is on PATH; Hermes, OpenCode, Pi, and Cursor when dotbrain is set up for them. The same synced project.yaml can therefore wire different runtimes on different machines. To keep the old behavior, set agents: [claude, codex]. An explicit list is used exactly as written, and existing lists are never changed.
  • Refresh no longer prunes a project's agent workspace whose runtime is not selected. It leaves the folder and its links alone and warns that dotbrain will not link project skills there. Use dotbrain unwire to remove a checkout's wiring.
  • Typer 0.26 or newer is required. Typer 0.13 to 0.25 crash when rendering --help with current Click. Installs pinned to an older Typer must upgrade.

New runtimes

dotbrain now delivers its skills and session hooks to Hermes, OpenCode, Pi, and the Cursor CLI, alongside Claude Code and Codex. Each runtime's limits, set-up, update, and removal steps are in the getting-started guide. dotbrain ships no subagents for these runtimes; in run-execution they work as the lead.

First run sets up every working runtime

On a machine's first dotbrain bootstrap, dotbrain finds Hermes, OpenCode, Pi, and Cursor, checks that each one's command actually runs, and sets up the ones that do. In a terminal it lists them and asks once ([Y/n]); without a terminal (install scripts, agents, automation) it sets them up and tells you how to undo it. A runtime that is on PATH but does not run is skipped. Later runs never set up a newly installed runtime on their own; they print the dotbrain bootstrap --runtime <name> command for it. A second machine that clones your private home gets its own first run.

dotbrain detach

dotbrain detach --runtime <name|all> removes dotbrain's own machine-wide delivery from a runtime: the plugin or extension copy, global skill links, and Cursor's hook entries. For Claude Code and Codex it removes the global skill links and prints how to uninstall the marketplace plugin. Detaching opts that runtime out on this machine only; later bootstraps leave it alone until you run dotbrain bootstrap --runtime <name> again. "Detach" now means only this command; unwire removes a checkout's wiring.

Runtime profiles for global skills and subagents

skills/skills.yaml accepts profiles:, a list of extra Claude Code or Codex homes such as ~/.claude-work. Global skills and subagents link into each runtime's default home and every listed profile; a profile missing on a machine is skipped. Existing targets: entries keep working: one equal to the default is ignored, and a custom one is read as a profile with a notice to move it.

Safety

No machine-wide write or delete from bootstrap or detach lands inside a wired project checkout, including through a linked folder below a runtime's home. A refused destination is reported and the other runtimes continue.

Fixes

  • dotbrain refresh --all skips, instead of failing, projects whose checkout lives on another machine.
  • dotbrain doctor --all no longer expects runtime delivery for projects whose checkout is not on this machine.
  • dotbrain doctor no longer suggests deleting a duplicate skill inside Claude Code's synced account-skills folder; it names the account as the source to change.
  • dotbrain doctor in a project notes when the project declares a runtime that is not set up on this machine.

Changelog

⚠ BREAKING CHANGES

  • runtimes: Projects without agents now follow machine setup. Set agents: [claude, codex] to retain the previous runtime selection. Refresh also preserves undeclared workspaces instead of pruning them.

Features

  • agents: deliver global subagents to runtime profiles (#53) (60b05e1)
  • bootstrap: set up every working runtime on a machine's first run (#55) (a61215b)
  • cli: detach dotbrain's machine-wide delivery from a runtime (#54) (bd5df2d)
  • cursor: deliver skills and hooks to Cursor CLI (#46) (da024f4)
  • deliver skills and hooks to Hermes through a shared runtime description (#41) (d94c532)
  • deliver skills and hooks to OpenCode (#42) (0cda5d4)
  • pi: deliver dotbrain skills and hooks to Pi (#44) (900749c)
  • runtimes: follow machine setup for undeclared projects (#50) (a8e91cd)
  • skills: link global skills into runtime profiles (#52) (adcb5a4)

Bug Fixes

  • refresh: skip checkouts on another machine in --all (3de1f09)
  • housekeeping fixes for doctor, refresh, dependencies, and tests (#49) (d6c865c)
  • stop the hook tests opening console windows on Windows (#51) (64dc037)

Documentation

  • stop tying Hermes, OpenCode, and Pi to one operating system (479a8e9)

Full changelog: v0.12.0...v0.13.0