Releases: takemo101/cuekit
Releases · takemo101/cuekit
v0.0.3
2026-05-08
Fixed
- TUI could not attach to gemini tasks (regression introduced in
v0.0.2).cuekit tuibuilds its ownAdapterRegistryseparate from
the MCP server, and the gemini registration only landed on the MCP
side. Pressingaon a gemini task showed
"Selected task is not attachable" even though the tmux session was
alive andtmux attach-sessionworked from the shell. The TUI
registry now includes gemini, and the regression test drives the
actual factory rather than string-grepping the source.
Added
- TUI transcript pane sources from
tmux capture-panefor
running tasks with a known tmux session. The persisted transcript
file is dominated by re-rendered UI chrome and cursor-move escapes
for frequently-redrawing TUI children (Gemini CLI, opencode TUI),
pushing actual conversation content off the tail. capture-pane
returns the post-render screen the human is staring at. Terminal
tasks, unknown sessions, and capture failures fall back to the
existing file-tail path. The header indicates which source produced
the displayed content (LIVE OUTPUT (N lines, tmux pane | transcript file)). - LIVE OUTPUT scrollbox stable height: pad the live capture to
DEFAULT_TRANSCRIPT_LINES = 80so OpenTUI's sticky-scroll
"pause when user scrolls away" semantics work — total content
height no longer shifts between refreshes, so a user reading
older content stays put. cuekit doctornow probestmux capture-paneagainst a
guaranteed-missing target and warns if the subcommand isn't
recognised. Without this, an ancient or stripped tmux build would
silently break the new TUI live preview.
Changed
- Async tmux spawn: the live-pane fetch uses
Bun.spawninstead
ofspawnSync, so a busy tmux server cannot block the TUI's
event loop during auto-refresh. captureLivePaneTailreturns null on empty stdout so the
caller can fall back to the file path during the brief window
before a child has drawn anything to the pane.- file-tail noise filter (
isLowValueTranscriptLine) is no longer
applied to capture-pane content. That filter was tuned for the
redraw-history file; capture-pane is the post-render screen, so
filtering it can hide legitimate child output.
Documentation
- New design note:
docs/designs/cuekit-tui-live-pane-transcript-design.md
capturing the data-source switch, why other approaches were
rejected, non-goals, and trade-offs. - README's TUI section gains a one-paragraph operator note pointing
at the design. - AGENTS.md adds a TUI transcript pane pitfall row.
v0.0.2
2026-05-08
Added
@cuekit/adapters/gemini-adapter: Google Gemini CLI adapter with
first-class interactive + batch run modes, unconditional--skip-trust
(Gemini's per-directory trust gate is not auto-skipped in non-TTY mode
unlike Claude Code),-y(yolo) defaulted on through the shared
shouldDangerouslySkipPermissionshelper, and curated
availableModelslist (gemini-2.5-pro,gemini-2.5-flash,
gemini-2.5-flash-lite). Registered in@cuekit/mcpalongside
claude-code / pi / opencode / jcode and exposed throughcuekit doctor.
Pairs with [docs/designs/cuekit-gemini-adapter-design.md] and
[docs/guides/gemini-adapter.md].adapter_options.approval_mode(Gemini-only): exposes Gemini's
full 4-value--approval-modesurface (default/auto_edit/
yolo/plan).planis API-level read-only, useful for reviewer
/ audit children that must structurally not call edit tools. Wins
over the binarydangerously_skip_permissionstoggle when set;
invalid values fall back silently.adapter_options.cleanup_on_terminal_report(all pane adapters):
opt-in that asksreport_task_eventto call the adapter's
cleanup()(kill the tmux session) the moment a terminal child
report (completed/failed/blocked) is committed. Default
behavior is preserved when the option is absent. Most useful for
Gemini, whose REPL has no clean self-exit path.cuekit inittemplate: generated.cuekit.yamlnow lists a
gemini:adapter block alongsideclaude-code:andopencode:,
with an inline note that--skip-trustis unconditional and
permissionsonly governs-y.
Changed
wait-taskscwd validation is now opt-in. Previously a caller
who omitted bothcwdandsession_idhad the MCP server's
process.cwd()silently applied as scope, producing
permission_denied: task '...' is outside cwd '<server cwd>'for
callers that submitted a task and waited on it without re-passing
scope. Now omittingcwdskips scope validation entirely; explicit
cwdmismatch still rejects withpermission_denied. Brings
wait-tasksin line withget_task_status(which has no scope).--task_ids/--session_idsaccept comma-separated values
in addition to the documented repeat-flag form.cuekit task delete --task_ids "t_a,t_b"now works as users naturally expect; mixed
forms (--task_ids t_a --task_ids t_b,t_c) flatten correctly. MCP
callers passingtask_ids: ["t_a", "t_b"]are unaffected.
Documentation
- Top-level README,
docs/README.md,docs/guides/README.md,
AGENTS.md and a new redirect-only CLAUDE.md were rewritten for
scannability and consolidated into a single source of truth. - New design notes: gemini adapter (with trusted-folder handling).
- New guide:
docs/guides/gemini-adapter.mdcovering submit /
attach / steer / batch-mode steering rejection / cleanup, plus
read-only review mode and auto-cleanup sections. - Implementation plan:
docs/plans/2026-05-07-gemini-adapter-implementation-plan.md.
cuekit v0.0.1
cuekit v0.0.1
First public GitHub release of cuekit as a child-agent delegation substrate for coding agents.
Highlights
- Installed human CLI is owned by
@cuekit/cli. cuekit doctordiagnoses local setup, including Bun, tmux, state DB, project config, update availability, and adapter executable availability.cuekit updateis advisory-only and prints the Bun/GitHub install command for the latest release.cuekit mcp add --agent piandcuekit mcp add --agent jcodeprovide first-class MCP setup helpers.- MCP surface remains focused on grouped AI-facing delegation tools.
- TUI task/team cockpit, task teams, team strategies, child reporting, wait/cleanup/delete, and jcode adapter support are included.
Install
bun install -g github:takemo101/cuekit#v0.0.1
cuekit doctor
cuekit mcp configAfter installing, add the MCP config snippet to your MCP client and restart that client.
Validation
bun run checkbun run typecheckbun test— 808 pass