Releases: LastStep/Bonsai
Releases · LastStep/Bonsai
v0.4.3
Changelog
- 02890de chore(station): Plan 39 wrap — v0.4.2 shipped (#103)
- a4ab5ac chore(station): hand off Plan 38 ownership to Bonsai-Eval tech-lead (#104)
- 584b82b fix(generate): bake absolute paths into sensor hook commands (v0.4.3) (#106)
- 021da41 fix(settings): bake absolute paths into sensor hooks + file upstream (#105)
v0.4.2
Changelog
- 7c77b15 build(deps): bump actions/checkout from 4 to 6 (#81)
- cc3043e build(deps): bump actions/deploy-pages from 4 to 5 (#82)
- 7aa9299 build(deps): bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 (#84)
- 490b0a4 build(deps): bump github/codeql-action from 3 to 4 (#85)
- 3fbb4e8 chore(station): PR triage sweep — close 9 routine bots, merge 4 Dependabot
- 9fcf64c chore(station): post-PR-78 — completion.go comment fix + Status row + Backlog
- ffe979b chore(station): post-v0.4.1 ship — Status row + Backlog Node 20 entry + memory work-state
- c50de7d chore(station): session wrap 2026-05-07 — log + memory work-state
- 3a5209e docs(changelog): rewrite past releases — drop commit-history bullets, add narrative leads
- 0495bd7 docs(station): Backlog P2 — nonint.validateOverlay placeholder refactor
- 5a3bfff docs(station): Plan 38 P0+P1 dispatched — solver-strategy revision + Bonsai-Eval shipped
- e27c14b docs(station): Plan 38 — Bonsai-Eval bootstrap (eval harness + telemetry)
- 51df666 docs(station): Plan 39 — bonsai init/add non-interactive flags (dispatched)
- 2eae9d4 feat(cmd): add explicit
completionsubcommand for bash/zsh/fish/powershell (#54) - 410a5f1 feat(nonint): bonsai init/add --non-interactive --from-config (v0.4.2)
v0.4.1
Changelog
- 533d112 chore(release): v0.4.1 — windows cross-compile CI gate + doc drift fix
- a35a4c3 chore(station): memory work-state -> Plan 37 deferred + sentrux blocked
- a5a4185 chore(station): plan 37 doc refresh — code-index + INDEX
- 39ee362 chore(station): routine digest 2026-05-07 — 4 routines + digest workflow
- d066e32 chore(station): session log + memory work-state link-out for 2026-05-04 ship
- 7414a88 chore(station): v0.4.0 ship-out logging + Windows cross-compile gotcha
v0.4.0
Changelog
- 99e9948 Plan 32 — wsvalidate extract + config validate + snapshot hardening (#80)
- b9ade62 chore(release): v0.4.0 prep — toolchain bump, retry hook, doc sweep, CHANGELOG (#94)
- 71d04b8 chore(station): Plan 31 archive frontmatter sync
- 456703e chore(station): Plan 32 — In Progress
- ff5d97e chore(station): Plan 32 — website concept-page rewrite spec
- 10ad16b chore(station): archive Plan 32 — followup bundle shipped
- 3831cad chore(station): archive Plan 33 — website concept-page rewrite shipped
- 326b11f chore(station): archive Plan 34 — custom-ability discovery bug bundle shipped
- bfad55b chore(station): archive Plan 35 — bonsai validate shipped (v0.4 headline)
- 81826b1 chore(station): archive Plan 36 — v0.4.0 shipped
- 8e21b75 chore(station): backfill frontmatter on bubbletea + statusline
- be677e1 chore(station): renumber website concept-page rewrite Plan 32 → 33
- dcc9143 chore(station): routine digest 2026-05-04 + bonsai-model install + Plan 36 draft
- c45c8b8 chore(station): session log + Backlog P3 + memory note for 2026-05-04 ships
- 1923362 chore(station): session start — routines + work-state refresh
- 54a06ee docs(abilities): wire NoteStandards into memory protocol + session workflows
- 90b3a0c docs(catalog): wire NoteStandards into session-logging Rules (catalog source — agent/ already pushed)
- 11e21f3 docs(changelog): rewrite v0.3.0 entry user-facing
- f3ef964 docs(station): NoteStandards — 3-line cap + link out for trackers
- 4fd843d docs(station): Plan 34 — custom-ability discovery bug bundle
- ead4e99 docs(station): Plan 35 — bonsai validate command (v0.4 headline)
- b5345d6 docs(website): Plan 33 — concept-page rewrite (#79)
- 87353b3 feat(catalog): NoteStandards template + Status/Backlog references
- 878cca2 feat(cmd): add bonsai validate — read-only ability-state audit (#93)
- c5f6dc1 fix(generate): split catalog_snapshot O_NOFOLLOW for Windows compat (#95)
- 1e5affa fix(update): recover orphaned custom-ability registrations + sensor shebang frontmatter + non-TTY warnings (#92)
- 89f7353 plan(32): Plan 31+29 review followup bundle spec
v0.3.0
[0.3.0] - 2026-04-24
The "your AI agent can work with Bonsai itself" release. Every new workspace now carries an agent-readable mental model of Bonsai, a filesystem-discoverable catalog snapshot, and copy-paste prompts to get your agent started. Plus a scope-guard correctness fix and cinematic polish on the last two commands that needed it.
Added
- Your agent can now reason about Bonsai directly. Every new workspace ships a
bonsai-modelskill atagent/Skills/bonsai-model.md— a concise mental model covering how the catalog is shaped, when to add vs customize, and how the commands fit together. Point your agent at it and it can propose changes without you hand-feeding docs. - Machine-readable catalog.
bonsai init,add, andupdatenow write.bonsai/catalog.jsonat your project root — a filesystem-discoverable listing of every agent type, skill, workflow, protocol, sensor, and routine the installed binary ships. Same data available on demand viabonsai catalog --jsonfor CI or scripted consumption (respects-a <agent>filter). - "Bonsai Reference" in every generated CLAUDE.md. A pointer table near the top of each workspace CLAUDE.md tells your agent where to find the model doc, the catalog snapshot, and the installed-state file. Pi.dev-inspired progressive-disclosure pattern: zero tokens spent until the agent actually needs to know.
- Post-command hints you'll actually use.
init,add,remove, andupdateyield screens now show three labeled sections:- Next steps — the mechanical CLI commands to run next
- Try this — workflow suggestions inside your new workspace
- Ask your agent — bordered copy-paste prompt boxes you can hand straight to Claude / your editor / wherever
Hints are agent-type aware — a backend agent gets backend-shaped prompts, a devops agent gets devops-shaped ones.
- Cinematic
bonsai removeandbonsai update— the last two commands without a dedicated flow package got the same treatment asinit/add/list/catalog/guide. Stage rails, chromeless prompts for destructive actions, per-file conflict resolver, responsive resize, ASCII fallback. NO_COLORandTERM=dumbhonored explicitly. Scripts piping Bonsai output and color-averse terminals now get clean text with zero ANSI escapes. Covered by regression tests so it stays that way.
Changed
bonsai addkeeps every agent's awareness up to date automatically. After you add a new agent, Bonsai now refreshes the peer-awareness files on every already-installed agent — you no longer need to runbonsai updateafter eachaddto keep scope-guards honest. Lock-aware, so any hand-edits you've made to those files still trigger the conflict resolver.bonsai updatenon-TTY path returns a proper exit code. When run in a script and conflicts can't be auto-resolved,bonsai updatenow exits non-zero so your CI actually notices. Previously it printed a warning and silently returned success.- Cleaner internals in
cmd/update.go(313 lines → ~85). All TUI logic delegated to the new flow package; business logic preserved.
Fixed
- Silent cross-agent scope-guard bypass. Before 0.3, running
bonsai add backendin a project that already had a tech-lead did not update tech-lead'sscope-guard-files.shwith a block-rule for the newbackend/workspace. Net effect: dispatching tech-lead to edit a backend file quietly worked when scope-guard was supposed to exit 2 and block it. Same class of silent staleness ondispatch-guard.sh's workspace→agent map. Now refreshed automatically on everyadd.
Security
- Peer-awareness state is now always correct after
add. Closes the class of silent scope-guard bypasses described in Fixed. No more "tech-lead can edit any agent's files" once a project grows past one agent.
v0.2.0
Changelog
- 4752ca1 Merge pull request #10 from LastStep/feat/trigger-sections-phase-a
- f323d59 Merge pull request #11 from LastStep/docs/trigger-guide
- bc565bf Plan 17 — release prep: go toolchain + triggerSection + OSS polish (#24)
- fb306bb build(deps): bump Go toolchain to 1.25.8 (#28)
- c45d359 build(deps): bump actions/setup-go from 5 to 6 (#35)
- 68c9aef build(deps): bump actions/setup-node from 4 to 6 (#36)
- a1c28de build(deps): bump actions/upload-pages-artifact from 3 to 5 (#33)
- cdaf531 build(deps): bump github.com/charmbracelet/x/ansi from 0.11.6 to 0.11.7 (#39)
- 4bcc66c build(deps): bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 (#38)
- 3b03301 build(deps): bump golang.org/x/term from 0.36.0 to 0.42.0 (#37)
- 7f3d6a1 build(deps): bump golangci/golangci-lint-action from 8 to 9 (#34)
- 4b897c2 build(deps): bump goreleaser/goreleaser-action from 6 to 7 (#32)
- 4ef8271 chore(oss): Plan 24 — pre-launch polish bundle (#58)
- fe89423 chore(station): 2026-04-21 session wrap-up — Plan 20 + Group G log (#44)
- 5248212 chore(station): Group G Dependabot closeout + CodeQL v4 deprecation note (#43)
- 6b5ef7f chore(station): PR #59 merge wrap-up — Status/Backlog/memory + merge log
- c0c7028 chore(station): PR #62 merge wrap-up — Plan 23 Phase 2 close-out
- 59e2919 chore(station): Plan 19 wrap + 2026-04-21 routine outputs (#30)
- 9cf577e chore(station): Plan 20 wrap-up — session log, Status+Backlog updates (#42)
- 4eceab6 chore(station): Plan 21 close-out — memory + status update
- 718282f chore(station): Plan 21 session wrap-up — log + backlog updates
- 654a8e9 chore(station): Plan 22 Phase 1 shipped — status + memory update
- 13a94b0 chore(station): Plan 22 Phase 2 shipped — status + memory update
- fda8a14 chore(station): Plan 22 Phase 3 shipped — plan refinements + status + memory + session log
- e69a284 chore(station): Plan 22 Phase 4 polish run — status + memory + session log
- bfc3f95 chore(station): Plan 22 Phase 4 shipped — status + memory update
- 83e7aa6 chore(station): Plan 22 Phases 1–2 session log
- 9f1b71b chore(station): Plan 22 complete — archive plan + handoff artifacts
- 3cac25f chore(station): Plan 22 — bonsai init cinematic redesign intake
- 0161645 chore(station): Plan 23 close-out — archive + Status + Backlog + memory + log
- 4974a60 chore(station): Plan 24 complete — archive plan + bookkeeping
- 4e8897c chore(station): Plan 25 wrap-up — archive + Status + memory
- ea92abb chore(station): flush memory work state — PR #44 merged
- 018966d chore(station): housekeeping — archive Plan 22 report, prune research, refresh trackers
- d6d3f9f chore(station): memory — note PR #63 llm-wiki attribution ship
- d25eef1 chore(station): session wrap-up — memory tip bump + audit-pass log
- f24750d chore(station): wrap-up — post-Plan-24 security sweep + memory/learnings
- 027ddd0 chore(tui): eliminate hardcoded hex + add shared focus-style helpers
- e9b7cba docs(audit): pre-release v0.2.0 cut (#65)
- a78dd62 docs(demo): hero gif + LinkedIn MP4 + poster for
bonsai init - 78122a3 docs(plan-23): Phase 3 — bundle 7 backlog items into cutover scope
- 62753cd docs(readme): credit llm-wiki — inspiration for station/ workspace (#63)
- 75f6a01 docs(readme): embed init flow demo gif (#60)
- d6785e7 docs(readme): revamp — audience-first structure, mechanism bullets, station tree (#61)
- fd55ed4 docs(station): Plan 19 wrap-up — session log, Status+Backlog updates
- 90d6ec3 docs(station): add Plan 19 — pre-launch bug sweep
- 525ee11 docs(station): add Plan 21 — session-start dedup + Phase C sensors
- 7332034 docs(station): archive memory-consolidation + status-hygiene routine outputs
- b835528 docs(station): close out Plan 16 on main + flag follow-ups
- 15198bb docs(station): close out Plan 17 on main + update backlog post-merge
- 0a6ded9 docs(station): close out Plan 18 on main post-merge
- 676fd92 docs(station): commit pending plans, logs, report, and routine-digest workflow
- 84479a9 docs(station): commit stale Plan 15 cleanup log + memory idle state
- 6d96986 docs(station): draft Plan 13 — ActionUnchanged follow-ups from Plan 12
- 837d976 docs(station): draft Plan 18 — bonsai guide multi-topic + legacy docs cleanup
- 99ff5d3 docs(station): log Plan 13 session — ActionUnchanged follow-ups
- 4d79462 docs(station): record ui-ux-testing rebase + squash-bundle rebase learning
- b3db672 docs(station): session wrap-up — Plan 15 shipped to main via PR #26
- 418b1e6 docs(station): session wrap-up — Plan 18 shipped + MDX hotfix learnings
- 5e9255f docs(station): update spinner error-swallowing Backlog entry post-Plan 15
- 24cd862 docs(station): update status, memory, and logs after Plan 10 completion
- b8c0268 docs(station): wrap up PR #20 merge — Plan 12 Phase 2 shipped
- 0eb8a15 docs(station): wrap up PR #22 merge — Plan 13 shipped
- 163bc45 feat(add): Plan 23 Phase 1 — addflow package + new-agent cinematic path (#59)
- 61777c0 feat(add): Plan 23 Phase 2 — add-items branch + cinematic conflict picker (#62)
- 788fa6c feat(add): Plan 23 Phase 3 — flip cinematic default + bundled cleanups (#64)
- d14edbe feat(catalog): Plan 21 session-start dedup + Phase C sensors (#46)
- 5b4f1e7 feat(docs): catalog auto-generation script and LLM layer (Plan 10 Phase C) (#18)
- e448140 feat(guide): expand bonsai guide to 4 topics + drop 3 orphan legacy docs (#25)
- 2e2a08c feat(init): Plan 22 Phase 2 — initflow package + Chromeless harness hook (#48)
- 971ee44 feat(init): Plan 22 Phase 3 — Vessel + Soil stages (real input) (#49)
- 89c21ba feat(init): Plan 22 Phase 4 — Branches tabbed picker (#50)
- 6baaf8e feat(init): Plan 22 Phase 5A — responsive resize + Observe + Generate/Planted packages (#51)
- 5916e05 feat(init): Plan 22 Phase 5B — wire Generate+Planted, flip default, delete legacy (#52)
- 4a8fea9 feat(station): persistent statusLine + silent-on-zero warnings
- 2ce63f6 feat(tui): BubbleTea harness — migrate init/add/remove/update (Plan 15) (#26)
- 7553d43 feat(tui): add RenderFileTree widget + palette chrome tokens (#47)
- effcfd8 feat(ui): Phase 1 foundation — adaptive palette, NO_COLOR, FatalPanel, version banner (#14)
- dffe6e2 feat(ui): Phase 2 consistency — ordering, counts, hints, Up to date, ErrorDetail (#20)
- a44e447 feat: Plan 19 — pre-launch bug sweep (fresh-install blockers + harness polish) (#27)
- 4e8c8a2 feat: add trigger metadata system for mechanical ability activation
- 28d181e fix(build): move main.go to cmd/bonsai for lowercase go install binary (#23)
- 7c1dd49 fix(ci): remove stray Plan 23 WIP hunks from previous commit
- 86e7adf fix(generate): re-apply chmod on ActionUnchanged + close Plan 12 test gaps (#22)
- 674f987 fix(init): Planted station path + Observe misleading file count
- ef55f4f fix(security): silence 2 CodeQL useless-assignment alerts + widen CI to push
- e336ccb fix(website): replace MDX-incompatible autolink in guide.mdx
- 41e5a80 plan(22): split Phase 5 into 5A + 5B with responsive resize scope
- 67f810e plan(23): UI/UX Phase 2 — port bonsai add to cinematic flow
- 399fe08...
v0.1.3
v0.1.2
v0.1.1
Changelog
- 4e81396 Merge pull request #4 from LastStep/cross-link-generated-files
- 8116408 Merge pull request #6 from LastStep/worktree-agent-a8f6a448
- fca73f6 Merge pull request #7 from LastStep/feat/usage-instructions
- cd90817 feat: add Obsidian-compatible markdown links to generated workspace files
- b0c34fa feat: add workspace-guide skill and How to Work section in generated CLAUDE.md
- 807ee9a fix: correct CI badge and replace Go Reference with Go version badge
- 65a3640 fix: rename station/index.md to station/code-index.md to resolve case collision (#8)
- 33af493 fix: revert INSTRUCT reference to backtick in memory protocol
v0.1.0
Changelog
- 7179766 Merge pull request #2 from LastStep/rename-catalog-items-to-abilities
- 7ef78af Merge pull request #3 from LastStep/worktree-agent-a19b8762
- 903b337 Merge pull request #5 from LastStep/release-pipeline
- ddafb58 enforce: tech lead never writes code, all changes in isolated worktrees
- 70548b6 feat: PR-based workflow — subagents create draft PRs, tech lead reviews and merges
- 6e94115 feat: add 4 new skills — api-design-standards, auth-patterns, test-strategy, review-checklist
- e97f837 feat: add 6 cross-cutting catalog items — Phase 3 of catalog expansion
- 4162bdf feat: add Awareness Framework — status-bar and context-guard sensors
- d001225 feat: add Backlog system across catalog — intake queue for bugs, debt, and ideas
- 3ce3762 feat: add bonsai guide command — render custom files guide in terminal
- fe3ad0d feat: add bonsai update command — custom file detection + workspace sync
- 14e07eb feat: add display names — separate human-readable labels from machine identifiers
- 406e5d6 feat: add fullstack + devops agents with 6 new catalog items
- e7add5b feat: add individual item removal —
bonsai remove skill|workflow|protocol|sensor|routine <name> - 4afea7a feat: add lock file conflict handling — detect and protect user-modified files
- b695eb9 feat: add release pipeline — GoReleaser, GitHub Actions, Homebrew Tap
- ca65244 feat: add required field for catalog items and scaffolding selection
- 8910c13 feat: add routines — periodic self-maintenance tasks with auto-managed sensor
- b5b7085 feat: add security agent with api-security-check sensor and vulnerability-scan routine
- 36418c6 feat: add sensors — auto-enforced hooks category for agent workspaces
- c1c988d feat: customize station scaffolding + add session wrap-up workflow
- 4dfd3f4 feat: dogfood Bonsai on itself — generate station/ workspace with tech-lead agent
- e7c17c7 feat: initial Bonsai CLI — scaffold Claude Code agent workspaces
- bef50d6 feat: make tech-lead required, add station workspace, restrict routines
- 7b4a92c feat: modernize CLI UX — InquirerPy, Rich panels, trees, spinners
- 22aaf9b feat: per-workspace settings, selective conflict picker, path display fix
- 43150d0 feat: replace agent-review with dispatch-guard + subagent-stop-review sensors
- bab20a5 feat: rewrite CLI from Python to Go — Cobra, Huh, LipGloss, BubbleTea
- 80fcaa1 fix: migrate markerless CLAUDE.md files — backup + overwrite with markers (#1)
- 433315f fix: smart trigger matching — normalize contractions + end-anchor patterns
- 71b7345 refactor: move shared core files to catalog/core/ with layered override support
- 64d5dec refactor: remove root CLAUDE.md generation — each workspace owns its own CLAUDE.md
- 49e60e0 rename collective noun "catalog items" to "abilities" across codebase