Major changes: - Organized Python v1 implementation into v1/ subdirectory - Created Rust workspace with 9 modular crates: - wifi-densepose-core: Core types, traits, errors - wifi-densepose-signal: CSI processing, phase sanitization, FFT - wifi-densepose-nn: Neural network inference (ONNX/Candle/tch) - wifi-densepose-api: Axum-based REST/WebSocket API - wifi-densepose-db: SQLx database layer - wifi-densepose-config: Configuration management - wifi-densepose-hardware: Hardware abstraction - wifi-densepose-wasm: WebAssembly bindings - wifi-densepose-cli: Command-line interface Documentation: - ADR-001: Workspace structure - ADR-002: Signal processing library selection - ADR-003: Neural network inference strategy - DDD domain model with bounded contexts Testing: - 69 tests passing across all crates - Signal processing: 45 tests - Neural networks: 21 tests - Core: 3 doc tests Performance targets: - 10x faster CSI processing (~0.5ms vs ~5ms) - 5x lower memory usage (~100MB vs ~500MB) - WASM support for browser deployment
1.9 KiB
1.9 KiB
Setting Up ruv-swarm Hooks
Quick Start
1. Initialize with Hooks
npx claude-flow init --hooks
This automatically creates:
.claude/settings.jsonwith hook configurations- Hook command documentation
- Default hook handlers
2. Test Hook Functionality
# Test pre-edit hook
npx claude-flow hook pre-edit --file test.js
# Test session summary
npx claude-flow hook session-end --summary
3. Customize Hooks
Edit .claude/settings.json to customize:
{
"hooks": {
"PreToolUse": [
{
"matcher": "^Write$",
"hooks": [{
"type": "command",
"command": "npx claude-flow hook pre-write --file '${tool.params.file_path}'"
}]
}
]
}
}
Hook Response Format
Hooks return JSON with:
continue: Whether to proceed (true/false)reason: Explanation for decisionmetadata: Additional context
Example blocking response:
{
"continue": false,
"reason": "Protected file - manual review required",
"metadata": {
"file": ".env.production",
"protection_level": "high"
}
}
Performance Tips
- Keep hooks lightweight (< 100ms)
- Use caching for repeated operations
- Batch related operations
- Run non-critical hooks asynchronously
Debugging Hooks
# Enable debug output
export CLAUDE_FLOW_DEBUG=true
# Test specific hook
npx claude-flow hook pre-edit --file app.js --debug
Common Patterns
Auto-Format on Save
Already configured by default for common file types.
Protected File Detection
{
"matcher": "^(Write|Edit)$",
"hooks": [{
"type": "command",
"command": "npx claude-flow hook check-protected --file '${tool.params.file_path}'"
}]
}
Automatic Testing
{
"matcher": "^Write$",
"hooks": [{
"type": "command",
"command": "test -f '${tool.params.file_path%.js}.test.js' && npm test '${tool.params.file_path%.js}.test.js'"
}]
}