244 Commits

Author SHA1 Message Date
Alex Newman 6d145c035c Update version-bump skill to include plugin.json and git tagging workflow v4.3.2 2025-10-27 00:17:09 -04:00
Alex Newman bd5ad6e5c2 Update version-bump skill documentation and bump plugin version to 4.3.2 2025-10-27 00:14:18 -04:00
Alex Newman 28005b75af Release v4.3.2: User-facing context display via stderr hook
Improvements:
- Added user-message-hook for displaying context to users (src/hooks/user-message-hook.ts)
- Hook fires simultaneously with context injection, sending duplicate message via stderr
- Error messages don't get added to context, enabling user visibility
- Added 4 comprehensive documentation files (2500+ lines total)
- Improved cross-platform path handling in context-hook

Technical changes:
- New: src/hooks/user-message-hook.ts (stderr-based display mechanism)
- New: plugin/scripts/user-message-hook.js (built executable)
- New: docs/architecture-evolution.mdx (801 lines)
- New: docs/context-engineering.mdx (222 lines)
- New: docs/hooks-architecture.mdx (784 lines)
- New: docs/progressive-disclosure.mdx (655 lines)
- Modified: plugin/hooks/hooks.json (hook configuration)
- Modified: src/hooks/context-hook.ts (path handling)
- Modified: scripts/build-hooks.js (build support)
- Bumped version to 4.3.2 in all metadata files

Design rationale: Temporary workaround until Claude Code potentially adds ability to share messages with both user and context simultaneously.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 00:11:13 -04:00
Alex Newman 322f81e515 Merge pull request #31 from thedotmack/test/stderr-hook-experiment
Add User-Facing Context Display via stderr Hook
2025-10-27 00:05:34 -04:00
Alex Newman ea54a03fae Refactor: Update stderr-test-hook to user-message-hook and improve path handling 2025-10-27 00:04:26 -04:00
Alex Newman 15c55a57a3 Rename stderr-test-hook to user-message-hook for production
Changes:
- Renamed src/hooks/stderr-test-hook.ts to user-message-hook.ts
- Updated user-message-hook with production-ready messaging
- Updated scripts/build-hooks.js to build user-message-hook
- Updated plugin/hooks/hooks.json to reference user-message-hook.js
- Cleaned up old stderr-test-hook.js files
- Built and deployed user-message-hook.js to plugin directory

This hook displays context information to users via stderr, which is
currently the only way to show messages in Claude Code UI. It runs in
parallel with context-hook during SessionStart.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 23:14:19 -04:00
Alex Newman 056cd12558 Fix: Remove duplicate shebang from stderr-test-hook source 2025-10-26 22:33:01 -04:00
Alex Newman b0fae0cfd4 Add stderr test hook for UI experiment 2025-10-26 22:29:43 -04:00
Alex Newman 44b69b737b Remove memory toggle feature documentation as it is no longer relevant 2025-10-26 00:44:31 -04:00
Alex Newman 56213ef84a Fix: Update npm loglevel to silent in SessionStart hook to prevent context injection issues; consolidate hooks architecture and update documentation for v4.3.1 2025-10-26 00:44:04 -04:00
Alex Newman 64dfc0467d Docs: Update CHANGELOG.md and README.md for v4.3.1
- Added v4.3.1 entry to CHANGELOG.md with detailed fixes
- Updated README.md version badge to v4.3.1
- Updated "What's New" section highlighting SessionStart hook fix
- Documented hooks architecture consolidation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 00:14:53 -04:00
Alex Newman c75563a89b Release v4.3.1: Version bump and documentation updates
- Updated package.json version to 4.3.1
- Updated marketplace.json version to 4.3.1
- Added v4.3.1 entry to CLAUDE.md version history
- Documented SessionStart hook context injection fix
- Documented hooks architecture consolidation
- Rebuilt all executables with updated version

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
v4.3.1
2025-10-26 00:11:36 -04:00
Alex Newman fb00b517c0 Fix: Silence npm output in SessionStart hook to fix context injection
Problem: npm install outputs "up to date in Xms" to stdout, which prepends
non-JSON text to the hook output. Claude Code expects pure JSON and cannot
parse the output, causing context injection to fail silently.

Solution: Changed npm install flag from --loglevel=error to --loglevel=silent
to completely suppress stdout output, ensuring clean JSON output for hook.

Impact: SessionStart hook will now properly inject recent context into sessions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 00:06:53 -04:00
Alex Newman df44bd8fd3 Fix double shebang: remove shebang from TS source files (esbuild adds it) 2025-10-26 00:01:04 -04:00
Alex Newman e9c0ec45db Consolidate hooks: merge bin/hooks and hooks into single hooks/ directory
- Removed bin/hooks/ wrapper layer
- Moved all hook logic into consolidated hooks/*-hook.ts files
- Each hook now handles its own stdin/stdout/JSON wrapping
- Removed ALL try-catch blocks from context-hook (let errors surface)
- Updated build script to reference new src/hooks/ paths
- Reduced from 12+ files to 6 hook files

This simplifies the architecture and makes debugging actually possible.
2025-10-25 23:59:43 -04:00
Alex Newman d363dfd668 Fix: Restore hookSpecificOutput JSON format for SessionStart hook
The previous 'fix' to output plain text broke context injection.
SessionStart hooks require hookSpecificOutput JSON format.

Changes:
- Restore JSON output with hookSpecificOutput wrapper
- Keep improved error handling with JSON error output
- Tested with real SessionStart hook input format
2025-10-25 23:53:14 -04:00
Alex Newman c06abbc6f2 Fix: Add proper error handling to context hook stdin processing
- Wrap stdin event handler in try/catch to catch async errors
- Output errors to stdout so Claude can see them
- Show input preview and stack trace for debugging
- Remove outer try/catch that wasn't catching async errors
2025-10-25 23:51:53 -04:00
Alex Newman f499810c7a Fix: Remove startup matcher from SessionStart hook to inject context on all session starts (resume, clear, compact) 2025-10-25 23:48:07 -04:00
Alex Newman 609d8f5c88 Fix SessionStart hook to output plain text instead of JSON 2025-10-25 23:37:06 -04:00
Alex Newman 5ebf6c8aec fix: Increase timeout for SessionStart command in hooks.json 2025-10-25 23:34:52 -04:00
Alex Newman d94a11e2e1 Fix: Add matcher to SessionStart hook in hooks.json 2025-10-25 23:34:20 -04:00
Alex Newman d4d6185bb4 Release v4.3.0: Progressive Disclosure Context
Major Feature:
- Progressive Disclosure Context: 3-layer memory retrieval system
  - Layer 1 (Index): Observation titles, token costs, type indicators
  - Layer 2 (Details): Full narratives via MCP search on-demand
  - Layer 3 (Perfect Recall): Source code and original transcripts
- Context hook displays observations in table format
- Type indicators: 🔴 critical, 🟤 decision, 🔵 informational
- Token counts help Claude decide: fetch details vs read code

Added:
- Agent Skills documentation and version bump management skill
- Memory toggle feature planning document

Changed:
- Enhanced session summary handling and timeline rendering
- Context token cost increased from ~800 to ~2,500 tokens

Fixed:
- Removed hardcoded macOS-specific paths (fixes #23)
- Cross-platform path detection improvements

Files Updated:
- package.json, marketplace.json, plugin.json: version 4.3.0
- CLAUDE.md: version history and current version updated
- README.md: removed experimental section, integrated feature
- CHANGELOG.md: comprehensive v4.3.0 release entry
- Built all hooks and worker service

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
v4.3.0
2025-10-25 15:42:06 -04:00
Alex Newman 2df50bcaa0 Merge pull request #25 from thedotmack/feature/context-with-observations
feat: Enhanced context hook with session observations and cross-platform improvements
2025-10-25 15:33:29 -04:00
Alex Newman 19ecc7845f docs: Consolidate version history in CHANGELOG.md
Changes:
- CHANGELOG.md now contains detailed version history (already has v4.2.11)
- CLAUDE.md Version History section now:
  - References CHANGELOG.md for detailed history
  - Shows current version (4.2.11)
  - Includes brief highlights for recent versions only
  - Removed ~250 lines of detailed version documentation

This makes documentation more maintainable - single source of truth for
version history in CHANGELOG.md following Keep a Changelog format.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 15:13:14 -04:00
Alex Newman 142d6ae56f chore: Update changelog for v4.2.11 with cross-platform path detection fixes 2025-10-25 15:12:05 -04:00
Alex Newman 7db39bb482 Fix: Add cross-platform Claude path detection to feature branch
Applied v4.2.11 fix from main branch:
- Implemented explicit which/where command execution
- Unix/macOS: Uses 'which claude' command
- Windows: Uses 'where claude' command (CMD and PowerShell compatible)
- Fallback to CLAUDE_CODE_PATH environment variable
- Handles Windows multiple results (takes first match)

Technical changes:
- Added findClaudePath() helper using child_process.execSync
- Platform detection via process.platform === 'win32'
- Updated src/sdk/worker.ts with explicit path detection
- Updated src/services/worker-service.ts with explicit path detection
- Built worker-service.cjs reflects changes

This fixes SDK auto-detection failure that returned undefined path.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 14:59:53 -04:00
Alex Newman e600a0f702 chore: Bump version to 4.2.11 in plugin.json 2025-10-25 14:56:48 -04:00
Alex Newman b87654d452 Release v4.2.11: Cross-platform Claude path detection
Critical Bugfix:
- Fixed SDK auto-detection failure by implementing explicit which/where commands
- Unix/macOS: Uses 'which claude' command
- Windows: Uses 'where claude' command (CMD and PowerShell compatible)
- Fallback to CLAUDE_CODE_PATH environment variable
- Handles Windows multiple results (takes first match)

Impact:
- Before: Worker failed with "path must be string, received undefined"
- After: Worker correctly finds Claude executable on all platforms

Technical changes:
- Added findClaudePath() helper using child_process.execSync
- Platform detection via process.platform === 'win32'
- Updated src/sdk/worker.ts with explicit path detection
- Updated src/services/worker-service.ts with explicit path detection
- Bumped version to 4.2.11 in all metadata files
- Updated CLAUDE.md with v4.2.11 release notes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
v4.2.11
2025-10-25 14:56:30 -04:00
Alex Newman a3b0b70a98 feat: Add functionality to locate Claude Code executable
- Implemented `findClaudePath` function to determine the path of the Claude executable using environment variables or system commands (`which` for Unix/Mac and `where` for Windows).
- Integrated the `findClaudePath` function into the SDK worker and worker service to ensure the correct executable path is used when running the SDK agent.
- Enhanced error handling and logging for better debugging and user feedback regarding the executable path.
2025-10-25 14:53:59 -04:00
Alex Newman 81f8aa7eef worker 2025-10-25 14:45:31 -04:00
Alex Newman 8f8649c2a8 worker 2025-10-25 14:41:16 -04:00
Alex Newman ab0938633a worker 2025-10-25 14:39:13 -04:00
Alex Newman d8d4d2464f worker 2025-10-25 14:38:06 -04:00
Alex Newman 9d32629f9d worker 2025-10-25 14:35:56 -04:00
Alex Newman 6a007a26fe Remove hardcoded path to Claude executable in WorkerService.runSDKAgent method 2025-10-25 14:33:16 -04:00
Alex Newman 6131f9694a Update @anthropic-ai/claude-agent-sdk to version 0.1.27 in package.json and package-lock.json 2025-10-25 14:32:37 -04:00
Alex Newman 22777bdcfe Update default path for Claude Code executable in SDKWorker and WorkerService 2025-10-25 14:28:02 -04:00
Alex Newman d7946522e9 Add configurable path for Claude Code executable in SDKWorker and WorkerService 2025-10-25 14:24:17 -04:00
Alex Newman 43262d7b53 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-10-25 14:21:17 -04:00
Alex Newman 80fc1588d3 Remove unused import for ensureAllDataDirs in worker-service.ts 2025-10-25 14:20:35 -04:00
Alex Newman 70ba785364 feat: Add Agent Skills documentation and version bump management 2025-10-25 13:49:34 -04:00
Alex Newman 7fb990f845 Merge pull request #24 from thedotmack/copilot/add-awesome-claude-code-badge
Add Awesome Claude Code badge to README
2025-10-25 13:32:19 -04:00
Alex Newman 9f3bf55c76 refactor: Remove hardcoded paths for project and Claude Code executable in various scripts, fixes issue #23 2025-10-25 13:28:20 -04:00
copilot-swe-agent[bot] 83d9747627 Add Awesome Claude Code badge to README
Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>
2025-10-25 17:25:52 +00:00
Alex Newman ae2c789781 Bump version to 4.2.10 and fix Windows compatibility by removing hardcoded macOS path v4.2.10 2025-10-25 13:24:18 -04:00
copilot-swe-agent[bot] 81d7ab59ac Initial plan 2025-10-25 17:23:47 +00:00
Alex Newman e82d9e075b Remove hardcoded Claude code path and update project directory handling in XML import script 2025-10-25 13:18:31 -04:00
Alex Newman 99af5fdf13 Merge pull request #20 from thedotmack/copilot/fix-claude-executable-path
Remove hardcoded Claude executable path breaking non-standard installations
2025-10-25 13:02:44 -04:00
copilot-swe-agent[bot] b88ce840fa Remove hardcoded Claude executable path and defensive checks
Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>
2025-10-25 06:19:30 +00:00
copilot-swe-agent[bot] 516e136966 Initial exploration - understanding the issue
Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>
2025-10-25 06:17:53 +00:00