Skip to content
Entertainment
Hook

Hooks

What coding-buddy runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.

From plugin
coding-buddy
4631 skill3 hooks
Install
> /plugin marketplace add ramarivera/coding-buddy
> /plugin install coding-buddy@coding-buddy

Ships with coding-buddy. Installing the plugin gets these hooks.

What fires, and when

PostToolUse

  • MatchesBash${CLAUDE_PLUGIN_ROOT}/hooks/react.sh
  • MatchesWrite|Edit${CLAUDE_PLUGIN_ROOT}/hooks/file-type-react.sh

Stop

  • ${CLAUDE_PLUGIN_ROOT}/hooks/buddy-comment.sh
  • ${CLAUDE_PLUGIN_ROOT}/hooks/suggest.sh

UserPromptSubmit

Fires before Claude sees each prompt you send. A plugin can use it to inject context, so the same instruction reaches the model every turn instead of only at session start.

  • ${CLAUDE_PLUGIN_ROOT}/hooks/name-react.sh
  • ${CLAUDE_PLUGIN_ROOT}/hooks/mood-react.sh
Read hooks/hooks.json

Where it lives

  • hooks/buddy-comment.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    set +e
    SCRIPT_DIR="${BASH_SOURCE[0]%/*}"
    ROOT="$(cd "$SCRIPT_DIR/.." 2>/dev/null && pwd)" || exit 0
    [ -n "$ROOT" ] || exit 0
    BUN="$(command -v bun 2>/dev/null || true)"
    [ -x "$BUN" ] || BUN="$HOME/.bun/bin/bun"
    [ -x "$BUN" ] || BUN="/opt/homebrew/bin/bun"
    [ -x "$BUN" ] || BUN="/usr/local/bin/bun"
    [ -x "$BUN" ] || exit 0
    exec "$BUN" run "$ROOT/server/hooks/buddy-comment.ts" || exit 0
    
  • hooks/file-type-react.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    set +e
    SCRIPT_DIR="${BASH_SOURCE[0]%/*}"
    ROOT="$(cd "$SCRIPT_DIR/.." 2>/dev/null && pwd)" || exit 0
    [ -n "$ROOT" ] || exit 0
    BUN="$(command -v bun 2>/dev/null || true)"
    [ -x "$BUN" ] || BUN="$HOME/.bun/bin/bun"
    [ -x "$BUN" ] || BUN="/opt/homebrew/bin/bun"
    [ -x "$BUN" ] || BUN="/usr/local/bin/bun"
    [ -x "$BUN" ] || exit 0
    exec "$BUN" run "$ROOT/server/hooks/file-type-react.ts" || exit 0
    
  • hooks/mood-react.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    set +e
    SCRIPT_DIR="${BASH_SOURCE[0]%/*}"
    ROOT="$(cd "$SCRIPT_DIR/.." 2>/dev/null && pwd)" || exit 0
    [ -n "$ROOT" ] || exit 0
    BUN="$(command -v bun 2>/dev/null || true)"
    [ -x "$BUN" ] || BUN="$HOME/.bun/bin/bun"
    [ -x "$BUN" ] || BUN="/opt/homebrew/bin/bun"
    [ -x "$BUN" ] || BUN="/usr/local/bin/bun"
    [ -x "$BUN" ] || exit 0
    exec "$BUN" run "$ROOT/server/hooks/mood-react.ts" || exit 0
    
  • hooks/name-react.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    set +e
    SCRIPT_DIR="${BASH_SOURCE[0]%/*}"
    ROOT="$(cd "$SCRIPT_DIR/.." 2>/dev/null && pwd)" || exit 0
    [ -n "$ROOT" ] || exit 0
    BUN="$(command -v bun 2>/dev/null || true)"
    [ -x "$BUN" ] || BUN="$HOME/.bun/bin/bun"
    [ -x "$BUN" ] || BUN="/opt/homebrew/bin/bun"
    [ -x "$BUN" ] || BUN="/usr/local/bin/bun"
    [ -x "$BUN" ] || exit 0
    exec "$BUN" run "$ROOT/server/hooks/name-react.ts" || exit 0
    
  • hooks/react.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    set +e
    SCRIPT_DIR="${BASH_SOURCE[0]%/*}"
    ROOT="$(cd "$SCRIPT_DIR/.." 2>/dev/null && pwd)" || exit 0
    [ -n "$ROOT" ] || exit 0
    BUN="$(command -v bun 2>/dev/null || true)"
    [ -x "$BUN" ] || BUN="$HOME/.bun/bin/bun"
    [ -x "$BUN" ] || BUN="/opt/homebrew/bin/bun"
    [ -x "$BUN" ] || BUN="/usr/local/bin/bun"
    [ -x "$BUN" ] || exit 0
    exec "$BUN" run "$ROOT/server/hooks/react.ts" || exit 0
    
  • hooks/suggest.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    set +e
    SCRIPT_DIR="${BASH_SOURCE[0]%/*}"
    ROOT="$(cd "$SCRIPT_DIR/.." 2>/dev/null && pwd)" || exit 0
    [ -n "$ROOT" ] || exit 0
    BUN="$(command -v bun 2>/dev/null || true)"
    [ -x "$BUN" ] || BUN="$HOME/.bun/bin/bun"
    [ -x "$BUN" ] || BUN="/opt/homebrew/bin/bun"
    [ -x "$BUN" ] || BUN="/usr/local/bin/bun"
    [ -x "$BUN" ] || exit 0
    exec "$BUN" run "$ROOT/server/hooks/suggest.ts" || exit 0
    

Read the script before you install anything that runs on your machine. This is the one part of a plugin that acts without being asked.

Ships withcoding-buddy

Keep Your Claude Code Buddy Forever — permanent coding companion that survives every update

Get the whole plugin
Stats
463
Stars
66
Forks
Maintained
Maintenance
TypeScript
Language
MIT
License
2mo ago
Last commit
6mo ago
Created
4h ago
Added

Repo: ramarivera/coding-buddy