Restructured project from nested workspace pattern to flat single-repo layout. This eliminates redundant nesting and consolidates all project files under version control. ## Migration Summary **Before:** ``` alex/ (workspace, not versioned) ├── chess-game/ (git repo) │ ├── js/, css/, tests/ │ └── index.html └── docs/ (planning, not versioned) ``` **After:** ``` alex/ (git repo, everything versioned) ├── js/, css/, tests/ ├── index.html ├── docs/ (project documentation) ├── planning/ (historical planning docs) ├── .gitea/ (CI/CD) └── CLAUDE.md (configuration) ``` ## Changes Made ### Structure Consolidation - Moved all chess-game/ contents to root level - Removed redundant chess-game/ subdirectory - Flattened directory structure (eliminated one nesting level) ### Documentation Organization - Moved chess-game/docs/ → docs/ (project documentation) - Moved alex/docs/ → planning/ (historical planning documents) - Added CLAUDE.md (workspace configuration) - Added IMPLEMENTATION_PROMPT.md (original project prompt) ### Version Control Improvements - All project files now under version control - Planning documents preserved in planning/ folder - Merged .gitignore files (workspace + project) - Added .claude/ agent configurations ### File Updates - Updated .gitignore to include both workspace and project excludes - Moved README.md to root level - All import paths remain functional (relative paths unchanged) ## Benefits ✅ **Simpler Structure** - One level of nesting removed ✅ **Complete Versioning** - All documentation now in git ✅ **Standard Layout** - Matches open-source project conventions ✅ **Easier Navigation** - Direct access to all project files ✅ **CI/CD Compatible** - All workflows still functional ## Technical Validation - ✅ Node.js environment verified - ✅ Dependencies installed successfully - ✅ Dev server starts and responds - ✅ All core files present and accessible - ✅ Git repository functional ## Files Preserved **Implementation Files:** - js/ (3,517 lines of code) - css/ (4 stylesheets) - tests/ (87 test cases) - index.html - package.json **CI/CD Pipeline:** - .gitea/workflows/ci.yml - .gitea/workflows/release.yml **Documentation:** - docs/ (12+ documentation files) - planning/ (historical planning materials) - README.md **Configuration:** - jest.config.js, babel.config.cjs, playwright.config.js - .gitignore (merged) - CLAUDE.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
103 lines
1.9 KiB
Markdown
103 lines
1.9 KiB
Markdown
# Setting Up ruv-swarm Hooks
|
|
|
|
## Quick Start
|
|
|
|
### 1. Initialize with Hooks
|
|
```bash
|
|
npx claude-flow init --hooks
|
|
```
|
|
|
|
This automatically creates:
|
|
- `.claude/settings.json` with hook configurations
|
|
- Hook command documentation
|
|
- Default hook handlers
|
|
|
|
### 2. Test Hook Functionality
|
|
```bash
|
|
# 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:
|
|
|
|
```json
|
|
{
|
|
"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 decision
|
|
- `metadata`: Additional context
|
|
|
|
Example blocking response:
|
|
```json
|
|
{
|
|
"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
|
|
```bash
|
|
# 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
|
|
```json
|
|
{
|
|
"matcher": "^(Write|Edit)$",
|
|
"hooks": [{
|
|
"type": "command",
|
|
"command": "npx claude-flow hook check-protected --file '${tool.params.file_path}'"
|
|
}]
|
|
}
|
|
```
|
|
|
|
### Automatic Testing
|
|
```json
|
|
{
|
|
"matcher": "^Write$",
|
|
"hooks": [{
|
|
"type": "command",
|
|
"command": "test -f '${tool.params.file_path%.js}.test.js' && npm test '${tool.params.file_path%.js}.test.js'"
|
|
}]
|
|
}
|
|
``` |