Repository navigation
Releases: arminzou/dotbrain
Release list
v0.15.1
0.15.1 (2026-10-29)
Bug Fixes
- cli: keep the tracked-link warning for files under a link and number doctor progress uniquely (236e157)
- skills: use bounded completion waits for Codex workers (#79) (b8c5f32)
Performance Improvements
- cli: look up machine facts once per run in refresh, doctor and bootstrap (ef47138)
Documentation
v0.15.0
Packaged subagents become optional per project, global settings move into one file, and workers record their own results reliably on every runtime.
⚠ Breaking changes
| Before | After |
|---|---|
dotbrain agents list/link |
dotbrain subagents list/link (custom subagents only) |
| Packaged subagents always present (Claude Code, everywhere) | Listed per project in project.yaml packaged-subagents; delivered only to wired checkouts |
dotbrain:<role> in Claude Code |
dotbrain-<role> on Claude Code and Codex |
skills/skills.yaml, agents/agents.yaml, targets |
One config.yaml (version 4) with profiles, skills, subagents |
Upgrade: run dotbrain bootstrap once to migrate global settings (originals are backed up), then dotbrain refresh in each wired checkout to record and deliver its packaged subagents. Legacy targets for runtimes other than Claude Code and Codex are dropped with a report.
Highlights
- Optional packaged subagents. Each project lists the roles it wants (worker, researcher, reviewer, verifier); edit the list and refresh to opt out. Workflow skills now carry each role's contract, so they run with or without packaged subagents.
- Agent working folder.
wireandrefreshkeep.dotbrain-tmp/git-ignored in every checkout. Workers and reviewers write their comment files there, so results reach Beads intact on every runtime. - Workflow skills. Skills start from plain requests, curate retrospectives from work records and apply findings before work, and record acceptance evidence kinds and exemptions.
- Core skill evals run on Claude Code and Codex with Promptfoo.
Fixes
refreshwarns when global settings still needdotbrain bootstrap.bootstrapmigrates legacy global profile configuration.- Codex project skills move to
.agents/skills. - Windows: runtime CLIs installed as
.cmdare found. - Worker dispatch routes through run-execution on both runtimes.
- Test suites bound heavy checks and pytest worker concurrency; sync tests are stable.
For maintainers
The runtime delivery UAT is now a no-model, no-key container suite that checks install, discovery and hooks for all six runtimes with real binaries. See .github/RELEASING.md.
Changelog
⚠ BREAKING CHANGES
- Packaged Claude subagents now require a wired checkout. Run dotbrain refresh to deliver the roles selected in project.yaml under dotbrain- names. Global linking manages custom subagents only.
Features
- evals: run core skill evals on Claude Code and Codex with Promptfoo (#60) (9b51ad2)
- make packaged subagents optional per project (#69) (da610b1)
- skills: curate retrospectives from work records and use findings before work (#65) (7965b7a)
- skills: let workflow skills start from plain requests (#63) (4291008)
- skills: record acceptance evidence kinds and exemptions (62ac0bd)
- wiring: give agents an ignored .dotbrain-tmp folder for comment files (#73) (e5114af)
Bug Fixes
- bootstrap: migrate legacy global profile configuration (#66) (95c330c)
- codex: migrate project skills to .agents/skills (#62) (e3e2fc0)
- probe .cmd runtime CLIs on Windows and add an opt-in delivery UAT suite (#59) (949f71c)
- refresh: warn when global settings still need migration (e98d044)
- skills: keep static-only evidence exclusive (295903d)
- skills: route worker dispatch through run-execution on both runtimes (#64) (62c8567)
- stabilize sync tests and recover retro candidates (#67) (6f152da)
- tests: bound heavy checks and pytest worker concurrency (#70) (9a9ef4c)
v0.14.0
v0.13.0
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
- Update the CLI and the plugin to 0.13.0 as described in Staying Current.
- Run
dotbrain bootstrap, thendotbrain refresh --all. - 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 noagents:list in itsproject.yamlused to get Claude Code and Codex unconditionally. It now gets the runtimes set up on the machine where you runrefresh: Claude Code and Codex when their CLI is onPATH; Hermes, OpenCode, Pi, and Cursor when dotbrain is set up for them. The same syncedproject.yamlcan therefore wire different runtimes on different machines. To keep the old behavior, setagents: [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 unwireto remove a checkout's wiring. - Typer 0.26 or newer is required. Typer 0.13 to 0.25 crash when rendering
--helpwith 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 --allskips, instead of failing, projects whose checkout lives on another machine.dotbrain doctor --allno longer expects runtime delivery for projects whose checkout is not on this machine.dotbrain doctorno longer suggests deleting a duplicate skill inside Claude Code's synced account-skills folder; it names the account as the source to change.dotbrain doctorin 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
v0.12.0
0.12.0 (2026-10-22)
Features
- skills: define lead completion handling for worker results (0060c98)
Bug Fixes
- hooks: label sync hooks and respect Codex timeout limit (ff67d82)
- hooks: skip the session-end sync on /clear (134bf31)
- site: start the preview server without a reverse-DNS lookup (7b9357b)
- sync: compare conflict copy names with HEAD case-insensitively (220733f)
- sync: keep tracked files and clean up when a merge abort fails (545bc64)
- sync: remove conflict copies left by a failed merge (86fc2a5)
Performance Improvements
- sync: read the home's state with one git status (bd4c0f2)
Documentation
v0.11.0
0.11.0 (2026-10-20)
⚠ BREAKING CHANGES
- sync: home sync is on by default. The first session after upgrading commits everything uncommitted in ~/dotbrain and pushes it with any unpushed commits. Before upgrading, commit what you want to keep, discard or .gitignore anything that must not be pushed, or set
sync: enabled: falsein ~/dotbrain/config.yaml. Codex users must trust the new hooks once through /hooks.
Features
v0.10.0
v0.9.0
0.9.0 (2026-10-17)
⚠ BREAKING CHANGES
- workflow:
close-designnow runs only when invoked explicitly (/dotbrain:close-designin Claude Code); describing the job no longer triggers it. The lead agent now closes accepted reviews and approved work items itself after independent review; PR approval, merge, and release stay human-owned.
Features
- skills: add
run-retrofor private retrospectives and public rule proposals (5b1062d) - workflow: let agents finish approved work and add agent retrospectives (5b1062d)
Bug Fixes
- unwire: warn when an edited pointer line is left in
AGENTS.mdorCLAUDE.md(5b1062d)
v0.8.0
0.8.0 (2026-10-17)
⚠ BREAKING CHANGES
- wire:
dotbrain wire --no-repois removed, andprojects list/show --jsonno longer reportsbrain_only; a nullcheckoutmeans no registered checkout. Move a Brain-only project onto a repository (it may be private and docs-only) withdotbrain wire --project <name>from that repository, or archive the Brainspace by moving it out ofbrainspaces/.
Features
- wire: require a repository as every project's working home (1510bce)
Bug Fixes
v0.7.0
0.7.0 (2026-10-15)
Features
- skills: let a lead dispatch workers in another agent runtime (5c58135)
Bug Fixes
- agents: reduce Codex review overhead (7b41af6)
- docs: restore link previews with the dark banner (81971f8)
- skills: stop blocked on human-set settings and keep resume permissions (cabd341)