1
0
Fork 0
mirror of https://github.com/imjasonh/cnotes synced 2026-07-07 00:33:04 +00:00
Commit graph

26 commits

Author SHA1 Message Date
Jason Hall
54d5cc1244
Remove git hooks and simplify notes pushing
- Remove pre-push and post-commit hooks
- Remove examples directory with hook examples
- Update README to recommend git config for automatic notes pushing
- Restructure commands from cmd/ to internal/commands/
- Git now configured to push notes automatically with:
  git config --add remote.origin.push '+refs/notes/claude-conversations:refs/notes/claude-conversations'
2025-07-21 22:29:33 -04:00
Jason Hall
32be89b76d
Add Chrome extension for viewing git notes on GitHub
- Popup-based extension that works on GitHub commit pages
- Shows badge with note count when commits have notes
- Displays all available git notes refs in tabbed interface
- Supports cnotes format with special formatting
- Works with any public GitHub repository (no auth required)
- Includes caching to minimize API calls (60 req/hour limit)
2025-07-21 22:22:32 -04:00
Jason Hall
0991df3680
Add pre-push hook example for automatic notes pushing
- Create examples/pre-push-hook.sh with working pre-push hook
- Add documentation to README about automatic notes pushing
- Hook prevents infinite recursion with environment variable flag
2025-07-21 21:44:16 -04:00
Jason Hall
9a3d8efb89
Add GitHub Actions workflow for Go tests
- Test with latest stable Go version
- Run tests with race detector
- Check go mod tidy
- Run go vet and golangci-lint
- Add test status badge to README
2025-07-21 21:37:35 -04:00
Jason Hall
caa1834d58
Update README.md 2025-07-21 16:55:41 -04:00
Jason Hall
bae042b031
Prevent go run install and clean up settings
- Block installation when executable contains 'go-build' in path
- Clean up .claude/settings.json to only include properly installed cnotes
- Remove changelog line from README as requested
2025-07-21 15:02:20 -04:00
Jason Hall
3cfe51703e
Implement proper deduplication using last event timestamp tracking 2025-07-21 14:51:00 -04:00
Jason Hall
aedefe6391
Fix missing user prompts by increasing time buffer to 60 seconds 2025-07-21 14:45:14 -04:00
Jason Hall
a5c285a894
Debug: Test commit to check user prompt capture 2025-07-21 14:44:26 -04:00
Jason Hall
839b396e1e
Document emoji configuration in CLAUDE.md 2025-07-21 14:42:04 -04:00
Jason Hall
cc4541b256
Add configurable emojis for user and assistant messages 2025-07-21 14:41:19 -04:00
Jason Hall
c2927548f9
Complete conversational flow redesign for cnotes show 2025-07-21 14:36:24 -04:00
Jason Hall
25103349f9
Test conversational format in git notes 2025-07-21 14:35:50 -04:00
Jason Hall
03ccfdb50c
Update README to mention conversational transcript format 2025-07-21 14:32:33 -04:00
Jason Hall
9d3337ee0e
Improve pronunciation guide in README
- Add star emoji for emphasis
- Link to Wikipedia article about cenotes
- Fix markdown formatting
2025-07-21 13:30:43 -04:00
Jason Hall
4f8189cef8
Add stdin timeout and update documentation
- Add 2-second timeout for stdin input to prevent hanging
- Update README with pronunciation guide and go install instructions
- Fix command references in documentation from ./cnotes to cnotes
- Update settings.json to use /Users/jason/go/bin/cnotes run
- Improve generated by message formatting in notes output

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 13:02:15 -04:00
Jason Hall
324ad33ccc
Refactor to cnotes: focused git notes tool
BREAKING CHANGE: Complete restructure from hooks to cnotes

Major Changes:
- Removed all hook handler code except git commit detection
- Simplified to focused git notes functionality only
- Renamed binary from 'hooks' to 'cnotes'
- Restructured CLI: cnotes (hook handler), cnotes show, cnotes install, etc.
- Updated module path to github.com/imjasonh/cnotes
- Rewrote README and CLAUDE.md for new focused scope

New Command Structure:
- cnotes           # Main hook handler (receives Claude Code calls)
- cnotes show      # Pretty-print conversation notes
- cnotes install   # Configure Claude Code to use cnotes
- cnotes backup    # Backup conversation notes
- cnotes restore   # Restore notes from backup
- cnotes list      # List commits with notes

This creates a much cleaner, focused tool specifically for git conversation notes.
2025-07-21 12:52:39 -04:00
Jason Hall
997a55970f
Add pretty-printed Markdown show command for conversation notes
- Added 'hooks notes show [commit]' command that defaults to HEAD
- Formats conversation context in readable Markdown with proper sections
- Shows commit info, session details, tools used, commit context, and conversation excerpt
- Updated documentation to recommend the show command over raw git notes
- Enhanced user experience for viewing conversation context

Usage:
  ./hooks notes show       # Show notes for latest commit
  ./hooks notes show abc123 # Show notes for specific commit
2025-07-21 12:43:34 -04:00
Jason Hall
5d9e678db8
Complete git notes preservation documentation and cleanup
- Added comprehensive documentation for notes preservation during rebasing/squashing
- Updated CLAUDE.md with backup/restore command examples
- Documented best practices for preserving conversation context during destructive git operations
- Cleaned up test files

All git notes preservation features are now complete and documented.
2025-07-21 12:40:04 -04:00
Jason Hall
30e0a3cf11
Update documentation to reflect completed git notes integration
- Added git notes integration details to CLAUDE.md architecture overview
- Updated README.md to indicate git notes feature is fully implemented and tested
- Added configuration examples and usage instructions
- Documented the conversation context structure and privacy controls

The git notes feature is now production-ready and automatically working for all commits.
2025-07-21 12:35:09 -04:00
Jason Hall
63b1b07c85
Document git notes integration for conversation logging
Add comprehensive documentation for the git notes functionality:
- Example usage and real-world scenarios
- Commands for viewing conversation context attached to commits
- Configuration options via .claude/notes.json
- Privacy controls and sensitive data filtering
- Team collaboration workflows for sharing git notes
- Complete JSON example showing structured conversation data

Users can now easily understand how to view and configure the
automatic conversation context attachment to their git commits.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 12:27:12 -04:00
Jason Hall
45ef980233
Scaffold all 7 hook events and eliminate type casting
- Add missing hook handlers: Stop, SubagentStop, PreCompact
- Replace all string type casting with proper JSON unmarshaling
- Change ToolUseRequest.Parameters from map[string]interface{} to json.RawMessage
- Update helper methods to use json.Unmarshal directly to typed structs
- Replace speech notifications with simple logging notifications
- Update documentation to reflect all hook events and remove speech references
- Add comprehensive CLAUDE.md with architecture overview and development guidance

All hooks now use type-safe JSON handling without .(string) assertions.
Complete coverage of Claude Code events: PreToolUse, PostToolUse,
UserPromptSubmit, Notification, Stop, SubagentStop, PreCompact.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 12:01:55 -04:00
Jason Hall
c61b579243
Complete hooks implementation with comprehensive features
- Add project-level settings support (.claude/settings.json)
- Implement regex-based dangerous command detection
- Add typed tool input parsing (BashToolInput, FileToolInput)
- Replace terminal-notifier with speech-only notifications
- Add contextual spoken messages for prompts and notifications
- Implement timeout handling for hook execution
- Add comprehensive goimports automation for Go files
- Support global, local, and project hook configurations
- Fix JSON field mapping to match Claude Code expectations
- Add extensive logging and error handling

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 11:27:18 -04:00
Jason Hall
9cfbafb584
Switch to terminal-notifier for visual notifications
- Replaced go-toast with terminal-notifier for better reliability
- Visual notifications now require: brew install terminal-notifier
- Speech notifications continue to work with built-in say command
- Cleaner implementation with no deprecation warnings

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 11:27:15 -04:00
Jason Hall
f36813078c
Add notification hook with macOS speech synthesis
- Speaks Claude notifications using the 'say' command
- Handles both permission requests and regular notifications
- Only runs on macOS systems
- Non-blocking execution to avoid delays

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 11:27:11 -04:00
Jason Hall
2e7a2badba
Initial implementation of Claude Code hooks in Go
- Easy-to-use hook registration system
- Built-in hooks for bash validation, file protection, and logging
- Automatic goimports formatting for modified Go files
- CLI with install/uninstall commands
- Comprehensive documentation and examples

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 11:27:08 -04:00