d81e403f01
COMPLETED TASKS: ✅ 06-01: Workout Swap System - Added swapped_from_id to workout_logs - Created workout_swaps table for history - POST /api/workouts/:id/swap endpoint - GET /api/workouts/available endpoint - Reversible swaps with audit trail ✅ 06-02: Muscle Group Recovery Tracking - Created muscle_group_recovery table - Implemented calculateRecoveryScore() function - GET /api/recovery/muscle-groups endpoint - GET /api/recovery/most-recovered endpoint - Auto-tracking on workout log completion ✅ 06-03: Smart Workout Recommendations - GET /api/recommendations/smart-workout endpoint - 7-day workout analysis algorithm - Recovery-based filtering (>30% threshold) - Top 3 recommendations with context - Context-aware reasoning messages DATABASE CHANGES: - Added 4 new tables: muscle_group_recovery, workout_swaps, custom_workouts, custom_workout_exercises - Extended workout_logs with: swapped_from_id, source_type, custom_workout_id, custom_workout_exercise_id - Created 7 new indexes for performance IMPLEMENTATION: - Recovery service with 4 core functions - 2 new route handlers (recovery, smartRecommendations) - Updated workouts router with swap endpoints - Integrated recovery tracking into POST /api/logs - Full error handling and logging TESTING: - Test file created: /backend/test/phase-06-tests.js - Ready for E2E and staging validation STATUS: Ready for frontend integration and production review Branch: feature/06-phase-06
114 lines
2.1 KiB
Markdown
114 lines
2.1 KiB
Markdown
# hook pre-edit
|
|
|
|
Execute pre-edit validations and agent assignment before file modifications.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
npx claude-flow hook pre-edit [options]
|
|
```
|
|
|
|
## Options
|
|
|
|
- `--file, -f <path>` - File path to be edited
|
|
- `--auto-assign-agent` - Automatically assign best agent (default: true)
|
|
- `--validate-syntax` - Pre-validate syntax before edit
|
|
- `--check-conflicts` - Check for merge conflicts
|
|
- `--backup-file` - Create backup before editing
|
|
|
|
## Examples
|
|
|
|
### Basic pre-edit hook
|
|
|
|
```bash
|
|
npx claude-flow hook pre-edit --file "src/auth/login.js"
|
|
```
|
|
|
|
### With validation
|
|
|
|
```bash
|
|
npx claude-flow hook pre-edit -f "config/database.js" --validate-syntax
|
|
```
|
|
|
|
### Manual agent assignment
|
|
|
|
```bash
|
|
npx claude-flow hook pre-edit -f "api/users.ts" --auto-assign-agent false
|
|
```
|
|
|
|
### Safe editing with backup
|
|
|
|
```bash
|
|
npx claude-flow hook pre-edit -f "production.env" --backup-file --check-conflicts
|
|
```
|
|
|
|
## Features
|
|
|
|
### Auto Agent Assignment
|
|
|
|
- Analyzes file type and content
|
|
- Assigns specialist agents
|
|
- TypeScript → TypeScript expert
|
|
- Database → Data specialist
|
|
- Tests → QA engineer
|
|
|
|
### Syntax Validation
|
|
|
|
- Pre-checks syntax validity
|
|
- Identifies potential errors
|
|
- Suggests corrections
|
|
- Prevents broken code
|
|
|
|
### Conflict Detection
|
|
|
|
- Checks for git conflicts
|
|
- Identifies concurrent edits
|
|
- Warns about stale files
|
|
- Suggests merge strategies
|
|
|
|
### File Backup
|
|
|
|
- Creates safety backups
|
|
- Enables quick rollback
|
|
- Tracks edit history
|
|
- Preserves originals
|
|
|
|
## Integration
|
|
|
|
This hook is automatically called by Claude Code when:
|
|
|
|
- Using Edit or MultiEdit tools
|
|
- Before file modifications
|
|
- During refactoring operations
|
|
- When updating critical files
|
|
|
|
Manual usage in agents:
|
|
|
|
```bash
|
|
# Before editing files
|
|
npx claude-flow hook pre-edit --file "path/to/file.js" --validate-syntax
|
|
```
|
|
|
|
## Output
|
|
|
|
Returns JSON with:
|
|
|
|
```json
|
|
{
|
|
"continue": true,
|
|
"file": "src/auth/login.js",
|
|
"assignedAgent": "auth-specialist",
|
|
"syntaxValid": true,
|
|
"conflicts": false,
|
|
"backupPath": ".backups/login.js.bak",
|
|
"warnings": []
|
|
}
|
|
```
|
|
|
|
## See Also
|
|
|
|
- `hook post-edit` - Post-edit processing
|
|
- `Edit` - File editing tool
|
|
- `MultiEdit` - Multiple edits tool
|
|
- `agent spawn` - Manual agent creation
|