# Technology Stack and Bill of Materials Generator
## Problem Context
Starting a new project requires careful selection of technologies, frameworks, and dependencies. Choosing the right stack is critical for long-term maintainability, performance, and team productivity. A Bill of Materials (BOM) ensures version consistency, compatibility, and clear documentation of all technology choices.
## Solution Pattern: Template Pattern
The Template Pattern provides a structured framework for technology selection. By asking targeted questions and providing recommendations, it ensures all critical aspects are considered and documented systematically.
## Prompt Template
When generating a technology stack and BOM:
### Step 1: Gather Application Type
- Ask: "What type of application are you building? (e.g., REST API, CLI tool, Web UI, Mobile App, VS Code extension, etc.)"
- If needed, ask clarifying questions about specific requirements for that app type
### Step 2: Review Core Requirements
- If not provided, request project requirements
- Summarize key features that impact technology choices
### Step 3: Core Technology Selection
- Ask: "What is your preferred core technology/language for this [app type]?"
- If guidance needed, recommend options based on:
- Application type
- Team expertise
- Industry standards
- Performance requirements
- Ecosystem maturity
### Step 4: Framework Selection
- Based on app type and core technology, discuss framework options
- Verify framework compatibility with core technology
- Confirm version requirements
### Step 5: Determine Additional Dependencies
Ask one at a time about needs for:
- Data handling
- Authentication/Authorization
- Logging
- Testing
- Development tools
- Deployment requirements
- App-type specific needs (e.g., CLI parsing, API documentation)
### Step 6: Version Analysis
For each selected component:
- Recommend latest stable version
- Check compatibility
- Verify active maintenance
- Identify potential conflicts
### Step 7: Generate BOM
Create structured output with:
- Core technology and version
- Framework and version
- All dependencies with exact versions
- Development dependencies
- Compatibility matrix
- Installation instructions
Remember:
- Ask one question at a time
- Provide recommendations when needed
- Use exact versions without prefix characters
- Verify all compatibility requirements
## Example Use Case
**Scenario**: Starting a new REST API project for a microservices architecture.
**Process**:
1. Define application type (REST API)
2. Select core technology (Node.js, Python, Go, etc.)
3. Choose framework (Express, FastAPI, Gin, etc.)
4. Identify dependencies (database, auth, logging, etc.)
5. Generate BOM with exact versions
**Result**: Complete technology stack with versioned dependencies, compatibility matrix, and installation instructions.
---
*This prompt is part of the Engify.ai research-based prompt library. Customize it for your specific context and needs.*