7.2 KiB
allowed-tools, description
| allowed-tools | description |
|---|---|
| Bash(find:*), Bash(ls:*), Bash(tree:*), Bash(grep:*), Bash(wc:*), Bash(du:*), Bash(head:*), Bash(tail:*), Bash(cat:*), Bash(touch:*) | 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"