feat: Add task-progress-pane plugin for TodoWrite visualization - #1
Merged
Conversation
Sprint 1: Foundation & Core Infrastructure Shared Package (@ai-mesh/multiplexer-adapters): - TPP-S1-PKG-001: Create package structure - TPP-S1-PKG-002: Extract base-adapter.js - TPP-S1-PKG-003: Extract wezterm-adapter.js - TPP-S1-PKG-004: Extract zellij-adapter.js - TPP-S1-PKG-005: Extract tmux-adapter.js - TPP-S1-PKG-006: Extract multiplexer-detector.js - TPP-S1-PKG-007: Update pane-viewer to use shared package Task Progress Pane Core: - TPP-S1-CORE-001: Create package directory structure - TPP-S1-CORE-002: Initialize package.json with dependencies - TPP-S1-CORE-003: Create .claude-plugin/plugin.json - TPP-S1-CORE-004: Implement config-loader.js with defaults - TPP-S1-CORE-005: Implement task-parser.js for TodoWrite - TPP-S1-CORE-006: Implement time-tracker.js module - TPP-S1-CORE-007: Implement session-manager.js module - TPP-S1-CORE-008: Create task-pane-manager.js Hooks: - TPP-S1-HOOK-001: Create hooks.json for TodoWrite - TPP-S1-HOOK-002: Implement task-spawner.js with 50ms debounce Testing: - TPP-S1-TEST-001: Set up Vitest framework and mocks - TPP-S1-TEST-002: Write task-parser.test.js - TPP-S1-TEST-003: Write config-loader.test.js Documentation: - Created PRD v1.1.0 (task-progress-pane.md) - Created TRD v1.1.0 (task-progress-pane.md) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sprint 2: Terminal UI & Progress Display UI Components (task-progress-monitor.sh ~550 lines): - TPP-S2-UI-001: Create task-progress-monitor.sh scaffold - TPP-S2-UI-002: Implement ANSI color scheme constants - TPP-S2-UI-003: Implement progress bar renderer (failed reduces %) - TPP-S2-UI-004: Implement fixed header region - TPP-S2-UI-005: Implement task list renderer - TPP-S2-UI-006: Implement task state icons (✓ ● ○ ✗) - TPP-S2-UI-007: Implement elapsed time display - TPP-S2-UI-008: Implement section collapse/expand visuals - TPP-S2-UI-009: Implement scrollable body region - TPP-S2-UI-010: Implement state watching (inotifywait + polling) - TPP-S2-UI-011: Implement responsive width handling - TPP-S2-UI-012: Implement help bar at bottom Documentation: - Added README.md with configuration and keybindings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implement remaining vim-style navigation features: - Enter key: toggle expand/collapse for task details - zc/zo: section fold/unfold commands - Tab/Shift+Tab: session navigation for multi-session support - Multi-session state tracking (SESSION_IDS, CURRENT_SESSION_IDX) - Improved help bar with context-aware commands - Enhanced task list rendering with expand icons and collapsed sections 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…features Multi-session support: - Parse multi-session state using jq (with basic fallback) - Session indicator dots in header (● ○ ○) - Per-session task isolation with parallel arrays - Session header shows agent type and session count - Tab/Shift+Tab navigation between sessions Advanced features: - Auto-collapse completed section when >5 items (configurable) - Expandable error details for failed tasks - Expandable task summaries with activeForm display - Auto-hide on empty state (configured in task-spawner.js) - Auto-spawn on first TodoWrite (configured in task-spawner.js) - Task log persistence to ~/.ai-mesh-task-progress/logs/ - JSONL format with daily rotation - Session summaries logged on completion - readLogs() method for date range queries 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…polish Documentation: - docs/CONFIGURATION.md: Full configuration reference - docs/KEYBINDINGS.md: Vim-style keybinding reference - docs/USAGE.md: Comprehensive usage guide Slash command: - commands/task-progress-config.md: Interactive configuration command E2E Tests (tests/e2e/workflow.test.js): - Full task lifecycle tests - Multi-session support tests - State persistence tests - Empty state handling Performance Tests (tests/performance/benchmark.test.js): - Task parser: 100 tasks <10ms, 1000 tasks <50ms - Progress calculation: 1000 tasks <5ms - Diff calculation: 100 tasks <10ms - Session manager: 50 sessions x 100 tasks <100ms Integration Tests (tests/integration/multiplexer.test.js): - Pane manager initialization - Pane lifecycle (create, reuse, close) - State updates and signal protocol - Pane visibility detection - Direction options (right/bottom) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
… issues - Fix race condition in debounce logic by adding processingUpdate flag - Update shebang to use Bash 5.3 for negative array index support - Fix unbound variable error with proper default value syntax - Add flicker-free monitor script (task-progress-monitor-v2.sh) - Update task-pane-manager to use new monitor script 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ent duplicate panes - Add file-based locking mechanism using O_EXCL for atomic lock acquisition - Track panes by transcriptDir to enable reuse across parallel Task calls - Add debug logging to help diagnose race conditions - Include stale lock detection (auto-cleanup after 10 seconds) Root cause: Duplicate hooks in both settings.json and plugin's hooks.json caused double execution. This fix adds defense-in-depth protection. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ldangelo
added a commit
that referenced
this pull request
Dec 15, 2025
- Fix naming inconsistencies (ai-mesh-plugins → ensemble, not ensemble → ensemble) - Mark completed tasks: PREP-008 (directory rename), GH-1 (GitHub rename), GH-6 (URL redirects) - Add CODE-170 for AI_MESH_* → ENSEMBLE_* environment variable rename - Update version to 1.3.0, status to "In Progress" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ldangelo
added a commit
that referenced
this pull request
Dec 15, 2025
- Updated ~85 tasks from [ ] to [x] reflecting actual completion - Marked all PREP tasks complete (scripts exist, directory renamed) - Marked all CODE tasks complete (packages renamed to v5.0.0) - Marked GitHub tasks GH-1 through GH-3, GH-6 complete - Marked migration tasks MIG-001 through MIG-003, MIG-005 complete - Updated sprint checklists with completion status - Changed document status from "In Progress" to "~95% Complete" Remaining items (~10 tasks): - DOC-001: Create MIGRATION.md guide - MIG-004: Add migration script to package.json bin - MIG-006/007: Test migration on Linux/WSL - TEST-001: Fix 14 pre-existing test failures - GH-4/005: Update repo description and topics - TEST-003/005: Integration tests and GitHub install test 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ldangelo
added a commit
that referenced
this pull request
Dec 15, 2025
Updated GitHub repository metadata: - Description: "Ensemble Plugin Ecosystem - Modular Claude Code plugins for AI-augmented development workflows" - Topics: claude-code, claude, ai-development, plugins, development-tools, cli, typescript, nodejs All GitHub tasks (GH-1 through GH-6) now complete. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5 tasks
This was referenced May 27, 2026
ldangelo
added a commit
that referenced
this pull request
Jun 18, 2026
- Fix naming inconsistencies (ai-mesh-plugins → ensemble, not ensemble → ensemble) - Mark completed tasks: PREP-008 (directory rename), GH-1 (GitHub rename), GH-6 (URL redirects) - Add CODE-170 for AI_MESH_* → ENSEMBLE_* environment variable rename - Update version to 1.3.0, status to "In Progress" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ldangelo
added a commit
that referenced
this pull request
Jun 18, 2026
- Updated ~85 tasks from [ ] to [x] reflecting actual completion - Marked all PREP tasks complete (scripts exist, directory renamed) - Marked all CODE tasks complete (packages renamed to v5.0.0) - Marked GitHub tasks GH-1 through GH-3, GH-6 complete - Marked migration tasks MIG-001 through MIG-003, MIG-005 complete - Updated sprint checklists with completion status - Changed document status from "In Progress" to "~95% Complete" Remaining items (~10 tasks): - DOC-001: Create MIGRATION.md guide - MIG-004: Add migration script to package.json bin - MIG-006/007: Test migration on Linux/WSL - TEST-001: Fix 14 pre-existing test failures - GH-4/005: Update repo description and topics - TEST-003/005: Integration tests and GitHub install test 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ldangelo
added a commit
that referenced
this pull request
Jun 18, 2026
Updated GitHub repository metadata: - Description: "Ensemble Plugin Ecosystem - Modular Claude Code plugins for AI-augmented development workflows" - Topics: claude-code, claude, ai-development, plugins, development-tools, cli, typescript, nodejs All GitHub tasks (GH-1 through GH-6) now complete. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Features
Bug Fixes (Latest)
Test plan
🤖 Generated with Claude Code