feat: make /afk command and permission hook globally available

Changed from per-project to global installation by default, making
InnerVoice features available across all projects automatically.

Global Installation:
- /afk slash command now in ~/.claude/commands/afk.md
- Permission hook now in ~/.claude/hooks/PermissionRequest.sh
- Both work in ALL projects without per-project setup

Install Script Updates:
- Added --global flag for global installation (recommended)
- Still supports per-project installation if needed
- Clear scope indication in output messages
- Updated uninstall instructions for both scopes

Documentation:
- Updated README to recommend global installation
- Added examples for both global and per-project setup
- Clearer uninstall instructions for each scope

Benefits:
- Users install once, works everywhere
- No per-project configuration needed
- Easier maintenance and updates
- Consistent behavior across all projects

Breaking Changes: None
- Per-project installation still supported
- Existing installations continue to work

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
RichardDillman
2025-11-23 15:13:01 -05:00
parent 6dcb4a888c
commit 0584ac6c5f
2 changed files with 23 additions and 7 deletions

View File

@@ -228,10 +228,14 @@ The toggle state is preserved while the bridge is running, and you'll get a Tele
By default, AFK mode only sends notifications when Claude explicitly uses notification tools. If you want to receive Telegram alerts when **permission prompts** appear (so you know Claude is waiting for approval), install the permission hook: By default, AFK mode only sends notifications when Claude explicitly uses notification tools. If you want to receive Telegram alerts when **permission prompts** appear (so you know Claude is waiting for approval), install the permission hook:
**Recommended: Install Globally (works in all projects)**
```bash ```bash
# From the innervoice directory
cd /path/to/innervoice cd /path/to/innervoice
./scripts/install-hook.sh --global
```
**Or install per-project:**
```bash
# Install in a specific project # Install in a specific project
./scripts/install-hook.sh /path/to/your/project ./scripts/install-hook.sh /path/to/your/project
@@ -246,7 +250,9 @@ This will send you a Telegram message like:
> **Action:** Check scraped sets files > **Action:** Check scraped sets files
> Check your terminal to approve or deny. > Check your terminal to approve or deny.
**To uninstall:** Simply delete `.claude/hooks/PermissionRequest.sh` from your project. **To uninstall:**
- Global: `rm ~/.claude/hooks/PermissionRequest.sh`
- Per-project: `rm .claude/hooks/PermissionRequest.sh`
### 8. Verify Global Setup ### 8. Verify Global Setup

View File

@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# Install the InnerVoice permission notification hook in a project # Install the InnerVoice permission notification hook globally or per-project
set -e set -e
@@ -7,12 +7,22 @@ HOOK_NAME="PermissionRequest.sh"
INNERVOICE_DIR="$(cd "$(dirname "$0")/.." && pwd)" INNERVOICE_DIR="$(cd "$(dirname "$0")/.." && pwd)"
SOURCE_HOOK="$INNERVOICE_DIR/hooks/$HOOK_NAME" SOURCE_HOOK="$INNERVOICE_DIR/hooks/$HOOK_NAME"
# Check for --global flag
if [ "$1" = "--global" ] || [ "$1" = "-g" ]; then
TARGET_HOOK_DIR="$HOME/.claude/hooks"
SCOPE="globally (all projects)"
UNINSTALL_CMD="rm ~/.claude/hooks/$HOOK_NAME"
else
# Get target project directory (default to current directory) # Get target project directory (default to current directory)
TARGET_DIR="${1:-.}" TARGET_DIR="${1:-.}"
TARGET_HOOK_DIR="$TARGET_DIR/.claude/hooks" TARGET_HOOK_DIR="$TARGET_DIR/.claude/hooks"
SCOPE="in project: $TARGET_DIR"
UNINSTALL_CMD="rm $TARGET_HOOK_DIR/$HOOK_NAME"
fi
echo "📦 Installing InnerVoice Permission Notification Hook" echo "📦 Installing InnerVoice Permission Notification Hook"
echo "" echo ""
echo "Scope: $SCOPE"
echo "Source: $SOURCE_HOOK" echo "Source: $SOURCE_HOOK"
echo "Target: $TARGET_HOOK_DIR/$HOOK_NAME" echo "Target: $TARGET_HOOK_DIR/$HOOK_NAME"
echo "" echo ""
@@ -35,4 +45,4 @@ echo ""
echo "🔔 Now when you're in AFK mode, you'll get Telegram notifications" echo "🔔 Now when you're in AFK mode, you'll get Telegram notifications"
echo " whenever Claude requests permission for a tool." echo " whenever Claude requests permission for a tool."
echo "" echo ""
echo "To uninstall: rm $TARGET_HOOK_DIR/$HOOK_NAME" echo "To uninstall: $UNINSTALL_CMD"