mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-05 01:50:27 +08:00
refactor: Standardize command naming conventions and remove parent relationships
Updates all command files to use consistent naming without parent field: - Remove parent field from all command frontmatter - Standardize name field to use simple names instead of prefixed names - Fix usage patterns for brainstorm commands to use proper workflow namespace - Add new medium-project-update.sh script for batch updates 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
273
.claude/scripts/medium-project-update.sh
Normal file
273
.claude/scripts/medium-project-update.sh
Normal file
@@ -0,0 +1,273 @@
|
||||
#!/bin/bash
|
||||
# medium-project-update.sh
|
||||
# Layered parallel execution for medium projects (50-200 files)
|
||||
# Emphasizes gemini CLI usage with direct file modification
|
||||
|
||||
set -e # Exit on any error
|
||||
|
||||
echo "🚀 === Medium Project Layered Analysis ==="
|
||||
echo "Project: $(pwd)"
|
||||
echo "Timestamp: $(date)"
|
||||
|
||||
# Function to check if directory exists and has files
|
||||
check_directory() {
|
||||
local dir=$1
|
||||
local pattern=$2
|
||||
if [ -d "$dir" ] && find "$dir" -type f $pattern -print -quit | grep -q .; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to run gemini with error handling
|
||||
run_gemini() {
|
||||
local cmd="$1"
|
||||
local desc="$2"
|
||||
echo " 📝 $desc"
|
||||
if ! eval "$cmd"; then
|
||||
echo " ❌ Failed: $desc"
|
||||
return 1
|
||||
else
|
||||
echo " ✅ Completed: $desc"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
echo ""
|
||||
echo "🏗️ === Layer 1: Foundation modules (parallel) ==="
|
||||
echo "Analyzing base dependencies: types, utils, core..."
|
||||
(
|
||||
# Only run gemini commands for directories that exist
|
||||
if check_directory "src/types" "-name '*.ts' -o -name '*.js'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/types/**/*}
|
||||
Analyze type definitions and interfaces. Update src/types/CLAUDE.md with:
|
||||
- Type architecture patterns
|
||||
- Interface design principles
|
||||
- Type safety guidelines
|
||||
- Usage examples'" "Type definitions analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/utils" "-name '*.ts' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/utils/**/*}
|
||||
Analyze utility functions and helpers. Update src/utils/CLAUDE.md with:
|
||||
- Utility function patterns
|
||||
- Helper library organization
|
||||
- Common functionality guidelines
|
||||
- Reusability principles'" "Utility functions analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/core" "-name '*.ts' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/core/**/*}
|
||||
Analyze core modules and system architecture. Update src/core/CLAUDE.md with:
|
||||
- Core system architecture
|
||||
- Module initialization patterns
|
||||
- System-wide configuration
|
||||
- Base class implementations'" "Core modules analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/lib" "-name '*.ts' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/lib/**/*}
|
||||
Analyze library modules and shared functionality. Update src/lib/CLAUDE.md with:
|
||||
- Shared library patterns
|
||||
- Cross-module utilities
|
||||
- External integrations
|
||||
- Library architecture'" "Library modules analysis" &
|
||||
fi
|
||||
|
||||
wait
|
||||
)
|
||||
|
||||
echo ""
|
||||
echo "🏭 === Layer 2: Business logic (parallel, depends on Layer 1) ==="
|
||||
echo "Analyzing business modules with foundation context..."
|
||||
(
|
||||
if check_directory "src/api" "-name '*.ts' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/api/**/*} @{src/core/CLAUDE.md,src/types/CLAUDE.md}
|
||||
Analyze API endpoints and routes with core/types context. Update src/api/CLAUDE.md with:
|
||||
- API architecture patterns
|
||||
- Endpoint design principles
|
||||
- Request/response handling
|
||||
- Authentication integration
|
||||
- Error handling patterns'" "API endpoints analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/services" "-name '*.ts' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/services/**/*} @{src/utils/CLAUDE.md,src/types/CLAUDE.md}
|
||||
Analyze business services with utils/types context. Update src/services/CLAUDE.md with:
|
||||
- Service layer architecture
|
||||
- Business logic patterns
|
||||
- Data processing workflows
|
||||
- Service integration patterns
|
||||
- Dependency injection'" "Business services analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/models" "-name '*.ts' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/models/**/*} @{src/types/CLAUDE.md}
|
||||
Analyze data models with types context. Update src/models/CLAUDE.md with:
|
||||
- Data model architecture
|
||||
- Entity relationship patterns
|
||||
- Validation strategies
|
||||
- Model lifecycle management
|
||||
- Database integration'" "Data models analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/database" "-name '*.ts' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/database/**/*} @{src/models/CLAUDE.md,src/core/CLAUDE.md}
|
||||
Analyze database layer with models/core context. Update src/database/CLAUDE.md with:
|
||||
- Database architecture
|
||||
- Query optimization patterns
|
||||
- Migration strategies
|
||||
- Connection management
|
||||
- Data access patterns'" "Database layer analysis" &
|
||||
fi
|
||||
|
||||
wait
|
||||
)
|
||||
|
||||
echo ""
|
||||
echo "🎨 === Layer 3: Application layer (depends on Layer 2) ==="
|
||||
echo "Analyzing UI and application modules with business context..."
|
||||
(
|
||||
if check_directory "src/components" "-name '*.tsx' -o -name '*.jsx' -o -name '*.vue'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/components/**/*} @{src/api/CLAUDE.md,src/services/CLAUDE.md}
|
||||
Analyze UI components with API/services context. Update src/components/CLAUDE.md with:
|
||||
- Component architecture patterns
|
||||
- State management strategies
|
||||
- Props and event handling
|
||||
- Component lifecycle patterns
|
||||
- Styling conventions'" "UI components analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/pages" "-name '*.tsx' -o -name '*.jsx' -o -name '*.vue'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/pages/**/*} @{src/services/CLAUDE.md,src/components/CLAUDE.md}
|
||||
Analyze page components with services/components context. Update src/pages/CLAUDE.md with:
|
||||
- Page architecture patterns
|
||||
- Route management
|
||||
- Data fetching strategies
|
||||
- Layout compositions
|
||||
- SEO considerations'" "Page components analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/hooks" "-name '*.ts' -o -name '*.js'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/hooks/**/*} @{src/services/CLAUDE.md}
|
||||
Analyze custom hooks with services context. Update src/hooks/CLAUDE.md with:
|
||||
- Custom hook patterns
|
||||
- State logic reusability
|
||||
- Effect management
|
||||
- Hook composition strategies
|
||||
- Performance considerations'" "Custom hooks analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "src/styles" "-name '*.css' -o -name '*.scss' -o -name '*.less'"; then
|
||||
run_gemini "gemini -yolo -p '@{src/styles/**/*} @{src/components/CLAUDE.md}
|
||||
Analyze styling with components context. Update src/styles/CLAUDE.md with:
|
||||
- Styling architecture
|
||||
- CSS methodology
|
||||
- Theme management
|
||||
- Responsive design patterns
|
||||
- Design system integration'" "Styling analysis" &
|
||||
fi
|
||||
|
||||
wait
|
||||
)
|
||||
|
||||
echo ""
|
||||
echo "📋 === Layer 4: Supporting modules (parallel) ==="
|
||||
echo "Analyzing configuration, tests, and documentation..."
|
||||
(
|
||||
if check_directory "tests" "-name '*.test.*' -o -name '*.spec.*'"; then
|
||||
run_gemini "gemini -yolo -p '@{tests/**/*,**/*.test.*,**/*.spec.*}
|
||||
Analyze testing strategy and patterns. Update tests/CLAUDE.md with:
|
||||
- Testing architecture
|
||||
- Unit test patterns
|
||||
- Integration test strategies
|
||||
- Mocking and fixtures
|
||||
- Test data management
|
||||
- Coverage requirements'" "Testing strategy analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "config" "-name '*.json' -o -name '*.js' -o -name '*.yaml'"; then
|
||||
run_gemini "gemini -yolo -p '@{config/**/*,*.config.*,.env*}
|
||||
Analyze configuration management. Update config/CLAUDE.md with:
|
||||
- Configuration architecture
|
||||
- Environment management
|
||||
- Secret handling patterns
|
||||
- Build configuration
|
||||
- Deployment settings'" "Configuration analysis" &
|
||||
fi
|
||||
|
||||
if check_directory "scripts" "-name '*.sh' -o -name '*.js' -o -name '*.py'"; then
|
||||
run_gemini "gemini -yolo -p '@{scripts/**/*}
|
||||
Analyze build and deployment scripts. Update scripts/CLAUDE.md with:
|
||||
- Build process documentation
|
||||
- Deployment workflows
|
||||
- Development scripts
|
||||
- Automation patterns
|
||||
- CI/CD integration'" "Scripts analysis" &
|
||||
fi
|
||||
|
||||
wait
|
||||
)
|
||||
|
||||
echo ""
|
||||
echo "🎯 === Layer 5: Root documentation integration ==="
|
||||
echo "Generating comprehensive root documentation..."
|
||||
|
||||
# Collect all existing CLAUDE.md files
|
||||
existing_docs=$(find . -name "CLAUDE.md" -path "*/src/*" | sort)
|
||||
if [ -n "$existing_docs" ]; then
|
||||
echo "Found module documentation:"
|
||||
echo "$existing_docs" | sed 's/^/ 📄 /'
|
||||
|
||||
run_gemini "gemini -yolo -p '@{src/*/CLAUDE.md,tests/CLAUDE.md,config/CLAUDE.md,scripts/CLAUDE.md} @{CLAUDE.md}
|
||||
Integrate all module documentation and update root CLAUDE.md with:
|
||||
|
||||
## Project Overview
|
||||
- Complete project architecture summary
|
||||
- Technology stack and dependencies
|
||||
- Module integration patterns
|
||||
- Development workflow and guidelines
|
||||
|
||||
## Architecture
|
||||
- System design principles
|
||||
- Module interdependencies
|
||||
- Data flow patterns
|
||||
- Key architectural decisions
|
||||
|
||||
## Development Guidelines
|
||||
- Coding standards and patterns
|
||||
- Testing strategies
|
||||
- Deployment procedures
|
||||
- Contribution guidelines
|
||||
|
||||
## Module Summary
|
||||
- Brief overview of each module's purpose
|
||||
- Key patterns and conventions
|
||||
- Integration points
|
||||
- Performance considerations
|
||||
|
||||
Focus on providing a comprehensive yet concise project overview that serves as the single source of truth for new developers.'" "Root documentation integration"
|
||||
else
|
||||
echo "⚠️ No module documentation found, generating basic root documentation..."
|
||||
run_gemini "gemini -yolo -p '@{**/*} @{CLAUDE.md}
|
||||
Generate comprehensive root CLAUDE.md documentation with:
|
||||
- Project overview and architecture
|
||||
- Technology stack summary
|
||||
- Development guidelines
|
||||
- Key patterns and conventions'" "Basic root documentation"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✅ === Medium project update completed ==="
|
||||
echo "📊 Summary:"
|
||||
echo " - Layered analysis completed in dependency order"
|
||||
echo " - All gemini commands executed with -yolo for direct file modification"
|
||||
echo " - Module-specific CLAUDE.md files updated with contextual information"
|
||||
echo " - Root documentation integrated with complete project overview"
|
||||
echo " - Timestamp: $(date)"
|
||||
|
||||
# Optional: Show generated documentation structure
|
||||
echo ""
|
||||
echo "📁 Generated documentation structure:"
|
||||
find . -name "CLAUDE.md" | sort | sed 's/^/ 📄 /'
|
||||
Reference in New Issue
Block a user