chore: clean up hooks and migrate binary to Git LFS

- Remove Claude code hooks (post-write, pre-bash, session-end, session-start, stop, user-prompt-submit)
- Migrate foundry.7z binary to Git LFS
- Update serena project configuration

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
centron\schwoerer
2026-01-30 11:12:08 +01:00
parent dd0f881d9e
commit 518dd77788
8 changed files with 50 additions and 134 deletions

View File

@@ -1,21 +0,0 @@
#!/bin/bash
# PostToolUse Hook for Write - Logs file writes and can trigger actions
# Extract file path from parameters
FILE_PATH="${CLAUDE_TOOL_PARAMETERS:-Unknown file}"
# Log the write operation
echo "[$(date '+%Y-%m-%d %H:%M:%S')] File written: $FILE_PATH" >> .claude/logs/writes.log
# Optional: Auto-format specific file types
if [[ "$FILE_PATH" =~ \.(js|ts|jsx|tsx)$ ]]; then
# Uncomment to enable auto-formatting with prettier
# npx prettier --write "$FILE_PATH" 2>/dev/null || true
echo " -> JavaScript/TypeScript file detected" >> .claude/logs/writes.log
fi
if [[ "$FILE_PATH" =~ \.(py)$ ]]; then
# Uncomment to enable auto-formatting with black
# black "$FILE_PATH" 2>/dev/null || true
echo " -> Python file detected" >> .claude/logs/writes.log
fi

View File

@@ -1,15 +0,0 @@
#!/bin/bash
# PreToolUse Hook for Bash - Logs bash commands before execution
# Extract the bash command from CLAUDE_TOOL_PARAMETERS if available
COMMAND="${CLAUDE_TOOL_PARAMETERS:-Unknown command}"
# Log the command
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Executing: $COMMAND" >> .claude/logs/bash.log
# Optional: Add safety checks
# Example: Block dangerous commands
if echo "$COMMAND" | grep -qE "rm -rf /|mkfs|dd if="; then
echo "WARNING: Potentially dangerous command blocked!" >&2
exit 1
fi

View File

@@ -1,11 +0,0 @@
#!/bin/bash
# SessionEnd Hook - Runs when a Claude Code session ends
# Log session end with timestamp
echo "Session Ended: $(date '+%Y-%m-%d %H:%M:%S')" >> .claude/logs/session.log
echo "" >> .claude/logs/session.log
# Optional: Clean up temporary files
# rm -f .claude/tmp/*
echo "Session ended. Logs saved to .claude/logs/session.log"

View File

@@ -1,50 +0,0 @@
#!/bin/bash
# SessionStart Hook - Runs when a new Claude Code session starts
# Create log directory if it doesn't exist
mkdir -p .claude/logs
# Log session start with timestamp
echo "========================================" >> .claude/logs/session.log
echo "Session Started: $(date '+%Y-%m-%d %H:%M:%S')" >> .claude/logs/session.log
echo "Working Directory: $(pwd)" >> .claude/logs/session.log
echo "User: $(whoami)" >> .claude/logs/session.log
echo "========================================" >> .claude/logs/session.log
# Output session initialization message to Claude
cat << 'EOF'
🚀 **New Session Initialized - Foundry VTT Development Environment**
📋 **MANDATORY REMINDERS FOR THIS SESSION**:
1. ✅ **CLAUDE.md** has been loaded with project instructions
2. ✅ **8 MCP Servers** are available: serena, sequential-thinking, context7, memory, fetch, windows-mcp, playwright, database-server
3. ✅ **Specialized Agents** available: Explore, test-engineer, code-reviewer, refactoring-specialist, debugger, architect, documentation-writer, security-analyst
⚠️ **CRITICAL REQUIREMENTS** - You MUST follow these for EVERY task:
**At the START of EVERY task, provide a Tooling Strategy Decision:**
- **Agents**: State if using (which one) or not using (with reason)
- **Slash Commands**: State if using (which one) or not using (with reason)
- **MCP Servers**: State if using (which ones) or not using (with reason)
- **Approach**: Brief strategy overview
**At the END of EVERY task, provide a Task Completion Summary:**
- What was done
- Which features were used (Agents, Slash Commands, MCP Servers, Core Tools)
- Files modified
- Efficiency notes
📖 **See documentation**:
- **CLAUDE.md**: Full project documentation (automatically loaded)
- **.claude/SESSION_INSTRUCTIONS.md**: Quick reference for mandatory policies
- "Mandatory Tooling Usage Policy" (CLAUDE.md lines 545-610)
- "Task Initiation Requirements" (CLAUDE.md lines 905-920)
- "Task Completion Status Messages" (CLAUDE.md lines 925-945)
🎯 **This Session's Focus**: Foundry VTT v11.315 + PF1e v10.8 macro development and debugging
💡 **Tip**: You can read .claude/SESSION_INSTRUCTIONS.md anytime for a quick reminder of mandatory policies.
EOF
# Session initialized successfully

View File

@@ -1,12 +0,0 @@
#!/bin/bash
# Stop hook - Executed when Claude Code finishes responding
# Purpose: Log completion of tasks
# Create logs directory if it doesn't exist
mkdir -p .claude/logs
# Log the stop event
echo "[$(date)] Claude finished responding" >> .claude/logs/session.log
# Note: The actual summary generation is done by Claude in the response
# This hook just logs the event for tracking purposes

View File

@@ -1,18 +0,0 @@
#!/bin/bash
# UserPromptSubmit Hook - Runs when user submits a prompt
# Log prompt submission (without actual content for privacy)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] User prompt submitted" >> .claude/logs/session.log
# Optional: Show notification (requires notify-send on Linux or similar)
# notify-send "Claude Code" "Processing your request..." 2>/dev/null || true
# Optional: Track usage statistics
PROMPT_COUNT_FILE=".claude/logs/prompt_count.txt"
if [ -f "$PROMPT_COUNT_FILE" ]; then
COUNT=$(cat "$PROMPT_COUNT_FILE")
COUNT=$((COUNT + 1))
else
COUNT=1
fi
echo "$COUNT" > "$PROMPT_COUNT_FILE"

View File

@@ -1,9 +1,3 @@
# language of the project (csharp, python, rust, java, typescript, go, cpp, or ruby)
# * For C, use cpp
# * For JavaScript, use typescript
# Special requirements:
# * csharp: Requires the presence of a .sln file in the project folder.
language: bash
# the encoding used by text files in the project # the encoding used by text files in the project
# For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings # For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings
@@ -67,8 +61,57 @@ excluded_tools: []
# initial prompt for the project. It will always be given to the LLM upon activating the project # initial prompt for the project. It will always be given to the LLM upon activating the project
# (contrary to the memories, which are loaded on demand). # (contrary to the memories, which are loaded on demand).
initial_prompt: "" initial_prompt: ""
# the name by which the project can be referenced within Serena
project_name: "Claude Code Setup" project_name: "Claude Code Setup"
# Enable tool usage statistics collection for the web dashboard # Enable tool usage statistics collection for the web dashboard
record_tool_usage_stats: true record_tool_usage_stats: true
# list of mode names to that are always to be included in the set of active modes
# The full set of modes to be activated is base_modes + default_modes.
# If the setting is undefined, the base_modes from the global configuration (serena_config.yml) apply.
# Otherwise, this setting overrides the global configuration.
# Set this to [] to disable base modes for this project.
# Set this to a list of mode names to always include the respective modes for this project.
base_modes:
# list of mode names that are to be activated by default.
# The full set of modes to be activated is base_modes + default_modes.
# If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply.
# Otherwise, this overrides the setting from the global configuration (serena_config.yml).
# This setting can, in turn, be overridden by CLI parameters (--mode).
default_modes:
# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default)
included_optional_tools: []
# fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools.
# This cannot be combined with non-empty excluded_tools or included_optional_tools.
fixed_tools: []
# list of languages for which language servers are started; choose from:
# al bash clojure cpp csharp
# csharp_omnisharp dart elixir elm erlang
# fortran fsharp go groovy haskell
# java julia kotlin lua markdown
# matlab nix pascal perl php
# powershell python python_jedi r rego
# ruby ruby_solargraph rust scala swift
# terraform toml typescript typescript_vts vue
# yaml zig
# (This list may be outdated. For the current list, see values of Language enum here:
# https://github.com/oraios/serena/blob/main/src/solidlsp/ls_config.py
# For some languages, there are alternative language servers, e.g. csharp_omnisharp, ruby_solargraph.)
# Note:
# - For C, use cpp
# - For JavaScript, use typescript
# - For Free Pascal/Lazarus, use pascal
# Special requirements:
# Some languages require additional setup/installations.
# See here for details: https://oraios.github.io/serena/01-about/020_programming-languages.html#language-servers
# When using multiple languages, the first language server that supports a given file will be used for that file.
# The first language is the default language and the respective language server will be used as a fallback.
# Note that when using the JetBrains backend, language servers are not used and this list is correspondingly ignored.
languages:
- bash

Binary file not shown.