--- allowed-tools: Bash(find:*), Bash(ls:*), Bash(tree:*), Bash(grep:*), Bash(wc:*), Bash(du:*), Bash(head:*), Bash(tail:*), Bash(cat:*), Bash(touch:*) description: Generate comprehensive analysis and documentation of entire codebase --- # Comprehensive Codebase Analysis ## Project Discovery Phase ### Directory Structure !`find . -type d -not -path "./node_modules/*" -not -path "./.git/*" -not -path "./dist/*" -not -path "./build/*" -not -path "./.next/*" -not -path "./coverage/*" | sort` ### Complete File Tree !`eza --tree --all --level=4 --ignore-glob='node_modules|.git|dist|build|.next|coverage|*.log'` ### File Count and Size Analysis - Total files: !`find . -type f -not -path "./node_modules/*" -not -path "./.git/*" | wc -l` - Code files: !`find . -name "*.js" -o -name "*.ts" -o -name "*.jsx" -o -name "*.tsx" -o -name "*.py" -o -name "*.java" -o -name "*.php" -o -name "*.rb" -o -name "*.go" -o -name "*.rs" -o -name "*.cpp" -o -name "*.c" | grep -v node_modules | wc -l` - Project size: !`find . -type f -not -path "./node_modules/*" -not -path "./.git/*" -not -path "./dist/*" -not -path "./build/*" -not -path "./.next/*" -not -path "./coverage/*" -exec du -ch {} + 2>/dev/null | grep total$ | cut -f1` ## Configuration Files Analysis ### Package Management - Package.json: @package.json - Package-lock.json exists: !`ls package-lock.json 2>/dev/null || echo "Not found"` - Yarn.lock exists: !`ls yarn.lock 2>/dev/null || echo "Not found"` - Requirements.txt: @requirements.txt - Gemfile: @Gemfile - Cargo.toml: @Cargo.toml - Go.mod: @go.mod - Composer.json: @composer.json ### Build & Dev Tools - Webpack config: @webpack.config.js - Vite config: @vite.config.js - Rollup config: @rollup.config.js - Babel config: @.babelrc - ESLint config: @.eslintrc.js - Prettier config: @.prettierrc - TypeScript config: @tsconfig.json - Tailwind config: @tailwind.config.js - Next.js config: @next.config.js ### Environment & Docker - .env files: !`find . -name ".env*" -type f 2>/dev/null || echo "No .env files found"` - Docker files: !`find . -name "Dockerfile*" -o -name "docker-compose*" 2>/dev/null || echo "No Docker files found"` - Kubernetes files: !`find . -name "*.yaml" -o -name "*.yml" 2>/dev/null | grep -E "(k8s|kubernetes|deployment|service)" || echo "No Kubernetes files found"` ### CI/CD Configuration - GitHub Actions: !`find .github -name "*.yml" -o -name "*.yaml" 2>/dev/null || echo "No GitHub Actions"` - GitLab CI: @.gitlab-ci.yml - Travis CI: @.travis.yml - Circle CI: @.circleci/config.yml ## Source Code Analysis ### Main Application Files - Main entry points: !`find . -name "main.*" -o -name "index.*" -o -name "app.*" -o -name "server.*" | grep -v node_modules | head -10` - Routes/Controllers: !`find . -path "*/routes/*" -o -path "*/controllers/*" -o -path "*/api/*" 2>/dev/null | grep -v node_modules | head -20 || echo "No routes/controllers found"` - Models/Schemas: !`find . -path "*/models/*" -o -path "*/schemas/*" -o -path "*/entities/*" 2>/dev/null | grep -v node_modules | head -20 || echo "No models/schemas found"` - Components: !`find . -path "*/components/*" -o -path "*/views/*" -o -path "*/pages/*" 2>/dev/null | grep -v node_modules | head -20 || echo "No components/views/pages found"` ### Database & Storage - Database configs: !`find . -name "*database*" -o -name "*db*" -o -name "*connection*" | grep -v node_modules | head -10` - Migration files: !`find . -path "*/migrations/*" -o -path "*/migrate/*" 2>/dev/null | head -10 || echo "No migration files found"` - Seed files: !`find . -path "*/seeds/*" -o -path "*/seeders/*" 2>/dev/null | head -10 || echo "No seed files found"` ### Testing Files - Test files: !`find . -name "*test*" -o -name "*spec*" | grep -v node_modules | head -15` - Test config: @jest.config.js ### API Documentation - API docs: !`find . \( -name "*api*" -a -name "*.md" \) -o -name "swagger*" -o -name "openapi*" 2>/dev/null | head -10 || echo "No API documentation found"` ## Key Files Content Analysis ### Root Configuration Files @README.md @LICENSE @.gitignore ### Main Application Entry Points !`find . -name "index.js" -o -name "index.ts" -o -name "main.js" -o -name "main.ts" -o -name "app.js" -o -name "app.ts" -o -name "server.js" -o -name "server.ts" 2>/dev/null | grep -v node_modules | head -5 | while read file; do echo "=== $file ==="; head -50 "$file" 2>/dev/null || echo "Could not read $file"; echo; done || echo "No main entry point files found"` ## Your Task Based on all the discovered information above, create a comprehensive analysis that includes: ## 1. Project Overview - Project type (web app, API, library, etc.) - Tech stack and frameworks - Architecture pattern (MVC, microservices, etc.) - Language(s) and versions ## 2. Detailed Directory Structure Analysis For each major directory, explain: - Purpose and role in the application - Key files and their functions - How it connects to other parts ## 3. File-by-File Breakdown Organize by category: - **Core Application Files**: Main entry points, routing, business logic - **Configuration Files**: Build tools, environment, deployment - **Data Layer**: Models, database connections, migrations - **Frontend/UI**: Components, pages, styles, assets - **Testing**: Test files, mocks, fixtures - **Documentation**: README, API docs, guides - **DevOps**: CI/CD, Docker, deployment scripts ## 4. API Endpoints Analysis If applicable, document: - All discovered endpoints and their methods - Authentication/authorization patterns - Request/response formats - API versioning strategy ## 5. Architecture Deep Dive Explain: - Overall application architecture - Data flow and request lifecycle - Key design patterns used - Dependencies between modules ## 6. Environment & Setup Analysis Document: - Required environment variables - Installation and setup process - Development workflow - Production deployment strategy ## 7. Technology Stack Breakdown List and explain: - Runtime environment - Frameworks and libraries - Database technologies - Build tools and bundlers - Testing frameworks - Deployment technologies ## 8. Visual Architecture Diagram Create a comprehensive diagram showing: - High-level system architecture - Component relationships - Data flow - External integrations - File structure hierarchy Use ASCII art, mermaid syntax, or detailed text representation to show: ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Frontend │────▶│ API │────▶│ Database │ │ (React/Vue) │ │ (Node/Flask) │ │ (Postgres/Mongo)│ └─────────────────┘ └─────────────────┘ └─────────────────┘ ## 9. Key Insights & Recommendations Provide: - Code quality assessment - Potential improvements - Security considerations - Performance optimization opportunities - Maintainability suggestions Think deeply about the codebase structure and provide comprehensive insights that would be valuable for new developers joining the project or for architectural decision-making. At the end, write all of the output into a file called "codebase_analysis.md"