Personal Claude tooling
- Go 100%
|
Brian Morin
3be893390b
- Remove cmd/queryui web interface and cmd/dashboard experiment - Remove internal/duckdb package (pool, query, streaming, validation) - Remove CGO dependency (go-duckdb, chi router) - Add PermissionRequest hook event type - Simplify .mise.toml tasks for hooklogger-only workflow - Update README with DuckDB CLI query examples |
||
|---|---|---|
| .beads | Remove queryui and simplify to hooklogger-only | |
| cmd/hooklogger | Remove queryui and simplify to hooklogger-only | |
| .gitattributes | Initial commit: hooklogger for Claude Code hooks | |
| .gitignore | Add .bv/ to gitignore for beads viewer config | |
| .mise.toml | Remove queryui and simplify to hooklogger-only | |
| AGENTS.md | Initial commit: hooklogger for Claude Code hooks | |
| CLAUDE.md | Add mise configuration for tooling and tasks | |
| go.mod | Remove queryui and simplify to hooklogger-only | |
| README.md | Remove queryui and simplify to hooklogger-only | |
anthropic-tools
Tools for working with Claude Code and the Anthropic API.
hooklogger
Logs Claude Code hook events to JSONL files for analysis and debugging.
Features:
- Captures all hook events (tool calls, sessions, permissions, compactions, subagents)
- Stores logs per-session in
~/.anthropic-tools/hooks/ - Zero-overhead JSON passthrough - no parsing, no schema maintenance
- Query logs with DuckDB for powerful analysis
Installation:
mise use -g go:codeberg.org/brahn/anthropic-tools/cmd/hooklogger
hooklogger setup
Usage:
# Configure Claude Code hooks
hooklogger setup --user
# Check configuration
hooklogger setup --check
# Remove from hooks
hooklogger uninstall
Querying logs with DuckDB:
# List sessions
duckdb -c "SELECT _raw.session_id, MIN(_ts) as started, COUNT(*) as events
FROM '~/.anthropic-tools/hooks/*.jsonl'
GROUP BY 1 ORDER BY 2 DESC LIMIT 10"
# Tool usage summary
duckdb -c "SELECT _raw.tool_name, COUNT(*)
FROM '~/.anthropic-tools/hooks/*.jsonl'
WHERE _raw.tool_name IS NOT NULL
GROUP BY 1 ORDER BY 2 DESC"
# Search prompts
duckdb -c "SELECT _ts, _raw.prompt
FROM '~/.anthropic-tools/hooks/*.jsonl'
WHERE _raw.hook_event_name = 'UserPromptSubmit'
AND _raw.prompt LIKE '%search term%'"
# Query single session
duckdb -c "SELECT * FROM '~/.anthropic-tools/hooks/{session_id}.jsonl'"
Documentation:
hooklogger help
hooklogger setup --help
Development
mise run build # Build to bin/
mise run install # Install to GOPATH/bin
mise run check # Format, lint, build
mise run sessions # List logged sessions
mise run query '...' # Run DuckDB query
License
MIT