mirror of
https://github.com/luongnv89/claude-howto.git
synced 2026-05-09 22:07:32 +02:00
6238744478
Added three new major feature categories with complete documentation and examples: ## New Features ### 07-hooks/ - Event-driven automation with 6 example hook scripts - Pre/post tool hooks, session hooks, and git hooks - Auto-formatting, security scanning, test automation - Complete documentation with best practices ### 08-checkpoints/ - Conversation state snapshots and rewind capability - Safe experimentation and approach comparison - Real-world examples: DB migration, performance optimization, UI iteration - Checkpoint management commands and workflows ### 09-advanced-features/ - Planning Mode: detailed implementation plans before coding - Extended Thinking: deep reasoning for complex problems - Background Tasks: long-running operations without blocking - Permission Modes: unrestricted, confirm, read-only, custom - Headless Mode: CI/CD integration and automation - Session Management: multiple work sessions - Interactive Features: keyboard shortcuts, command history - 10+ configuration examples for different scenarios ## Documentation Updates - README.md: Added sections for all new features with examples - INDEX.md: Updated with new categories, file listings, and search keywords - QUICK_REFERENCE.md: Added quick reference for new features - claude_concepts_guide.md: Comprehensive guide sections for new concepts ## Statistics - Total files: 90+ (up from 71) - Categories: 9 (up from 6) - New hook scripts: 6 - New documentation files: 10+ - Configuration examples: 10+ scenarios All examples are production-ready and follow Claude Code best practices. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
49 lines
996 B
Bash
49 lines
996 B
Bash
#!/bin/bash
|
|
# Run tests before commit
|
|
# Hook: PreCommit
|
|
|
|
echo "🧪 Running tests before commit..."
|
|
|
|
# Check if package.json exists (Node.js project)
|
|
if [ -f "package.json" ]; then
|
|
if grep -q "\"test\":" package.json; then
|
|
npm test
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Tests failed! Commit blocked."
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Check if pytest is available (Python project)
|
|
if [ -f "pytest.ini" ] || [ -f "setup.py" ]; then
|
|
if command -v pytest &> /dev/null; then
|
|
pytest
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Tests failed! Commit blocked."
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Check if go.mod exists (Go project)
|
|
if [ -f "go.mod" ]; then
|
|
go test ./...
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Tests failed! Commit blocked."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Check if Cargo.toml exists (Rust project)
|
|
if [ -f "Cargo.toml" ]; then
|
|
cargo test
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Tests failed! Commit blocked."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "✅ All tests passed! Proceeding with commit."
|
|
exit 0
|