All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Critical hotfix for the v5.6.0 / v5.6.1 HUD statusLine installer
regression. Every user who upgraded to v5.6.0 or v5.6.1 saw only the
fallback face ◕‿◕ CodingBuddy instead of the full Wave 1/2/3 status
line, regardless of how many statusbar features had shipped, because
the installer never copied the hooks/lib/ modules the script
depends on.
- HUD installer never synced
hooks/lib/(#1490) —_install_statuslineonly ranshutil.copyoncodingbuddy-hud.pyand never touched the siblinglib/directory. The v5.6.0 refactor (b0fb332) extracted 11hud_*.pymodules +tiny_actor_presets.pytohooks/lib/, so every upgraded user ended up with~/.claude/hud/codingbuddy-hud.pypresent and~/.claude/hud/lib/missing. The script'stry: from hud_buddy import BUDDY_FACEfailed on the missing module and the outertry/exceptprinted only the bare fallback◕‿◕ CodingBuddy. Every Wave 1-A version, Wave 1-B heal, Wave 1-C rate limit icons, Wave 1-D adaptive layout, Wave 2-A breathing face, Wave 2-B velocity, Wave 2-C cache savings, Wave 2-D rainbow, Wave 2-E smart context bar, and Wave 3 / 3b integration was therefore invisible. Fixed by routing the install through a new_atomic_sync_with_libhelper that copies the script and atomically replaces the entirelib/directory (rmtree + copytree). - Sister bug in
_install_hook_with_lib— the UserPromptSubmit hook installer usedshutil.copytree(dirs_exist_ok=True), which writes new files but never removes files that existed before but are gone now. A renamed module from a prior version would have lingered in~/.claude/hooks/lib/and could be imported first by Python's import system. Now also routes through_atomic_sync_with_libso renamed/removed modules are purged on every sync.
_atomic_sync_with_lib(source_script, target_dir, extra_ignore)— canonical install primitive used by both_install_statuslineand_install_hook_with_lib. Performs an atomicrmtree + copytreeon the lib directory and excludes__pycache__,*.pyc,*.pyo,.pytest_cache,test_*.py,*.egg-infoso the runtimesys.pathstays clean. OptionalCODINGBUDDY_HUD_DEBUG=1env var surfaces install errors on stderr (default still silent so session start is never blocked).~/.claude/hud/.versionstamp —_install_statuslinenow writes the plugin version it just installed sohealth_check.check_hud_installationcan detect drift and the user can confirm which release they are running.HealthChecker.check_hud_installation(check #11) — new diagnostic verifies~/.claude/hud/codingbuddy-hud.pyexists,~/.claude/hud/lib/contains the seven critical modules, and a subprocess render smoke test does not return the fallback face. Detects all known failure modes of #1490 from the user's existing health-check workflow.scripts/verify-install-simulation.sh— pre-release shell gate that simulates a fresh user receiving cache 5.6.x and starting Claude Code. Runs_install_statuslineagainst the in-tree source in an isolated tmpdir, then executes the installed script as a real subprocess and asserts the output is the full status line. Run locally before pushing release branches; invoked from CI ine2e-plugin.ymlandcanary.yml.
- 9 new tests in
tests/test_atomic_sync_with_lib.pycovering script copy, executable bit, lib copy, no-lib silent skip, ignore patterns, stale module replacement, idempotent re-invocation, andextra_ignorearg. - 14 new tests in
tests/test_session_start_hud.py:- 8 unit cases (
TestSyncHudAssets) — copies all 12 required modules, excludes pollutants, replaces stale modules, idempotent, writes version stamp, gracefully skips when lib absent, preserves settings.json update. - 4 parametrized E2E cases (
TestHudInstallE2ERegressionGate) — runs the installed script as a real subprocess acrossclean,partial,stale, andfreshstarting states and asserts the output is not◕‿◕ CodingBuddy. This is the single regression gate that would have caught the v5.6.0 / v5.6.1 ship.
- 8 unit cases (
- 4 new tests in
tests/test_install_hook_with_lib.py— sister-bug regression gate for_install_hook_with_lib(stale module replacement, ignore patterns, source-name rename, idempotency). - 5 new tests in
tests/test_health_check.py::TestCheckHudInstallation— script missing, lib missing, modules missing, smoke test fallback detection, end-to-end PASS with real_install_statuslineinvocation. - CI gates — both
e2e-plugin.yml(PR-level) andcanary.yml(post-merge) now run all four pytest suites andverify-install-simulation.shso a broken installer cannot reach release.
Hotfix closing the remaining gaps in the v5.6.0 HUD Statusbar Wave cycle:
a stale-timestamp leak in the self-heal path, plus the four Wave modules
that shipped as dead code in v5.6.0 (imported but never wired into
format_status_line).
- HUD heal timestamp leak (Wave 1-B, #1487) —
heal_stale_statepreservedsessionStartTimestampfor "audit / forensics", butresolve_durationread the same field as a fallback when stdin lackedtotal_duration_ms. A manual-fix marker + stale timestamp therefore rendered enormous durations like322h52mfor brand-new sessions. The timestamp is now relocated into_healedFromSessionStartTimestampso forensic/debug value is preserved while the render fallback path no longer sees it. Idempotent — re-healing an already-healed state keeps the forensics field stable.
- Wave 3b — Complete Wave 3 integration (#1488) — commit
bd78195("integrate Wave 2-B/2-C informat_status_line") wired velocity and cache-savings into the cost segment but left four sibling Wave modules as dead code:hud_buddy,hud_rainbow,hud_context_bar, andhud_layout. Their unit tests passed, butformat_status_linenever called them. This hotfix hoists all four modules as top-level imports and refactorsformat_status_lineto build(name, priority, text)segments consumed byfit_segments:- Wave 2-A — Breathing Buddy Face now actually breathes: the buddy face reflects
hud_state.phase/blockerCount(ready→ ◕‿◕ idle,planning→ ◔‿◔ thinking,executing→ ◕◡◕ active, blockers → ◕︵◕ error,lastEvent=victory→ ◕ᴗ◕). - Wave 2-D — Mode Rainbow Coloring now actually colors: opt-in via
CODINGBUDDY_HUD_RAINBOW=1because Claude Code statusLine ANSI support is environment-dependent. Default OFF keeps existing terminals clean. Transitively honours theNO_COLORstandard (https://no-color.org). Only real modes (PLAN/ACT/EVAL/AUTO) are colored — the "Ready" fallback label stays plain. Coloring is applied post-fit_segmentsso ANSI escapes don't break layout width accounting. - Wave 2-E — Smart Context Bar now actually renders:
Ctx:NN%is replaced with[████░░░░░░] 42%. Dark shade▓marks the trailing full block above the danger threshold (85%) and a⚠suffix is appended above the warning threshold (80%). - Wave 1-D — Adaptive Layout now actually adapts: the final
" | ".join(segments)is replaced withfit_segments(layout_segments, terminal_width()). Low-priority segments (worktree,rate_limits,model,cache,ctx) drop first on narrow terminals;face_versionandmode_healthare sacred and always render.shorten_model_labeltrims the"(1M context)"suffix so Opus display names fit mid-width terminals without being dropped.
- Wave 2-A — Breathing Buddy Face now actually breathes: the buddy face reflects
- 17 new Wave 3b integration tests across four classes (
TestWave2ABreathingFaceIntegration,TestWave2EContextBarIntegration,TestWave2DRainbowIntegration,TestWave1DAdaptiveLayoutIntegration) - 5 new Wave 1-B regression tests guarding the heal-timestamp contract
- 3 existing tests updated for the Wave 2-E
[bar] NN%format;test_full_telemetryhardened withCOLUMNS=300so the "all segments render" assertion no longer flakes against the pytest 80-col default now that adaptive layout actually runs - Plugin test suite: 1077+ passed locally
- Breathing Buddy Face (Wave 2-A, #1464) — buddy face reacts to HUD phase (idle/thinking/active/blocked/victory) so the status bar feels alive
- Cost Velocity Indicator (Wave 2-B, #1464) — session spend-rate badge with 🔥/↗/→/💤 trend glyphs (e.g.
$1.23↗$0.08/m) - Cache Savings Badge (Wave 2-C, #1464) — quantifies prompt-cache savings as
💰$N.NN savedappended to the cost segment - Mode Rainbow Coloring (Wave 2-D, #1464) — per-mode ANSI truecolor gradients (PLAN ◇ blue, ACT ◆ green, EVAL ◈ purple, AUTO ◊ rainbow), NO_COLOR env honored
- Smart Context Bar (Wave 2-E, #1464) — visual
[████░░░░░░] 42%progress bar replaces plainCtx:42%with warning/danger thresholds and ⚠ glyph - Adaptive Layout Engine (Wave 1-D, #1464) —
fit_segmentsadaptive truncation for narrow terminals - Rate-limit Severity Icons (Wave 1-C, #1464) — visual rate-limit warnings in the status line
- Wave 3 Integrator (#1464) — Wave 2-B velocity and Wave 2-C cache savings wired into
format_status_linewith defensivetry/exceptimports - 9 Modular Lib Extraction (#1464) —
lib/hud_*modules enable parallel statusbar feature work
- HUD status line: defensive
try/exceptimports ensure graceful degradation when optional modules fail - Plugin statusline: hoisted
_format_velocity_segment/_format_cache_savingsto module top (~0.47μs saved per render, perf-1485 H1)
- Session self-heal (Wave 1-B, #1468) — stale HUD state detection and recovery
- Version resolution fallback (Wave 1-A, #1466) — plugin.json fallback when package.json unavailable
- Narrow exception handling (qual-1465 HIGH-1) —
ImportErrorinstead of bareExceptionin 3 fallback import blocks so real bugs (SyntaxError, NameError, AttributeError) surface immediately - Signature drift elimination (qual-1465 HIGH-2) — removed inline stub functions for
format_rate_limitsand_get_fresh_version
- next 16.2.3 bump — GHSA-q4gf-8mx6-v5v3 landing-page fix,
eslint-config-nextaligned
- 381/381 tests pass across the 9 Wave-level test suites and the Wave 3 integration harness (Wave 1-B +24, Wave 2-B +33, Wave 2-C +26, Wave 2-D +35, Wave 2-E +29)
- Agent Council Memory (#1435) — specialists now recall prior council decisions and inject them into new sessions for continuity across conversations
- Micro-Achievements (#1436) — badge-style reward system surfaces small wins (first council, first rule suggestion, first team bootstrap) to reinforce good habits
- Self-Evolving Rules +
suggest_rulesMCP tool (#1437) — PatternDetector → RuleSuggester pipeline analyzes repeated failure patterns and proposes draft rules for human review (never auto-applied) - Smart First Prompt / Context-Aware Onboarding (#1438) — project-specific suggestions driven by tech stack detection replace generic first-run hints
- Live AI Guardrails (#1439) — real-time rule violation interception during tool use prevents drift before it hits disk
codingbuddy init --teamCLI (#1440) — multi-AI tool adapter auto-detection and generation (Cursor, Claude Code, Codex, Antigravity, Q, Kiro) with sub-issues #1449, #1450, #1451
- Council Assembly Animation (#1441) — staggered specialist arrival effect during council scene rendering for a more cinematic council experience
activateMCP tool — one-shot entry point returning rules + primary agent + specialists + discussion format, replacing the multi-stepparse_mode+dispatch_agentsceremony- Promoted Claude native Teams as the primary specialist execution strategy; subagent dispatch remains as a fallback for non-Teams environments
- RuleTracker: first-class support for
generatedRule,baselineFailureRate, andcurrentFailureRatefields (#1444) - Plugin README template now includes standalone Wave feature rows (scripts/build.ts)
- Effectiveness scoring write-path wiring for self-evolving rules (#1444)
- Plugin README build drift —
yarn buildnow preserves manual surface additions
- #1442, #1443, #1445, #1446, #1447, #1448 — already implemented, closed with SHA references
- Permission forecast: prompt-aware pattern analysis (SHIP/TEST/INSTALL/DELETE/REVIEW) mirroring MCP server — replaces static mode-only defaults
- Council scene: real agent eye glyphs from
.ai-rules/agents/*.jsonreplacing placeholder●‿●faces with per-agent visual identity - Permission forecast unit tests (11 new tests)
- PLAN template: Discover→Design→Plan staged flow replaces legacy "Output full plan" directive
- Clarification budget: persisted in HUD state across rounds (previously reset to 3 every round)
- Agent JSON loading: DRY refactor via shared
_read_agent_json()with per-instance cache init_hud_stateschema: synchronizedquestionBudgetfield with_EXTENDED_DEFAULTS- Agent slug path-traversal safety:
os.path.basename()applied before file resolution - Double
evaluate_clarification_standalonecall eliminated in standalone mode
- Clarification Gate — ambiguous prompts trigger one clarifying question before planning (#1423)
- Staged Planning — Discover→Design→Plan becomes the real default workflow (#1420)
- Planning Agent Guidance — question-first contract survives standard verbosity (#1419)
- Council Scene Rendering — real opening council scene in first response for PLAN/EVAL/AUTO (#1421)
- Permission Forecast — display upcoming permission classes before execution (#1418)
- Execution Gate — suppress dispatch-ready while planning is gated (#1422)
- Seed request-level council state from UserPromptSubmit (#1361)
- Compact live council badges in PreToolUse statusMessage (#1367)
- Council handoff, stage, and blocker state from PostToolUse (#1368)
review_prMCP tool for EVAL-mode PR review- EVAL-mode review agent prompt template in adapter docs
- Integrated
review_printo parse_mode EVAL dispatch
- Vite 7.3.1→8.0.5 security bump (GHSA-p9ff-h696-f583)
pr_quality_reportMCP tool for automated PR quality analysis (#1120)- Quality Gate step in /ship skill — runs specialist checks before PR creation (#1123)
create_briefingMCP tool for session state capture (#1122)resume_sessionMCP tool for cross-session recovery (#1124)- Briefing recovery detection on session-start (#1125)
SessionAnalyzermodule for git diff analysis and untested file detection (#1128)- Intelligence Report in session stop hook — shows what you did, gaps, and insights (#1130)
- Auto-create GitHub issues for untested files (opt-in) (#1132)
- Rule event tracking in MCP handlers (#1129)
rule-stats.jsonwriter service for aggregated rule metrics (#1131)get_rule_impact_reportMCP tool for quantified rule effectiveness (#1133)
- Plugin manifest schema and validator (#1135)
codingbuddy installcommand — git-based plugin installation (#1136)codingbuddy pluginsandcodingbuddy uninstallcommands (#1137)
codingbuddy searchcommand for plugin discovery via registry (#1169)- Registry resolver in install command — install by name (#1170)
codingbuddy updatecommand for plugin upgrades (#1171)
list_skillsswitched to filesystem-based discovery — all 48 skills now visible (#1162)triggersfield in SKILL.md frontmatter forrecommend_skills(#1163)- CI validation test for skill/agent discoverability (#1164)
- Removed TUI auto-open from session-start hook (#1112)
- Removed TUI auto-launch from MCP server bootstrap (#1113)
- Adopted single TUI multi-session model —
codingbuddy tuimanual start (#1111)
- Flaky TUI tests — replaced
setTimeout(0)tick with robustflushInkutility (#1118) - TaskMaestro review cycle automation and idle worker nudging (#1143)
- File overlap detection includes implicit shared files (barrel exports, module files) (#1145)
- Auto-issue module review fixes — safe import pattern (#1149)
- TUI File Bridge:
fs.watch-based bridge enables TUI sidebar updates in stdio mode (#1104, #1105) - Marketplace Auto-Update: Session-start hook auto-fetches marketplace clone with 24h throttle (#1101, #1107)
- MCP Auto-Configuration: Auto-create
~/.claude/mcp.jsonon session start for seamless MCP connectivity (#1100, #1106)
- Hook lib/ directory: Session-start now copies
lib/alongside hook file, fixing HUD state updates (#1102, #1103) - mcp.json missing: Plugin installation no longer leaves MCP tools unavailable (#1100, #1106)
- StatusLine HUD: Real-time session metrics in Claude Code UI (mode, cost, cache rate, context usage)
- tmux sidebar: Auto-setup TUI dashboard as sidebar pane when running in tmux
validate_plugin_manifesttool: Validate Claude Code plugin.json against known schema with fix suggestionspre_release_checktool: Pre-release validation with ecosystem auto-detection (Node.js, Python, Go, Rust, Java)- Release checklist domain: 10 items across version consistency, lockfile sync, manifest validation, CI quality gate
- Release config schema:
releasesection in codingbuddy.config.json for version files, lockfile, coverage threshold - EVAL release detection: Auto-include release checklist when version-related keywords detected in EVAL/AUTO mode
- CI schema validation: plugin.json and marketplace.json JSON Schema validation in dev workflow
- HUD state module: Cross-hook state management for statusLine and mode detection
bump-version.shnow runsyarn installto prevent lockfile drift after peerDependencies changes
CODINGBUDDY_AUTO_TUIdefaults to0— tmux sidebar replaces standalone TUI for Claude Code users
- Impact Telemetry: Session impact report on stop hook — track issues prevented, agents dispatched, checklists applied
- Impact Module: ImpactEventService + ImpactReportService with JSONL persistence
- get_session_impact MCP tool: Query session telemetry data
- Event logging: 5 MCP handlers now emit impact events (parse_mode, dispatch_agents, generate_checklist, update_context, search_rules)
- Buddy experience: Typing animation, agent handoff animation, mini bar chart, session summary
- First-run onboarding tour: Interactive walkthrough for new users
- Achievement system: Badges for coding habits
- ASCII fallback mode: Buddy character rendering without Unicode
- Adaptive performance mode: Auto-adjust hook processing based on system load
- taskMaestro review agent: Dedicated review pane with CI-first checklist
- taskMaestro conductor review cycle: Automated PR review before completion
- /ship skill: Built-in local CI checks and PR creation
- /onboard skill: New project setup wizard
- /retrospective skill: Session review and insights
- /plan-to-issues skill: Convert plans to GitHub issues
- Context history archive: Cross-session decision tracking
- Diff-based agent recommendation: Smarter agent selection based on changed files
- Rule effectiveness insights: Track which rules catch issues
- i18n expansion: PT-BR, DE, FR (now 8 languages total)
- Windsurf and Aider adapters: 8 AI tools now supported
- Adapter auto-sync:
yarn sync-rulesmechanism - E2E test pipeline: Plugin hooks integration testing
- Marketplace workflow self-trigger: CI deploys on workflow changes
- Security checks now run for all workspaces regardless of affected paths
- HOOK_COMMAND path quoting for home directories with spaces
- Backward-compatible hook detection using substring matching
- Session ID fallback when env var missing
- Batch achievement notifications to prevent text wall
- Reduced PreToolUse information overload with priority-based display
- Removed automatic TUI launch (memory optimization for multi-session)
- README revamped with marketing focus and Impact Telemetry showcase
Codingbuddy v5.0 transitions from an MCP-only rules library to a full AI coding framework with Claude Code Plugin as the primary delivery mechanism, harness engineering via hooks, and autonomous execution loops.
What changed:
- Primary entry point is now the Claude Code Plugin (MCP server remains for other AI tools)
- Harness engineering: PreToolUse/PostToolUse hooks enforce quality gates automatically
- Autonomous loops: Ralph Loop, Autopilot, and Ultrawork for self-correcting execution
- Agent collaboration: Discussion engine with opinion protocol for multi-agent debates
- Observability: Web dashboard, execution history DB, and Slack/Discord/Telegram notifications
- Plugin System: PreToolUse and PostToolUse hook lifecycle with crash-safe decorator (#824)
- Plugin System: hooks.json registration format with mtime-cached config loader (#824)
- Plugin System: Quality gate enforcement via PreToolUse hook (#824)
- Plugin System: Auto-learning pattern detection engine (#816)
- Plugin System: Per-agent persistent memory across sessions (#947)
- Plugin System: Conflict predictor for git history collision analysis (#946)
- Plugin System: Adaptive hook timeout tracking (#945)
- Plugin System: Smart pre-commit test runner for related test suggestions
- Plugin System: Health check diagnostic module
- Plugin System: System prompt injection module (#828)
- Plugin System: Event-driven notification service for Slack, Discord, Telegram (#829)
- Harness: Wire auto-learning pattern detector into stop hook (#929)
- Harness: File-based event bridge for Plugin→MCP communication
- Harness: Lazy mtime-based file watcher module (#826)
- Harness: SQLite execution history database (#827)
- Harness: Operational statistics tracker (#825)
- Harness: Rule effectiveness tracking with MCP tool (#948)
- Dashboard: Web dashboard for execution history and cost tracking (#822)
- TUI: Agent collaboration visualization with debates and consensus (#831)
- TUI: Collaboration data flow pipeline (EVAL → TUI)
- MCP Server: Unified agent registry in
dispatch_agents - MCP Server: AgentOpinion protocol and discussion engine
- MCP Server: Plan-reviewer as automatic gate after PLAN completion
- MCP Server: Real-time specialist execution visibility via Teams messaging
- MCP Server: Session issue tracking in
update_context - MCP Server: Deep thinking instructions in
parse_modePLAN response - MCP Server: Teams execution strategy in
dispatch_agents - MCP Server: Dispatch strength for specialist recommendations
- MCP Server:
validate_parallel_issuestool for file-overlap detection - Pipeline: Sequential task pipeline engine with data passing (#814)
- CLI:
codingbuddy initproject setup wizard - CLI: npx codingbuddy CLI entry point
- Agents: Plan-reviewer agent and plan-and-review skill
- Agents: Parallel-orchestrator agent definition
- Agents: Unique color identifiers for all 35 agent definitions
- Skills: 40+ new and enhanced skills including taskmaestro, deepsearch, git-master, build-fix, finishing-a-development-branch, verification-before-completion, requesting-code-review, receiving-code-review, using-git-worktrees, writing-plans, skill-creator, parallel-issues, plan-to-issues, test-coverage-gate, cross-repo-issues, retro, tmux-master, agent-discussion-panel, cost-budget-management
- Skills: Argument hints, allowed-tools, and context fork fields for skill metadata
- Sync: Multi-tool settings sync automation (#821)
- Wiki: Auto-generated project wiki with architecture map, API inventory, and decision log
- Rules: Parallel execution guidelines
- Rules: Continuous execution directive for parallel workers
- Rules: Auto-dispatch enforcement rule for specialists
- Rules: Operational safety rules
- Rules: Permission presets for parallel-execution and development workflows
- Keyword: Pattern-based primary agent resolution via
explicit_patterns
- Architecture: Primary delivery shifted from MCP-only to Claude Code Plugin + MCP
- Agent Discussion: Wired agent discussion config into EVAL mode
- Dashboard: Add PRAGMA busy_timeout and schema integration tests
- MCP Server: Remove yarn prefix from scripts to prevent state file crash
- Landing Page: Make #agents-all anchor link functional
- Rules: Fix markdownlint ordered list prefix in writing-plans SKILL.md (#913)
- Skills: Prevent stale RESULT.json/TASK.md pollution in worktrees
- Build: Remove stale RESULT.json/TASK.md from master and add to gitignore
- Plugin: Reduce PostToolUse hook per-call I/O with singleton and batching
- Rules: Translate all Korean text to English in .ai-rules
- Rules: Enforce API documentation verification in PLAN phase (#913)
- Rules: Add Output Language rule for English-only artifacts
- Skills: Batch update taskMaestro process improvements (#901–#916)
- MCP: TaskMaestro dispatch strategy in
dispatch_agentstool - MCP:
executionStrategyparameter for agent dispatch - MCP: TaskMaestro installation detection and
availableStrategiesinparse_mode - TUI:
useTickheartbeat timer hook (#670) - TUI: 7 pure live display functions (#669)
- TUI: ActivitySample with rawTimestamp and activityHistory (#671)
- TUI: Sparkline + throughput in StageHealthBar (#675)
- TUI: Animated spinner + live clock in HeaderBar (#673)
- TUI: Pulse icons + elapsed labels in FlowMap (#676)
- TUI: Elapsed timer + relative timestamps in FocusedAgentPanel (#674)
- Rules: Path Safety rules for monorepo (#690)
- Rules: Error Recovery policy with recoverable/unrecoverable distinction (#689)
- Landing Page: TUI Dashboard section in README
- TUI: Deprecate
useClock, wireuseTickexports (#672)
- TUI: Correct
computeThroughputtimestamp unit from ms to seconds - TUI: Stabilize
nowvia useMemo to prevent non-deterministic re-renders - TUI: Remove duplicate tick/now props in FocusedAgentPanelProps
- TUI: Mock useTick in integration tests to prevent CI timing issues
- MCP: Replace
require()with ESM import in sse-auth guard test - MCP: Improve SseAuthGuard timing-safe token comparison
- Landing Page: Migrate CSP from unsafe-inline to nonce-based
- Release: Add .mcp.json to bump-version and verify-release scripts
- TUI coverage for useTick, FlowMap, FocusedAgentPanel
- Model: Add multi-provider model support with provider-level prefixes
- MCP: Add client-type detection for opencode/crush and cursor with platform-specific parallel agent hints
- MCP: Add
get_skillchaining hint torecommend_skillstool - MCP: Add opencode-specific sequential specialist dispatch hint
- MCP: Add
projectRootWarningdiagnostic toparse_mode - Config: Track project root resolution source
- Skills: Add 12 new skill definitions (security-audit, documentation-generation, code-explanation, tech-debt, agent-design, rule-authoring, mcp-builder, context-management, deployment-checklist, error-analysis, legacy-modernization, prompt-engineering)
- Skills: Add i18n keyword triggers for 12 skills (KO/JA/ZH/ES)
- Skills: Align agent-design skill JSON examples with
agent.schema.json
- Add client-type detection and hint branching tests
- Add
recommend_skillsnextAction and chaining hint tests - Add keyword trigger tests for 12 skills
- Audit and enhance adapter documentation for Codex, Antigravity, Kiro, OpenCode, and Cursor
- Add MCP configuration and project root detection docs across all adapters
- Add specialist agents execution patterns across all adapters
- Reorganize skill catalog with categorized tables
- TUI FlowMap: Replace U-curve arrows with tree connectors for cleaner agent hierarchy visualization (#574)
- TUI FlowMap: Wire
activeStageand add per-stage agent statistics (#571) - TUI FlowMap: Add
isParallelflag and execution mode display for agent nodes (#550) - TUI FlowMap: Extend
renderAgentTreeto support multi-level agent subtree rendering (#557) - TUI ActivityVisualizer: Redesign Activity and Live panels for improved clarity (#551)
- TUI Footer: Track and display Agent, Skill, and Tool invocation counts
- TUI ChecklistPanel: Split
ChecklistPanelfromFocusedAgentPanelfor independent display (#548) - TUI Agent Visibility: Replace tool-centric display with real agent visibility (#549)
- TUI Restart: Implement TUI restart capability via MCP tool and CLI flag (#545)
- Agents: Add
software-engineeras default ACT agent (#568) - Agents: Add
data-scientistas ACT primary agent (#566) - Agents: Add
systems-developeras ACT primary agent (#565) - Agents: Add
security-engineeras ACT primary agent - Agents: Add
test-engineeras ACT primary agent (#563) - Keyword Patterns: Add refactoring and type definition patterns to backend keyword detection (#567)
- TUI FlowMap: Show intermediate progress values in progress bars (#572)
- TUI FlowMap: Remove stale agents from FlowMap after completion (#570)
- TUI HeaderBar: Fix header bar overflow, workspace path display, and remove
sess:prefix (#547) - Keyword Types: Add
ai-ml-engineertoACT_PRIMARY_AGENTS(#562) - Mode Handler: Auto-inherit
recommendedActAgentfrom context in ACT mode (#561)
- TUI Multi-Session: Multi-session support and auto-open TUI on MCP connection (#485)
- TUI Auto-Launch: Enable auto-launch via
--tuiCLI flag (#522) - TUI ActivityVisualizer: Replace MonitorPanel with ActivityVisualizer panel (#482)
- TUI FlowMap: Enhanced with visual hierarchy, pipeline header, and progress bars (#468)
- TUI MonitorPanel: Event log, agent timeline, and task progress display
- TUI Objectives: Wire up objectives from
parse_moderesponse (#473) - TUI Events: SKILL_RECOMMENDED event in dashboard state (#474)
- TUI Events: Pre-register specialists on PARALLEL_STARTED event (#475)
- TUI Events: Sync running agent stage on MODE_CHANGED (#476)
- TUI Events: Extract
recommended_act_agentandparallelAgentsRecommendationfromparse_mode(#477) - TUI Progress: Progress estimation via TOOL_INVOKED count (#472)
- TUI Layout: Double FocusedAgent panel width (#466)
- TUI Layout: Precise grid layout system (#458)
- TUI Layout: Fixed-width right-aligned FocusedAgent with responsive FlowMap (#462)
- TUI StageHealthBar: Live tool invocation count replaces hardcoded tokenCount (#490)
- TUI Checklist: Populate initial checklist from
parse_modeand improve task completion tracking (#504) - TUI FocusedAgent: Avatar, sparkline, and improved progress bar (#505)
- TUI Theme: Unified panel border colors via centralized BORDER_COLORS constant (#494)
- TUI Context: Display decisions/notes from context:updated in FocusedAgentPanel (#515)
- TUI Session: Reset dashboard state on
/clearcommand via SESSION_RESET event (#499) - Config: Tool-priority rules establishing codingbuddy MCP priority over OMC (#516, #512)
- MCP Server: TDD execution continuity rules to prevent RED phase halt (#463)
- GitHub: Copilot Code Review with custom instructions (#460)
- Docs: TUI troubleshooting guide for auto-launch startup issues (#520)
- TUI Activity: Replace Activity heatmap with horizontal bar chart (#517)
- TUI Layout: Reduce FocusedAgent panel width by ~10% and expand Activity/FlowMap panels (#501)
- TUI Tasks: Consolidate task:synced into single pass and fix event ordering (#504)
- TUI HeaderBar: AUTO mode displayed incorrectly as sequential step in process flow (#488)
- TUI Tasks: Tasks panel shows no data in PLAN/EVAL modes —
extractFromUpdateContextnow reads decisions/findings/notes (#492) - TUI Live: Live panel shows almost no data — replaced time-windowed bubbles with
renderLiveContext(#502) - TUI Progress: Progress percentage stuck at 0% due to agentId mismatch between TOOL_INVOKED and primary agent (#503)
- TUI AutoLauncher: Resolve absolute binary path for TuiAutoLauncher (#519)
- Build: Include TUI bundle in main build script to prevent stale exports
- Config: Exclude
.nextand build artifacts from prettier and tsconfig (#496)
- MCP Server: Unused code and dead exports (#486)
- TUI: Deprecated text-formatter functions from pure components
- TUI Dashboard: Ink-based terminal UI with Header, AgentCard, AgentTree, AgentGrid, StatusBar, and ProgressBar components
- TUI EventBus: EventEmitter2-based event system with
useEventBusanduseAgentStateReact hooks - TUI IPC: Standalone TUI process with Unix Domain Socket inter-process communication
- TUI Compact Design: Single-line layout optimized for 24-line terminals
- TUI Interceptor: MCP tool dispatch layer for real-time UI updates
- Landing Page: Next.js 16 multilingual (5 languages) landing page with production-ready setup
- Widget Slot architecture (AgentsShowcase, CodeExample, QuickStart widgets)
- shadcn/ui component library with theming and cookie consent
- Self-hosted fonts via
next/font - next-intl i18n configuration with parallel routes and locale slot layout
- Static sections: Hero, Problem, Solution, FAQ
- Header with language selector and theme toggle, Footer with accessibility improvements
- Vercel deployment configuration with analytics integration
- JSON-LD structured data for SEO (#424)
- WCAG 2.1 AA accessibility statement
- MCP Server: Bearer token authentication for SSE endpoints (#416)
- Agent System:
dispatch_agentstool and auto-dispatch inparse_moderesponse (#328) - Intent Patterns: Added
frontend-developeranddevops-engineerintent patterns for recommendation - EVAL Mode:
recommendedActAgentsupport in EVAL mode (#361)
- Prettier: Reformatted entire codebase with
printWidth: 100(#423) - MCP Server: Extracted shared
rules-coreandkeyword-coremodules (#415) - Plugin: Removed duplicate
syncVersionfrom build script (#418)
- Plugin
isPathSafe()path normalization and case-insensitive matching (#419) - MCP server
appendContextfindLastIndexmerge logic (#410) - MCP server
bootstrap()unhandled Promise rejection handler - MCP server unsafe type assertion runtime validation (#411)
- Landing page
html langattribute set from locale at server render time (#412) - Landing page removed radix-ui meta-package, using
@radix-ui/react-dialogdirectly (#413) validate-rules.shupdated to reference correct.ai-rulespath (#422)- Keyword intent-based resolution skips project config in recommendation mode
- Plugin typo
codebuddycorrected tocodingbuddyin dev path patterns - CI release-drafter pinned to SHA and aligned setup action versions
- TUI user guide, architecture, and troubleshooting documentation
- Landing page README with deployment guide and project structure
- Fixed agent count mismatch across documentation (#421)
- MCP_SSE_TOKEN environment variable documentation (#416)
- JSON-LD implementation plan (#424)
- Context-document handler tests (#417)
- TUI EventBus-UI, App root, and transport integration tests
- TUI performance and stability verification tests
- Landing page root layout and CSP headers tests
- Landing page async server component tests
- Automated version consistency verification for release process to prevent package.json/git tag mismatches (#305)
- New verification script (
scripts/verify-release-versions.sh) with clear error messages and fix instructions
- Updated release workflow with fail-fast verification step
- Simplified claude-code-plugin README documentation
Before (v3.x):
- Agent JSON →
model.preferred - Mode Agent →
model.preferred - Global Config →
ai.defaultModel - System Default
After (v4.0.0):
- Global Config →
ai.defaultModel(highest priority) - System Default
Before (v3.x): Both codingbuddy.config.js and codingbuddy.config.json supported
After (v4.0.0): Only codingbuddy.config.json supported
Why: JavaScript config files cannot be loaded in ESM projects ('type': 'module'), causing the MCP server to fail finding the language setting. JSON format is module-system independent.
Migration: Convert existing codingbuddy.config.js to .json format:
- Remove
module.exportswrapper - Use double quotes for keys and strings
- Remove trailing commas
Before:
module.exports = {
language: 'en',
}After:
{
"language": "en"
}--formatoption removed fromcodingbuddy initcommand (JSON is now the only format)
-
No action required if using global config: If you already set
ai.defaultModelincodingbuddy.config.json, your configuration will continue to work. -
Agent JSON model fields are now ignored: If you customized agent model preferences in
packages/rules/.ai-rules/agents/*.json, those settings no longer apply. Usecodingbuddy.config.jsoninstead:
codingbuddy.config.json:
{
"ai": {
"defaultModel": "claude-opus-4-20250514"
}
}ModelResolverService.resolveForMode()→ Useresolve()insteadModelResolverService.resolveForAgent()→ Useresolve()insteadModelSourcetype:'agent'and'mode'variants removedResolveModelParams:agentModelandmodeModelparameters removed
- Verbosity System: Token-optimized response formatting with configurable verbosity levels (
minimal,compact,standard,detailed) - PR All-in-One Skill: Unified pull request workflow combining review, approval, and merge operations
- SRP Complexity Classifier: Multi-language support for Single Responsibility Principle analysis
- Deprecated session module removed and references cleaned up
- Migrated from Dependabot to Renovate for dependency management
- All dependencies pinned to exact versions for reproducibility
- Auto-include skills and agents in parse_mode response
- CI workflow now ensures Dependabot PRs include yarn.lock updates
- SRP complexity classifier with multi-language support
- Plugin guide documentation for all supported languages