{ "hooks": { "PostToolUse": [ { "matcher": "Write|Edit|MultiEdit", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q '\\.(ts|tsx|js|jsx)$'; then echo \"๐Ÿ”ง Formatting $file_path with Prettier...\"; npx prettier --write \"$file_path\" 2>/dev/null || echo \"โš ๏ธ Prettier not available\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'api.*route\\.(ts|js)$'; then echo \"๐Ÿš€ AI SDK API route detected: $file_path\"; echo \"๐Ÿ“‹ Advanced checklist:\"; echo \" โ€ข Edge Runtime compatibility (runtime = 'edge')\"; echo \" โ€ข Streaming with proper timeouts\"; echo \" โ€ข Error boundaries and recovery\"; echo \" โ€ข Rate limiting and security\"; echo \" โ€ข Monitoring and analytics integration\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'package\\.json$'; then echo \"๐Ÿ“ฆ Package.json updated: $file_path\"; echo \"๐Ÿ”„ Run 'npm install' to sync dependencies\"; echo \"๐Ÿ’ก Consider updating Vercel config for Edge Runtime\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'streamUI\\|generateUI'; then echo \"๐ŸŽจ Generative UI detected: $file_path\"; echo \"โœจ Advanced UI features available:\"; echo \" โ€ข Dynamic component streaming\"; echo \" โ€ข Real-time chart generation\"; echo \" โ€ข Interactive form creation\"; echo \" โ€ข Dashboard widgets\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'computer.*tool\\|computer_20241022'; then echo \"๐Ÿ–ฅ๏ธ Computer Use implementation detected: $file_path\"; echo \"๐Ÿ” Security reminders:\"; echo \" โ€ข Validate all actions before execution\"; echo \" โ€ข Implement rate limiting\"; echo \" โ€ข Add permission controls\"; echo \" โ€ข Log all computer interactions\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'o1-preview\\|o1-mini\\|deepseek.*reasoner'; then echo \"๐Ÿง  Reasoning model detected: $file_path\"; echo \"๐Ÿ’ญ Reasoning optimizations:\"; echo \" โ€ข Enable thinking mode visibility\"; echo \" โ€ข Increase token limits (8K-32K)\"; echo \" โ€ข Add reasoning-specific prompts\"; echo \" โ€ข Monitor thinking token usage\"; fi; }" } ] }, { "matcher": "Bash", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.command' | { read cmd; if echo \"$cmd\" | grep -q 'npm install.*@ai-sdk'; then echo \"๐Ÿค– AI SDK dependency installed!\"; echo \"๐ŸŒŸ Advanced features now available:\"; echo \" โ€ข Reasoning models (O1, O3-mini, DeepSeek R1)\"; echo \" โ€ข Computer use capabilities\"; echo \" โ€ข Generative UI with streamUI\"; echo \" โ€ข Multi-modal streaming\"; echo \" โ€ข Edge runtime optimization\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.command' | { read cmd; if echo \"$cmd\" | grep -q 'npm.*test'; then echo \"๐Ÿงช Tests completed\"; echo \"๐Ÿ“Š Advanced testing coverage:\"; echo \" โ€ข Streaming response validation\"; echo \" โ€ข Error recovery mechanisms\"; echo \" โ€ข Tool execution testing\"; echo \" โ€ข Edge runtime compatibility\"; echo \" โ€ข Performance benchmarks\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.command' | { read cmd; if echo \"$cmd\" | grep -q 'vercel.*deploy'; then echo \"๐Ÿš€ Vercel deployment detected\"; echo \"โšก Edge optimization reminders:\"; echo \" โ€ข Verify Edge Runtime configuration\"; echo \" โ€ข Check bundle size limits\"; echo \" โ€ข Test regional performance\"; echo \" โ€ข Monitor cold start times\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.command' | { read cmd; if echo \"$cmd\" | grep -q 'build'; then echo \"๐Ÿ—๏ธ Build process initiated\"; echo \"๐Ÿ” Advanced build checks:\"; echo \" โ€ข TypeScript compilation\"; echo \" โ€ข Bundle analysis\"; echo \" โ€ข Dependency optimization\"; echo \" โ€ข Performance profiling\"; fi; }" } ] } ], "PreToolUse": [ { "matcher": "Write", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q '\\.env'; then echo \"๐Ÿ”’ WARNING: Writing to environment file. Ensure no secrets are committed!\"; echo \"๐Ÿ”‘ AI SDK environment variables checklist:\"; echo \" โ€ข ANTHROPIC_API_KEY for Claude models\"; echo \" โ€ข OPENAI_API_KEY for GPT models\"; echo \" โ€ข Provider-specific configurations\"; echo \" โ€ข Edge runtime settings\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'api.*route'; then echo \"๐Ÿ›ก๏ธ Creating AI SDK API route: $file_path\"; echo \"๐Ÿ“‹ Advanced implementation checklist:\"; echo \" โœ… Edge Runtime compatibility (runtime = 'edge')\"; echo \" โœ… Advanced streaming with timeouts\"; echo \" โœ… Multi-step tool execution with stopWhen\"; echo \" โœ… Background processing with waitUntil\"; echo \" โœ… Provider fallback mechanisms\"; echo \" โœ… Comprehensive error handling\"; echo \" โœ… Rate limiting and security\"; echo \" โœ… Performance monitoring integration\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'next\\.config'; then echo \"โš™๏ธ Next.js configuration update: $file_path\"; echo \"๐Ÿš€ Advanced AI SDK optimizations:\"; echo \" โ€ข Edge Runtime configuration\"; echo \" โ€ข Bundle optimization for AI SDK\"; echo \" โ€ข Streaming response headers\"; echo \" โ€ข Performance monitoring setup\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.file_path' | { read file_path; if echo \"$file_path\" | grep -q 'vercel\\.json'; then echo \"๐ŸŒ Vercel configuration detected: $file_path\"; echo \"โšก Edge deployment optimizations:\"; echo \" โ€ข Regional function deployment\"; echo \" โ€ข Edge Runtime configuration\"; echo \" โ€ข Custom headers for AI responses\"; echo \" โ€ข Performance monitoring setup\"; fi; }" } ] }, { "matcher": "Bash", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.command' | { read cmd; if echo \"$cmd\" | grep -q 'rm.*-rf'; then echo \"โš ๏ธ CAUTION: Destructive operation detected!\"; echo \"Please review: $cmd\"; echo \"๐Ÿ’พ Consider backing up important AI models/data first\"; fi; }" }, { "type": "command", "command": "jq -r '.tool_input.command' | { read cmd; if echo \"$cmd\" | grep -q 'git.*push'; then echo \"๐Ÿ“ค Git push detected\"; echo \"๐Ÿ” Pre-push AI SDK checklist:\"; echo \" โ€ข No API keys in commits\"; echo \" โ€ข AI SDK dependencies updated\"; echo \" โ€ข Tests passing\"; echo \" โ€ข Performance benchmarks acceptable\"; fi; }" } ] } ], "Stop": [ { "matcher": "", "hooks": [ { "type": "command", "command": "if [ -f \"package.json\" ] && grep -q '@ai-sdk' package.json; then echo \"\\n๐ŸŽฏ Advanced AI SDK Development Session Complete\"; echo \"\\n๐Ÿš€ Cutting-edge AI features implemented:\"; echo \" โœจ Generative UI with streamUI\"; echo \" ๐Ÿง  Reasoning models (O1, O3-mini, DeepSeek)\"; echo \" ๐Ÿ–ฅ๏ธ Computer use automation\"; echo \" โšก Edge runtime optimization\"; echo \" ๐Ÿ“Š Performance monitoring\"; echo \" ๐Ÿ”ง Advanced streaming patterns\"; echo \"\\n๐Ÿ“‹ Final production checklist:\"; echo \" โœ“ Streaming responses optimized?\"; echo \" โœ“ Error boundaries implemented?\"; echo \" โœ“ Edge runtime configured?\"; echo \" โœ“ Monitoring and analytics active?\"; echo \" โœ“ Security measures in place?\"; echo \" โœ“ Performance tested?\"; echo \" โœ“ Cost tracking enabled?\"; echo \"\\n๐ŸŒŸ Ready to deploy next-generation AI experiences!\"; fi" } ] } ], "Notification": [ { "matcher": "", "hooks": [ { "type": "command", "command": "echo \"๐Ÿค– Claude Code Advanced AI SDK Expert is ready!\"; echo \"\\n๐ŸŒŸ Advanced capabilities available:\"; echo \" ๐Ÿง  Reasoning Models (O1, O3-mini, DeepSeek R1)\"; echo \" ๐Ÿ–ฅ๏ธ Computer Use Automation\"; echo \" ๐ŸŽจ Generative UI with streamUI\"; echo \" โšก Edge Runtime Optimization\"; echo \" ๐Ÿ“Š Performance Monitoring\"; echo \" ๐Ÿ”ง Multi-step Agent Workflows\"; echo \"\\n๐Ÿ’ก Use specialized agents and commands for advanced features!\"" } ] } ] }, "permissions": { "allow": [ "Bash(npm:*)", "Bash(pnpm:*)", "Bash(yarn:*)", "Bash(npx:*)", "Bash(node:*)", "Bash(git:*)", "Bash(curl:*)", "Bash(mkdir:*)", "Bash(cp:*)", "Bash(mv:*)", "Bash(rm:*)", "Bash(ls:*)", "Bash(cat:*)", "Bash(grep:*)", "Bash(find:*)", "Bash(jq:*)", "Bash(echo:*)", "Bash(vercel:*)", "Bash(docker:*)", "Write", "Edit", "MultiEdit", "Read", "Glob", "Grep", "LS", "Task" ], "deny": [ "Bash(sudo:*)", "Bash(su:*)", "Read(.env)", "Read(.env.*)", "Read(*/secrets/*)", "Read(**/secrets/**)", "Write(.env)", "Write(.env.*)" ] }, "env": { "AI_SDK_EXPERT_MODE": "advanced", "CLAUDE_CODE_AI_SDK_CONFIG": "loaded", "ENABLE_REASONING_MODELS": "true", "ENABLE_COMPUTER_USE": "true", "ENABLE_GENERATIVE_UI": "true", "ENABLE_EDGE_OPTIMIZATION": "true", "ENABLE_ADVANCED_MONITORING": "true" }, "_metadata": { "name": "Vercel AI SDK", "version": "1.0.0", "category": "tooling", "generated": "2025-08-20T13:36:56.495Z", "generator": "manual", "note": "Official Claude Code configuration" } }