Major documentation update focused on technical accuracy and developer clarity: Documentation Changes: - Rewrote README.md with focus on hooks system architecture - Updated all core docs (Overview, Integration, Performance) to match implementation - Created 6 missing configuration docs for undocumented YAML files - Updated all 7 hook docs to reflect actual Python implementations - Created docs for 2 missing shared modules (intelligence_engine, validate_system) - Updated all 5 pattern docs with real YAML examples - Added 4 essential operational docs (INSTALLATION, TROUBLESHOOTING, CONFIGURATION, QUICK_REFERENCE) Key Improvements: - Removed all marketing language in favor of humble technical documentation - Fixed critical configuration discrepancies (logging defaults, performance targets) - Used actual code examples and configuration from implementation - Complete coverage: 15 configs, 10 modules, 7 hooks, 3 pattern tiers - Based all documentation on actual file review and code analysis Technical Accuracy: - Corrected performance targets to match performance.yaml - Fixed timeout values from settings.json (10-15 seconds) - Updated module count and descriptions to match actual shared/ directory - Aligned all examples with actual YAML and Python implementations The documentation now provides accurate, practical information for developers working with the Framework-Hooks system, focusing on what it actually does rather than aspirational features. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
9.6 KiB
Configuration Guide
Framework-Hooks uses YAML configuration files to control hook behavior, performance targets, and system features. This guide covers the essential configuration options for customizing the system.
Configuration Files Overview
The config/ directory contains 12+ YAML files that control different aspects of the hook system:
config/
├── session.yaml # Session lifecycle settings
├── performance.yaml # Performance targets and limits
├── compression.yaml # Context compression settings
├── modes.yaml # Mode activation thresholds
├── mcp_orchestration.yaml # MCP server coordination
├── orchestrator.yaml # General orchestration settings
├── logging.yaml # Logging configuration
├── validation.yaml # System validation rules
└── [other specialized configs]
Essential Configuration Files
logging.yaml - System Logging
Controls logging behavior and output:
# Core Logging Settings
logging:
enabled: false # Default: disabled for performance
level: "ERROR" # ERROR, WARNING, INFO, DEBUG
file_settings:
log_directory: "cache/logs"
retention_days: 30
rotation_strategy: "daily"
hook_logging:
log_lifecycle: false # Log hook start/end events
log_decisions: false # Log decision points
log_errors: false # Log error events
log_timing: false # Include timing information
performance:
max_overhead_ms: 1 # Maximum logging overhead
async_logging: false # Keep simple for now
privacy:
sanitize_user_content: true
exclude_sensitive_data: true
anonymize_session_ids: false
Common customizations:
# Enable basic logging
logging:
enabled: true
level: "INFO"
# Enable debugging
logging:
enabled: true
level: "DEBUG"
hook_logging:
log_lifecycle: true
log_decisions: true
log_timing: true
development:
verbose_errors: true
include_stack_traces: true
debug_mode: true
performance.yaml - Performance Targets
Defines execution time targets for each hook:
performance_targets:
session_start: 50 # ms - Session initialization
pre_tool_use: 200 # ms - Tool preparation
post_tool_use: 100 # ms - Tool usage recording
pre_compact: 150 # ms - Context compression
notification: 50 # ms - Notification handling
stop: 100 # ms - Session cleanup
subagent_stop: 100 # ms - Subagent coordination
# Pattern loading performance
pattern_loading:
minimal_patterns: 100 # ms - Basic patterns (3-5KB each)
dynamic_patterns: 200 # ms - Feature patterns (8-12KB each)
learned_patterns: 300 # ms - User patterns (10-20KB each)
# Cache operation limits
cache_operations:
read_timeout: 10 # ms
write_timeout: 50 # ms
# Timeouts (from settings.json)
hook_timeouts:
default: 10 # seconds
extended: 15 # seconds (pre_tool_use, pre_compact, etc.)
session.yaml - Session Management
Controls session lifecycle behavior:
session_lifecycle:
initialization:
load_minimal_patterns: true
enable_project_detection: true
activate_learning_engine: true
context_management:
preserve_user_content: true
compress_framework_content: false # Keep framework content uncompressed
apply_selective_compression: true
cleanup:
save_learning_data: true
persist_adaptations: true
cleanup_temp_files: true
compression.yaml - Context Compression
Controls how the compression engine handles content:
compression_settings:
enabled: true
# Content classification for selective compression
content_types:
framework_content:
compression_level: 0 # No compression for SuperClaude framework
exclusion_patterns:
- "/SuperClaude/"
- "~/.claude/"
- ".claude/"
- "framework_*"
session_data:
compression_level: 0.4 # 40% compression for session operational data
apply_to:
- "session_metadata"
- "checkpoint_data"
- "cache_content"
user_content:
compression_level: 0 # No compression for user content
preserve_patterns:
- "project_files"
- "user_documentation"
- "source_code"
- "configuration_*"
compression_levels:
minimal: 0.40 # 40% compression
efficient: 0.70 # 70% compression
compressed: 0.85 # 85% compression
critical: 0.95 # 95% compression
quality_targets:
preservation_minimum: 0.95 # 95% information preservation required
processing_time_limit: 100 # ms
Hook-Specific Configuration
Each hook can be configured individually. The general pattern is:
Hook Enable/Disable
In logging.yaml:
hook_configuration:
pre_tool_use:
enabled: true # Hook enabled/disabled
log_tool_selection: true
log_input_validation: true
post_tool_use:
enabled: true
log_output_processing: true
log_integration_success: true
# Similar blocks for other hooks
MCP Server Coordination
In mcp_orchestration.yaml:
mcp_servers:
context7:
enabled: true
auto_activation_patterns:
- "external library imports"
- "framework-specific questions"
sequential:
enabled: true
auto_activation_patterns:
- "complex debugging scenarios"
- "system design questions"
magic:
enabled: true
auto_activation_patterns:
- "UI component requests"
- "design system queries"
# Configuration for other MCP servers
Pattern System Configuration
The 3-tier pattern system can be customized:
Pattern Loading
# In session.yaml or dedicated pattern config
pattern_system:
minimal_patterns:
always_load: true
size_limit_kb: 5
dynamic_patterns:
load_on_demand: true
size_limit_kb: 12
learned_patterns:
adaptation_enabled: true
size_limit_kb: 20
evolution_threshold: 0.8
Project Detection Patterns
Add custom patterns in patterns/minimal/ directories following existing YAML structure:
# Example: patterns/minimal/custom-project.yaml
pattern_type: "project_detection"
name: "custom_project"
triggers:
- "specific-file-pattern"
- "directory-structure"
features_to_activate:
- "custom_mode"
- "specific_mcp_servers"
Advanced Configuration
Learning Engine Tuning
# In learning configuration
learning_engine:
adaptation_settings:
learning_rate: 0.1
adaptation_threshold: 0.75
persistence_enabled: true
data_retention:
session_history_days: 90
pattern_evolution_days: 30
cache_cleanup_interval: 7
Validation Rules
# In validation.yaml
validation_rules:
hook_performance:
enforce_timing_targets: true
alert_on_timeout: true
configuration_integrity:
yaml_syntax_check: true
required_fields_check: true
system_health:
file_permissions_check: true
directory_structure_check: true
Environment-Specific Configuration
Development Environment
# Enable verbose logging and debugging
logging:
enabled: true
level: "DEBUG"
development:
verbose_errors: true
include_stack_traces: true
debug_mode: true
performance_targets:
# Relaxed targets for development
session_start: 100
pre_tool_use: 500
Production Environment
# Minimal logging, strict performance
logging:
enabled: false
level: "ERROR"
performance_targets:
# Strict targets for production
session_start: 30
pre_tool_use: 150
compression_settings:
# Aggressive optimization
enabled: true
default_level: "efficient"
Configuration Validation
Manual Validation
Test configuration changes:
cd Framework-Hooks/hooks/shared
python3 validate_system.py --check-config
YAML Syntax Check
python3 -c "
import yaml
import glob
for file in glob.glob('config/*.yaml'):
try:
yaml.safe_load(open(file))
print(f'{file}: OK')
except Exception as e:
print(f'{file}: ERROR - {e}')
"
Configuration Best Practices
Performance Optimization
- Keep logging disabled in production for best performance
- Set realistic timing targets based on your hardware
- Enable selective compression to balance performance and quality
- Tune pattern loading based on project complexity
Debugging and Development
- Enable comprehensive logging during development
- Use debug mode for detailed error information
- Test configuration changes with validation tools
- Monitor hook performance against targets
Customization Guidelines
- Back up configurations before making changes
- Test changes incrementally rather than bulk modifications
- Use validation tools to verify configuration integrity
- Document custom patterns for team collaboration
Configuration Troubleshooting
Common Issues
YAML Syntax Errors: Use Python YAML validation or online checkers
Performance Degradation: Review enabled features and logging verbosity
Hook Failures: Check required configuration fields are present
Pattern Loading Issues: Verify pattern file sizes and structure
Reset to Defaults
# Reset all configurations (backup first!)
git checkout config/*.yaml
# Or restore from installation backup
The configuration system provides extensive customization while maintaining sensible defaults for immediate usability.