Skip to content

Codineer v0.6.4

Choose a tag to compare

@andeya andeya released this 05 Apr 10:11
· 292 commits to main since this release

Bug Fixes

  • fix(runtime): build_runtime now returns the resolved model name alongside the runtime instance, so the banner and status output always display the actual model (e.g. claude-3-5-sonnet) instead of the raw input alias like "auto".

  • fix(cli/resume): Global flags --model, --permission-mode, and --allowed-tools are now correctly forwarded when combined with --resume; previously they were silently discarded. Additionally, codineer --resume <session> with no trailing slash commands now opens the interactive REPL with the session pre-loaded, instead of falling through to a non-interactive code path.

New Features

  • feat(banner): The startup banner now adapts dynamically to terminal width (minimum 80 cols) and re-renders correctly on window resize. The --resume command in the banner is wrapped across multiple lines using display-width-aware wrapping so it is never truncated regardless of session path length. tilde_session_path is now exported for use across crates.

  • feat(repl/ux): Interactive REPL behaviour aligned with Claude Code:

    • ? inline shortcuts panel — typing ? at the start of the prompt instantly shows a shortcuts reference panel below the prompt; any further input hides it. ? + Enter submits ? to the AI as normal text.
    • Double Ctrl+C to exit — first Ctrl+C on an empty prompt shows an inline "Press Ctrl-C again to exit" hint below the prompt; a second Ctrl+C within 1.5 s exits. Any other key clears the hint.
    • ! bash mode — typing ! <command> (e.g. ! ls -la) sends the shell command to the AI as a run request instead of plain chat input.
    • \ + Enter for newline — pressing Enter with a trailing \ inserts a literal newline (same as Shift+Enter / Ctrl+J).
    • Double-tap Esc to clear — two rapid Esc presses (within 1.5 s) in plain mode clear the current input line.
    • Session restorerun_repl now accepts an optional resume_path; when present the session is activated before the first prompt is drawn.
    • Goodbye message — on exit the resume command for the finished session is printed so users can easily re-attach later.

Tests

  • test: Added 16 new unit tests for the editor covering double Ctrl+C exit, \+Enter newline, double-Esc clear, Ctrl+D behaviour, ? shortcuts panel rendering, InterruptHint action distinctness, and submit_or_toggle logic. CLI tests updated to assert the new resume_path field and added an end-to-end test verifying that --model/--permission-mode survive --resume parsing. Overall unit test coverage ≥ 95%.

Documentation

  • docs: README (EN & CN) interactive REPL keyboard shortcuts table updated to reflect all new shortcuts; prompt character updated from > to .

Chores

  • chore: Version bumped to 0.6.4.

问题修复

  • fix(runtime): build_runtime 现在同时返回运行时实例和已解析的 model 名称,Banner 及状态栏将显示实际 model(如 claude-3-5-sonnet),而非原始别名(如 "auto")。

  • fix(cli/resume):--resume--model--permission-mode--allowed-tools 同时使用时,全局 flag 不再被静默丢弃,均可正常生效。此外,codineer --resume <session> 若未附带 slash 命令,现在将正确进入交互式 REPL 并预加载历史会话,不再走非交互代码路径。

新功能

  • feat(banner): 启动 Banner 自适应终端宽度(最小 80 列),调整窗口大小后实时重绘。--resume 命令按显示宽度自动换行,无论 session 路径多长均不再截断。tilde_session_path 提升为 pub(crate) 供跨模块使用。

  • feat(repl/ux): 交互式 REPL 体验全面对齐 Claude Code:

    • ? 内联快捷键面板 — 在提示符首位输入 ? 即时在提示符下方展示快捷键参考面板;继续输入任意字符自动隐藏;? + Enter 将 ? 正常发送给 AI。
    • 双击 Ctrl+C 退出 — 空提示符下首次按 Ctrl+C 在提示符下方显示"Press Ctrl-C again to exit"提示;1.5 秒内再次按 Ctrl+C 退出;按任意其他键自动隐藏提示。
    • ! bash 模式 — 输入 ! <命令>(如 ! ls -la)会将 shell 命令作为执行请求发送给 AI,而非普通聊天输入。
    • \ + Enter 换行 — 在行尾输入 \ 后按 Enter 插入换行符(等同于 Shift+Enter / Ctrl+J)。
    • 双击 Esc 清空输入 — 普通模式下 1.5 秒内连按两次 Esc 清空当前输入行。
    • 会话恢复run_repl 现在接受可选 resume_path 参数,会在首次显示提示符前自动恢复指定会话。
    • 退出提示 — 退出时打印当前会话的 resume 命令,方便下次快速续接。

测试

  • test: 新增 16 个 editor 单元测试,覆盖双击 Ctrl+C 退出、\+Enter 换行、双击 Esc 清空、Ctrl+D 行为、? 快捷键面板渲染、InterruptHint action 独立性及 submit_or_toggle 逻辑。CLI 测试同步更新以适配新增的 resume_path 字段,并新增端到端测试验证 --model/--permission-mode--resume 解析后的正确透传。整体单测覆盖率 ≥ 95%。

文档

  • docs: README(英文及中文)交互式 REPL 快捷键表更新,反映所有新快捷键;提示符字符由 > 更新为

Full Changelog: v0.6.3...v0.6.4

Full Changelog: v0.6.3...v0.6.4