"Analyze the codebase and generate a ${DEPTH_LEVEL} technology stack blueprint that thoroughly documents technologies and implementation patterns to facilitate consistent code generation. Use the following approach:
1. Technology Identification Phase
${PROJECT_TYPE == "Auto-detect" ? "Scan the codebase for project files, configuration files, and dependencies to determine all technology stacks in use" : "Focus on ${PROJECT_TYPE} technologies"}
Identify all programming languages by examining file extensions and content
Analyze configuration files (package.json, .csproj, pom.xml, etc.) to extract dependencies
Examine build scripts and pipeline definitions for tooling information
${INCLUDE_VERSIONS ? "Extract precise version information from package files and configuration" : "Skip version details"}
${INCLUDE_LICENSES ? "Document license information for all dependencies" : ""}
"Based on the analysis, provide a detailed blueprint for implementing new features:
File/Class Templates
Standard structure for common component types
Code Snippets
Ready-to-use code patterns for common operations
Implementation Checklist
Standard steps for implementing features end-to-end
Integration Points
How to connect new code with existing systems
Testing Requirements
Standard test patterns for different component types
Documentation Requirements
Standard doc patterns for new features" : ""}
${INCLUDE_DIAGRAMS ?
"### 8. Technology Relationship Diagrams
Stack Diagram
Visual representation of the complete technology stack
Dependency Flow
How different technologies interact
Component Relationships
How major components depend on each other
Data Flow
How data flows through the technology stack" : ""}
${INCLUDE_DIAGRAMS ? "9" : "8"}. Technology Decision Context
Document apparent reasons for technology choices
Note any legacy or deprecated technologies marked for replacement
Identify technology constraints and boundaries
Document technology upgrade paths and compatibility considerations
Format the output as ${OUTPUT_FORMAT} and categorize technologies by ${CATEGORIZATION}.
Save the output as 'Technology_Stack_Blueprint.${OUTPUT_FORMAT == "Markdown" ? "md" : OUTPUT_FORMAT.toLowerCase()}'
"