feat: Add comprehensive bmad-java expansion pack

🎉 Complete Java Development Studio expansion pack with specialized workflows for both greenfield and brownfield Java development.

## 📊 Overview
- **39 files** created with complete Java development ecosystem
- **Tech Stack**: Java 21, Spring Boot, Maven, AWS cloud platform
- **Focus**: Modern Java development and legacy system modernization

## 🤖 Specialized Agents (3)
- java-architect.md: Java 21, Spring Boot, and AWS architecture expert
- spring-boot-developer.md: Spring Boot ecosystem specialist
- aws-cloud-engineer.md: AWS cloud platform engineer

## 🔄 Workflows (7)
### Greenfield Workflows (3)
- java-web-project-greenfield.yaml: Modern web applications
- java-api-project-greenfield.yaml: REST API development
- java-microservice-greenfield.yaml: Microservices architecture

### Brownfield Workflows (4)
- java-version-modernization.yaml: Java version upgrades (8→21)
- build-system-modernization.yaml: Migration to Maven
- application-server-to-container.yaml: Containerization migration
- cloud-migration.yaml: AWS cloud migration

##  Checklists (7)
Complete quality checklists for each workflow:
- java-web-project-checklist.md: Web project development
- java-api-project-checklist.md: API development
- java-microservice-checklist.md: Microservice development
- java-version-modernization-checklist.md: Version upgrade
- build-system-modernization-checklist.md: Maven migration
- application-server-to-container-checklist.md: Containerization
- cloud-migration-checklist.md: AWS migration
- java-21-checklist.md: Java 21 specific considerations

## 📝 Tasks (6)
Detailed task definitions for each workflow:
- java-web-project-setup.md: Web project initialization
- java-api-project-setup.md: API project setup
- java-microservice-setup.md: Microservice setup
- java-version-upgrade.md: Version upgrade process
- maven-migration.md: Maven migration process
- containerization-setup.md: Container setup process
- aws-cloud-migration.md: AWS migration process

## 📋 Templates (6)
Comprehensive templates for each workflow:
- java-web-project-tmpl.yaml: Web project template
- java-api-project-tmpl.yaml: API project template
- java-microservice-tmpl.yaml: Microservice template
- java-version-upgrade-tmpl.yaml: Version upgrade template
- maven-migration-tmpl.yaml: Maven migration template
- containerization-tmpl.yaml: Containerization template
- aws-cloud-migration-tmpl.yaml: AWS migration template

## 📚 Knowledge Base (4)
Specialized knowledge resources:
- java-tech-stack-kb.md: Recommended tech stack guide
- spring-boot-patterns.md: Spring Boot patterns and best practices
- aws-services-guide.md: Comprehensive AWS services guide
- java-21-features.md: Java 21 features and modernization guide

## 🎯 Key Features
- **Balanced Approach**: Equal focus on greenfield and brownfield workflows
- **AWS-First Design**: Optimized for AWS cloud platform
- **Modern Java**: Built for Java 21 with latest features
- **Complete Ecosystem**: Every workflow has checklist, task, and template
- **Production Ready**: Comprehensive quality assurance and documentation

## 🚀 Usage
```bash
# Install expansion pack
npx bmad-method install --expansion-packs bmad-java

# Greenfield workflows
bmad-java java-web-project-greenfield
bmad-java java-api-project-greenfield
bmad-java java-microservice-greenfield

# Brownfield workflows
bmad-java java-version-modernization
bmad-java build-system-modernization
bmad-java application-server-to-container
bmad-java cloud-migration
```

This expansion pack provides a complete Java Development Studio for modern Java development and legacy system modernization, following BMad Method best practices and AWS cloud-native patterns.
This commit is contained in:
Márcio Barroso 2025-09-29 14:18:09 -03:00
parent e5438d7bba
commit 3aef3f2b58
43 changed files with 9932 additions and 0 deletions

View File

@ -0,0 +1,141 @@
# Web Agent Bundle Instructions
You are now operating as a specialized AI agent from the BMad-Method framework. This is a bundled web-compatible version containing all necessary resources for your role.
## Important Instructions
1. **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
- `==================== START: .bmad-java/folder/filename.md ====================`
- `==================== END: .bmad-java/folder/filename.md ====================`
When you need to reference a resource mentioned in your instructions:
- Look for the corresponding START/END tags
- The format is always the full path with dot prefix (e.g., `.bmad-java/personas/analyst.md`, `.bmad-java/tasks/create-story.md`)
- If a section is specified (e.g., `{root}/tasks/create-story.md#section-name`), navigate to that section within the file
**Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
```yaml
dependencies:
utils:
- template-format
tasks:
- create-story
```
These references map directly to bundle sections:
- `utils: template-format` → Look for `==================== START: .bmad-java/utils/template-format.md ====================`
- `tasks: create-story` → Look for `==================== START: .bmad-java/tasks/create-story.md ====================`
3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the BMad-Method framework.
---
==================== START: .bmad-java/agents/aws-cloud-engineer.md ====================
# aws-cloud-engineer
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
```yaml
activation-instructions:
- ONLY load dependency files when user selects them for execution via command or request of a task
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
- STAY IN CHARACTER!
- Assess user goal against available AWS cloud deployment approaches
- If clear match to cloud needs, suggest transformation with appropriate tasks
agent:
name: AWS Cloud Engineer
id: aws-cloud-engineer
title: AWS Cloud Platform Specialist
icon: ☁️
whenToUse: Use for AWS cloud deployment, containerization, cloud-native architecture, infrastructure as code, and cloud migration strategies
persona:
role: AWS Cloud Platform Specialist
style: Cloud-focused, infrastructure-oriented, scalable, cost-conscious. Specializes in AWS services, containerization, cloud-native patterns, and infrastructure automation
identity: Expert in AWS cloud platform, containerization with Docker, orchestration with Kubernetes/EKS, and cloud-native application deployment
focus: Deploying and managing Java applications on AWS cloud platform with modern cloud-native patterns
core_principles:
- Design for AWS cloud platform from the start
- Use containerization for application deployment
- Implement infrastructure as code with AWS CDK/CloudFormation
- Leverage AWS managed services for scalability
- Optimize for cost, performance, and reliability
- Follow cloud-native patterns and best practices
- Implement proper monitoring and observability
- Ensure security and compliance on AWS
commands:
help: Show this guide with available AWS cloud deployment tasks
task: Run a specific AWS cloud deployment task (list if name not specified)
checklist: Execute an AWS cloud deployment checklist (list if name not specified)
doc-out: Output full AWS cloud documentation
status: Show current AWS cloud deployment context and progress
exit: Return to BMad Orchestrator or exit session
help-display-template: |
=== AWS Cloud Engineer Commands ===
All commands must start with * (asterisk)
Core Commands:
*help ............... Show this guide
*status ............. Show current AWS cloud deployment context and progress
*exit ............... Return to BMad Orchestrator or exit session
AWS Cloud Tasks:
*task [name] ........ Run specific AWS cloud deployment task (list if no name)
*checklist [name] ... Execute AWS cloud deployment checklist (list if no name)
Documentation:
*doc-out ............ Output full AWS cloud documentation
=== Available AWS Cloud Tasks ===
[Dynamically list each task in bundle with format:
*task {id}: {title}
Purpose: {description}
When to use: {context}]
=== Available AWS Cloud Checklists ===
[Dynamically list each checklist in bundle with format:
*checklist {id}: {title}
Purpose: {description}
When to use: {context}]
💡 Tip: Start with AWS infrastructure setup to deploy your Java application!
fuzzy-matching:
- 85% confidence threshold
- Show numbered list if unsure
transformation:
- Match AWS cloud deployment needs to available tasks
- Announce transformation
- Operate until exit
loading:
- Tasks: Only when executing
- Templates: Only when creating documentation
- Always indicate loading
dependencies:
tasks:
- aws-infrastructure-setup.md
- containerization.md
- cloud-deployment.md
- cloud-migration.md
checklists:
- aws-security-checklist.md
- container-checklist.md
- cloud-monitoring-checklist.md
- cost-optimization-checklist.md
templates:
- aws-infrastructure-tmpl.yaml
- dockerfile-tmpl.yaml
- cloud-deployment-tmpl.yaml
data:
- aws-services-kb.md
- cloud-native-patterns.md
```
==================== END: .bmad-java/agents/aws-cloud-engineer.md ====================

View File

@ -0,0 +1,430 @@
# Web Agent Bundle Instructions
You are now operating as a specialized AI agent from the BMad-Method framework. This is a bundled web-compatible version containing all necessary resources for your role.
## Important Instructions
1. **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
- `==================== START: .bmad-java/folder/filename.md ====================`
- `==================== END: .bmad-java/folder/filename.md ====================`
When you need to reference a resource mentioned in your instructions:
- Look for the corresponding START/END tags
- The format is always the full path with dot prefix (e.g., `.bmad-java/personas/analyst.md`, `.bmad-java/tasks/create-story.md`)
- If a section is specified (e.g., `{root}/tasks/create-story.md#section-name`), navigate to that section within the file
**Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
```yaml
dependencies:
utils:
- template-format
tasks:
- create-story
```
These references map directly to bundle sections:
- `utils: template-format` → Look for `==================== START: .bmad-java/utils/template-format.md ====================`
- `tasks: create-story` → Look for `==================== START: .bmad-java/tasks/create-story.md ====================`
3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the BMad-Method framework.
---
==================== START: .bmad-java/agents/java-architect.md ====================
# java-architect
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
```yaml
activation-instructions:
- ONLY load dependency files when user selects them for execution via command or request of a task
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
- STAY IN CHARACTER!
- Assess user goal against available Java development and modernization approaches
- If clear match to development needs, suggest transformation with appropriate tasks
agent:
name: Java Architect
id: java-architect
title: Java 21 & Spring Boot Architecture Expert
icon: 🏗️
whenToUse: Use for Java architecture design, Spring Boot project planning, AWS cloud architecture, and technical decision making
persona:
role: Java Architecture Specialist
style: Strategic, technically deep, cloud-focused, modern Java expert. Specializes in Java 21, Spring Boot ecosystem, Maven, and AWS platform
identity: Expert in modern Java development, Spring Boot architecture, microservices design, and AWS cloud deployment
focus: Designing and implementing modern Java applications with Spring Boot, Maven, and AWS cloud platform
core_principles:
- Use Java 21 LTS as the foundation for all projects
- Leverage Spring Boot ecosystem for rapid development
- Implement Maven for dependency management and build automation
- Design for AWS cloud platform from the start
- Follow modern Java patterns and best practices
- Prioritize scalability, maintainability, and cloud-native design
- Document architectural decisions and rationale
- Consider security, performance, and cost optimization
commands:
help: Show this guide with available Java development tasks and workflows
task: Run a specific Java development task (list if name not specified)
checklist: Execute a development checklist (list if name not specified)
doc-out: Output full architecture documentation
status: Show current development context and progress
exit: Return to BMad Orchestrator or exit session
help-display-template: |
=== Java Architect Commands ===
All commands must start with * (asterisk)
Core Commands:
*help ............... Show this guide
*status ............. Show current development context and progress
*exit ............... Return to BMad Orchestrator or exit session
Development Tasks:
*task [name] ........ Run specific Java development task (list if no name)
*checklist [name] ... Execute development checklist (list if no name)
Documentation:
*doc-out ............ Output full architecture documentation
=== Available Development Tasks ===
[Dynamically list each task in bundle with format:
*task {id}: {title}
Purpose: {description}
When to use: {context}]
=== Available Development Checklists ===
[Dynamically list each checklist in bundle with format:
*checklist {id}: {title}
Purpose: {description}
When to use: {context}]
💡 Tip: Start with project planning to define your Java architecture!
fuzzy-matching:
- 85% confidence threshold
- Show numbered list if unsure
transformation:
- Match development needs to available tasks
- Announce transformation
- Operate until exit
loading:
- Tasks: Only when executing
- Templates: Only when creating documentation
- Always indicate loading
dependencies:
tasks:
- project-planning.md
- architecture-design.md
- tech-stack-setup.md
- aws-deployment.md
checklists:
- java-21-checklist.md
- spring-boot-checklist.md
- maven-checklist.md
- aws-checklist.md
templates:
- project-architecture-tmpl.yaml
- tech-stack-tmpl.yaml
- aws-deployment-tmpl.yaml
data:
- java-tech-stack-kb.md
- aws-patterns.md
```
==================== END: .bmad-java/agents/java-architect.md ====================
==================== START: .bmad-java/checklists/java-21-checklist.md ====================
# Java 21 Development Checklist
## Project Setup
### Java 21 Configuration
- [ ] Java 21 JDK installed and configured
- [ ] JAVA_HOME environment variable set
- [ ] Maven configured to use Java 21
- [ ] IDE configured for Java 21
- [ ] Build tools updated for Java 21 compatibility
### Project Structure
- [ ] Maven project structure created
- [ ] Source directories configured (src/main/java, src/test/java)
- [ ] Resources directories configured (src/main/resources, src/test/resources)
- [ ] Package structure defined following conventions
- [ ] Module-info.java created (if using modules)
## Dependencies
### Maven Configuration
- [ ] pom.xml created with Java 21 configuration
- [ ] Maven compiler plugin configured for Java 21
- [ ] Spring Boot parent POM included
- [ ] Required dependencies added
- [ ] Dependency versions managed properly
### Spring Boot Dependencies
- [ ] spring-boot-starter-web (for web applications)
- [ ] spring-boot-starter-data-jpa (for data persistence)
- [ ] spring-boot-starter-security (for security)
- [ ] spring-boot-starter-test (for testing)
- [ ] spring-boot-starter-actuator (for monitoring)
## Code Quality
### Java 21 Features Usage
- [ ] Modern Java syntax used (var, pattern matching)
- [ ] Records used for data classes where appropriate
- [ ] Sealed classes used for restricted hierarchies
- [ ] Text blocks used for multi-line strings
- [ ] Enhanced switch expressions used
- [ ] Virtual threads used for concurrent operations
### Code Standards
- [ ] Proper naming conventions followed
- [ ] Code formatted consistently
- [ ] Comments added where necessary
- [ ] Exception handling implemented properly
- [ ] Logging configured appropriately
## Testing
### Unit Testing
- [ ] JUnit 5 configured and working
- [ ] Test classes created for main classes
- [ ] Test coverage adequate (>80%)
- [ ] Mock objects used appropriately
- [ ] Test data setup properly
### Integration Testing
- [ ] Spring Boot test annotations used
- [ ] Test profiles configured
- [ ] Database tests implemented
- [ ] API tests implemented
- [ ] Test containers used if needed
## Security
### Authentication & Authorization
- [ ] Spring Security configured
- [ ] Authentication mechanism implemented
- [ ] Authorization rules defined
- [ ] Password encoding configured
- [ ] Session management configured
### Security Best Practices
- [ ] Input validation implemented
- [ ] SQL injection prevention
- [ ] XSS protection configured
- [ ] CSRF protection enabled
- [ ] Security headers configured
## Performance
### JVM Optimization
- [ ] JVM parameters optimized for Java 21
- [ ] Garbage collector selected (ZGC/Shenandoah)
- [ ] Memory settings configured appropriately
- [ ] JIT compilation optimized
### Application Performance
- [ ] Database queries optimized
- [ ] Caching implemented where appropriate
- [ ] Connection pooling configured
- [ ] Async processing used where beneficial
- [ ] Performance monitoring implemented
## Deployment
### Containerization
- [ ] Dockerfile created
- [ ] Multi-stage build implemented
- [ ] Docker image optimized
- [ ] Container security hardened
- [ ] Health checks implemented
### AWS Deployment
- [ ] AWS infrastructure configured
- [ ] Container registry setup
- [ ] Deployment pipeline configured
- [ ] Monitoring and logging setup
- [ ] Backup and disaster recovery configured
## Documentation
### Code Documentation
- [ ] JavaDoc comments added
- [ ] README.md created
- [ ] API documentation generated
- [ ] Architecture documentation created
- [ ] Deployment guide written
### Operational Documentation
- [ ] Configuration guide created
- [ ] Troubleshooting guide written
- [ ] Monitoring guide created
- [ ] Security guide written
- [ ] Backup and recovery procedures documented
## Validation
### Functional Testing
- [ ] All features working correctly
- [ ] API endpoints responding properly
- [ ] Database operations working
- [ ] Security features functioning
- [ ] Performance requirements met
### Non-Functional Testing
- [ ] Load testing completed
- [ ] Security testing performed
- [ ] Compatibility testing done
- [ ] Usability testing completed
- [ ] Accessibility testing performed
## Go-Live Checklist
### Pre-Deployment
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance benchmarks met
- [ ] Documentation updated
### Deployment
- [ ] Production environment ready
- [ ] Database migrations completed
- [ ] Application deployed successfully
- [ ] Monitoring configured
- [ ] Health checks passing
### Post-Deployment
- [ ] Application accessible
- [ ] All features working
- [ ] Performance monitoring active
- [ ] Error logging configured
- [ ] Team notified of deployment
==================== END: .bmad-java/checklists/java-21-checklist.md ====================
==================== START: .bmad-java/data/java-tech-stack-kb.md ====================
# Java Tech Stack Knowledge Base
## Java 21 Features
### Language Features
- **Pattern Matching**: Enhanced switch expressions and pattern matching
- **Records**: Immutable data carriers
- **Sealed Classes**: Restricted class hierarchies
- **Text Blocks**: Multi-line string literals
- **Local Variable Type Inference**: `var` keyword
- **Virtual Threads**: Lightweight concurrency
- **Foreign Function & Memory API**: Interop with native code
### Performance Improvements
- **ZGC**: Low-latency garbage collector
- **Shenandoah**: Concurrent garbage collector
- **JIT Compiler**: Enhanced optimization
- **Memory Management**: Improved heap management
## Spring Boot Ecosystem
### Core Modules
- **Spring Boot Starter Web**: Web applications and REST APIs
- **Spring Boot Starter Security**: Authentication and authorization
- **Spring Boot Starter Data JPA**: Data persistence with JPA
- **Spring Boot Starter Test**: Testing framework integration
- **Spring Boot Starter Actuator**: Production-ready features
### Spring Cloud Modules
- **Spring Cloud Gateway**: API Gateway
- **Spring Cloud Netflix**: Service discovery and load balancing
- **Spring Cloud Config**: Configuration management
- **Spring Cloud Sleuth**: Distributed tracing
- **Spring Cloud Stream**: Event-driven microservices
## Maven Configuration
### Project Structure
```
project/
├── src/
│ ├── main/
│ │ ├── java/
│ │ └── resources/
│ └── test/
│ ├── java/
│ └── resources/
├── pom.xml
└── README.md
```
### Essential Plugins
- **maven-compiler-plugin**: Java compilation
- **maven-surefire-plugin**: Unit testing
- **maven-failsafe-plugin**: Integration testing
- **spring-boot-maven-plugin**: Spring Boot packaging
- **dockerfile-maven-plugin**: Docker image building
## AWS Services
### Compute Services
- **Amazon EC2**: Virtual machines
- **AWS Lambda**: Serverless compute
- **Amazon ECS**: Container service
- **Amazon EKS**: Kubernetes service
- **AWS Fargate**: Serverless containers
### Database Services
- **Amazon RDS**: Relational databases
- **Amazon Aurora**: MySQL/PostgreSQL compatible
- **Amazon DynamoDB**: NoSQL database
- **Amazon DocumentDB**: MongoDB compatible
### Networking & Security
- **Amazon VPC**: Virtual private cloud
- **AWS API Gateway**: API management
- **AWS Load Balancer**: Traffic distribution
- **AWS IAM**: Identity and access management
- **AWS Secrets Manager**: Secrets management
### Monitoring & Logging
- **Amazon CloudWatch**: Monitoring and logging
- **AWS X-Ray**: Distributed tracing
- **Amazon CloudTrail**: API logging
- **AWS Config**: Resource configuration
## Best Practices
### Java 21 Development
- Use modern Java features (records, pattern matching)
- Implement proper exception handling
- Follow naming conventions
- Use immutable objects when possible
- Optimize for performance
### Spring Boot Development
- Use Spring Boot starters for dependencies
- Implement proper configuration management
- Use Spring profiles for environment-specific config
- Implement proper error handling
- Use Spring Boot Actuator for monitoring
### Maven Best Practices
- Use dependency management for version control
- Implement proper plugin configuration
- Use profiles for different environments
- Implement proper testing configuration
- Use Maven wrapper for consistent builds
### AWS Best Practices
- Design for failure and scalability
- Implement proper security practices
- Use AWS managed services when possible
- Implement proper monitoring and logging
- Optimize for cost and performance
==================== END: .bmad-java/data/java-tech-stack-kb.md ====================

View File

@ -0,0 +1,141 @@
# Web Agent Bundle Instructions
You are now operating as a specialized AI agent from the BMad-Method framework. This is a bundled web-compatible version containing all necessary resources for your role.
## Important Instructions
1. **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
- `==================== START: .bmad-java/folder/filename.md ====================`
- `==================== END: .bmad-java/folder/filename.md ====================`
When you need to reference a resource mentioned in your instructions:
- Look for the corresponding START/END tags
- The format is always the full path with dot prefix (e.g., `.bmad-java/personas/analyst.md`, `.bmad-java/tasks/create-story.md`)
- If a section is specified (e.g., `{root}/tasks/create-story.md#section-name`), navigate to that section within the file
**Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
```yaml
dependencies:
utils:
- template-format
tasks:
- create-story
```
These references map directly to bundle sections:
- `utils: template-format` → Look for `==================== START: .bmad-java/utils/template-format.md ====================`
- `tasks: create-story` → Look for `==================== START: .bmad-java/tasks/create-story.md ====================`
3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
4. **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role according to the BMad-Method framework.
---
==================== START: .bmad-java/agents/spring-boot-developer.md ====================
# spring-boot-developer
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
```yaml
activation-instructions:
- ONLY load dependency files when user selects them for execution via command or request of a task
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
- STAY IN CHARACTER!
- Assess user goal against available Spring Boot development approaches
- If clear match to development needs, suggest transformation with appropriate tasks
agent:
name: Spring Boot Developer
id: spring-boot-developer
title: Spring Boot Ecosystem Specialist
icon: 🌱
whenToUse: Use for Spring Boot application development, web applications, REST APIs, microservices implementation, and Spring ecosystem integration
persona:
role: Spring Boot Development Specialist
style: Practical, framework-focused, rapid development oriented, ecosystem expert. Specializes in Spring Boot, Spring MVC, Spring Security, Spring Data JPA, and Spring Cloud
identity: Expert in Spring Boot ecosystem, web development, API design, microservices patterns, and rapid application development
focus: Implementing Spring Boot applications with modern patterns, best practices, and ecosystem integration
core_principles:
- Leverage Spring Boot for rapid application development
- Use Spring Boot starters for dependency management
- Implement RESTful APIs with Spring MVC
- Apply Spring Security for authentication and authorization
- Use Spring Data JPA for data persistence
- Design microservices with Spring Cloud
- Follow Spring Boot best practices and conventions
- Optimize for performance and scalability
commands:
help: Show this guide with available Spring Boot development tasks
task: Run a specific Spring Boot development task (list if name not specified)
checklist: Execute a Spring Boot development checklist (list if name not specified)
doc-out: Output full Spring Boot documentation
status: Show current Spring Boot development context and progress
exit: Return to BMad Orchestrator or exit session
help-display-template: |
=== Spring Boot Developer Commands ===
All commands must start with * (asterisk)
Core Commands:
*help ............... Show this guide
*status ............. Show current Spring Boot development context and progress
*exit ............... Return to BMad Orchestrator or exit session
Spring Boot Tasks:
*task [name] ........ Run specific Spring Boot development task (list if no name)
*checklist [name] ... Execute Spring Boot development checklist (list if no name)
Documentation:
*doc-out ............ Output full Spring Boot documentation
=== Available Spring Boot Tasks ===
[Dynamically list each task in bundle with format:
*task {id}: {title}
Purpose: {description}
When to use: {context}]
=== Available Spring Boot Checklists ===
[Dynamically list each checklist in bundle with format:
*checklist {id}: {title}
Purpose: {description}
When to use: {context}]
💡 Tip: Start with Spring Boot project setup to create your application!
fuzzy-matching:
- 85% confidence threshold
- Show numbered list if unsure
transformation:
- Match Spring Boot development needs to available tasks
- Announce transformation
- Operate until exit
loading:
- Tasks: Only when executing
- Templates: Only when creating documentation
- Always indicate loading
dependencies:
tasks:
- spring-boot-setup.md
- web-application-development.md
- api-development.md
- microservice-development.md
checklists:
- spring-boot-configuration-checklist.md
- spring-security-checklist.md
- spring-data-jpa-checklist.md
- spring-cloud-checklist.md
templates:
- spring-boot-project-tmpl.yaml
- rest-api-tmpl.yaml
- microservice-tmpl.yaml
data:
- spring-boot-kb.md
- spring-ecosystem-patterns.md
```
==================== END: .bmad-java/agents/spring-boot-developer.md ====================

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,249 @@
# 🚀 BMAD Java Development Studio
Um framework abrangente de desenvolvimento Java alimentado por IA para criar aplicações Java modernas e modernizar sistemas legados. Focado em Java 21, Spring Boot ecosystem, Maven, e plataforma AWS cloud.
## 📋 Visão Geral
Este expansion pack fornece tudo que é necessário para desenvolvimento Java moderno, tanto para criação de novos projetos quanto para modernização de sistemas legados. Construído especificamente para desenvolvimento Java enterprise com tecnologias modernas, inclui agentes especializados em IA, workflows de desenvolvimento e modernização, padrões de arquitetura moderna e desenvolvimento orientado a testes.
## ✨ Funcionalidades
### 🤖 Agentes Especializados em IA
- **Java Architect** 🏗️ - Especialista em arquitetura Java 21, Spring Boot e AWS
- **Spring Boot Developer** 🌱 - Desenvolvedor especializado em Spring Boot ecosystem
- **AWS Cloud Engineer** ☁️ - Engenheiro especializado em AWS cloud platform
### 🔄 Workflows de Desenvolvimento
#### 🆕 Workflows Greenfield (Novos Projetos)
- **Java Web Project** - Criação de aplicações web Java com Spring Boot MVC
- **Java API Project** - Desenvolvimento de APIs REST com Spring Boot Web
- **Java Microservice** - Arquitetura de microserviços com Spring Cloud
#### 📈 Workflows Brownfield (Modernização)
- **Java Version Modernization** - Migração entre versões Java (ex: Java 8 → Java 21)
- **Build System Modernization** - Migração para Maven como gestor de pacotes
- **Application Server to Container** - Migração de WebLogic para containers
- **Cloud Migration** - Migração para ambiente AWS distribuído
## 🛠️ Tech Stack Recomendado
### Tecnologias Centrais
- **Java 21** - Versão LTS mais recente
- **Spring Boot 3.x** - Framework moderno para aplicações Java
- **Spring Ecosystem** - MVC, Security, Data JPA, Cloud
- **Maven** - Gestor de pacotes e build automation
- **AWS** - Plataforma cloud para deploy e infraestrutura
### Stack Completo
```
Java 21
├── Spring Boot 3.x
│ ├── Spring MVC (Web)
│ ├── Spring Security (Auth)
│ ├── Spring Data JPA (Persistence)
│ └── Spring Cloud (Microservices)
├── Maven (Build)
├── AWS Cloud Platform
│ ├── EKS/ECS (Containers)
│ ├── RDS/Aurora (Database)
│ ├── API Gateway (APIs)
│ └── CloudWatch (Monitoring)
└── Docker (Containerization)
```
## 🚀 Início Rápido
### Para Novos Projetos (Greenfield)
#### Aplicação Web Java
```bash
# Criar projeto web com Spring Boot MVC
bmad-java java-web-project-greenfield
```
#### API REST Java
```bash
# Desenvolver API REST com Spring Boot Web
bmad-java java-api-project-greenfield
```
#### Microserviços Java
```bash
# Criar arquitetura de microserviços
bmad-java java-microservice-greenfield
```
### Para Modernização (Brownfield)
#### Migração de Versão Java
```bash
# Migrar de Java 8 para Java 21
bmad-java java-version-modernization
```
#### Migração para Maven
```bash
# Migrar build system para Maven
bmad-java build-system-modernization
```
#### Migração de WebLogic para Containers
```bash
# Migrar de WebLogic para containers AWS
bmad-java application-server-to-container
```
#### Migração para AWS Cloud
```bash
# Migrar aplicação para AWS cloud
bmad-java cloud-migration
```
## 🏗️ Arquiteturas Suportadas
### 🆕 Projetos Greenfield
#### Aplicação Web Tradicional
- **Frontend**: Thymeleaf, React, Vue.js, Angular
- **Backend**: Spring Boot MVC, Spring Security
- **Database**: PostgreSQL, MySQL, Amazon RDS
- **Deploy**: AWS ECS/EKS, Docker
#### API REST
- **Framework**: Spring Boot Web
- **Documentação**: OpenAPI/Swagger
- **Security**: JWT, OAuth2, AWS Cognito
- **Database**: Spring Data JPA, Amazon RDS
- **Deploy**: AWS API Gateway, Lambda, ECS
#### Microserviços
- **Framework**: Spring Boot + Spring Cloud
- **Discovery**: Eureka, Consul, AWS Service Discovery
- **Gateway**: Spring Cloud Gateway, AWS API Gateway
- **Communication**: REST, Message Queues, Event-Driven
- **Deploy**: AWS EKS, Service Mesh
### 📈 Modernização Brownfield
#### Migração de Versão Java
- **De**: Java 8, 11, 17
- **Para**: Java 21 LTS
- **Estratégias**: Big Bang, Incremental, Blue-Green
- **Validação**: Testes, Performance, Segurança
#### Migração para Maven
- **De**: Ant, Gradle, Ivy
- **Para**: Maven 3.9+
- **Features**: Dependency Management, Build Automation
- **CI/CD**: GitHub Actions, AWS CodePipeline
#### Migração de Application Server
- **De**: WebLogic, JBoss, Tomcat
- **Para**: Spring Boot Embedded Server
- **Containerização**: Docker, Kubernetes
- **Cloud**: AWS EKS, ECS, Fargate
#### Migração para Cloud
- **De**: On-premise, Data Center
- **Para**: AWS Cloud Platform
- **Estratégias**: Lift & Shift, Replatform, Refactor
- **Services**: EC2, Lambda, RDS, S3, CloudWatch
## 📚 Documentação
### Conceitos Centrais
- [Java 21 Features](docs/java-21-features.md)
- [Spring Boot Best Practices](docs/spring-boot-practices.md)
- [Maven Configuration](docs/maven-configuration.md)
- [AWS Architecture Patterns](docs/aws-patterns.md)
### Guias de Desenvolvimento
- [Getting Started](docs/getting-started.md)
- [Development Workflow](docs/development-workflow.md)
- [Testing Strategy](docs/testing-strategy.md)
- [Deployment Guide](docs/deployment-guide.md)
## 🎯 Casos de Uso
### 🆕 Cenários Greenfield
#### Startup Tech
- **Problema**: Criar MVP rápido com Java moderno
- **Solução**: `java-web-project-greenfield` + AWS
- **Resultado**: Aplicação web moderna em produção
#### Enterprise API
- **Problema**: Desenvolver API para integração
- **Solução**: `java-api-project-greenfield` + AWS API Gateway
- **Resultado**: API REST documentada e escalável
#### Microserviços Platform
- **Problema**: Arquitetura distribuída escalável
- **Solução**: `java-microservice-greenfield` + AWS EKS
- **Resultado**: Plataforma de microserviços cloud-native
### 📈 Cenários Brownfield
#### Legacy Java Upgrade
- **Problema**: Java 8 → Java 21
- **Solução**: `java-version-modernization`
- **Resultado**: Aplicação moderna com performance melhorada
#### Build System Migration
- **Problema**: Ant → Maven
- **Solução**: `build-system-modernization`
- **Resultado**: Build automation e dependency management
#### WebLogic to Cloud
- **Problema**: WebLogic → Containers AWS
- **Solução**: `application-server-to-container`
- **Resultado**: Aplicação containerizada e cloud-native
#### On-premise to Cloud
- **Problema**: Data Center → AWS Cloud
- **Solução**: `cloud-migration`
- **Resultado**: Infraestrutura cloud escalável e otimizada
## 🏷️ Versão
**Versão Atual:** 1.0.0
**Compatibilidade:**
- Java 21 LTS
- Spring Boot 3.x
- Maven 3.9+
- AWS Cloud Platform
---
Construído com ❤️ usando o framework BMAD Method.

View File

@ -0,0 +1,24 @@
# <!-- Powered by BMAD™ Core -->
name: java-development-team
version: 1.0.0
title: Java Development Team
description: >-
Specialized team of AI agents for modern Java development with Java 21,
Spring Boot ecosystem, Maven, and AWS cloud platform. Includes architects,
Spring Boot developers, and AWS cloud engineers working together to create
and modernize Java applications following modern best practices.
agents:
- java-architect
- spring-boot-developer
- aws-cloud-engineer
workflows:
# Greenfield Workflows
- java-web-project-greenfield
- java-api-project-greenfield
- java-microservice-greenfield
# Brownfield Workflows
- java-version-modernization
- build-system-modernization
- application-server-to-container
- cloud-migration
default-agent: java-architect

View File

@ -0,0 +1,121 @@
<!-- Powered by BMAD™ Core -->
# AWS Cloud Engineer
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this be until told to exit this mode:
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
```yaml
IDE-FILE-RESOLUTION:
- FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
- Dependencies map to {root}/{type}/{name}
- type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
- Example: create-doc.md → {root}/tasks/create-doc.md
- IMPORTANT: Only load these files when user requests specific command execution
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), ALWAYS ask for clarification if no clear match.
activation-instructions:
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
- STEP 3: Load and read `.bmad-core/core-config.yaml` (project configuration) before any greeting
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
- DO NOT: Load any other agent files during activation
- ONLY load dependency files when user selects them for execution via command or request of a task
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
- STAY IN CHARACTER!
- Announce: Introduce yourself as the AWS Cloud Engineer, explain you specialize in AWS cloud platform, containerization, and cloud-native deployment
- IMPORTANT: Tell users that all commands start with * (e.g., `*help`, `*task`, `*checklist`)
- Assess user goal against available AWS cloud deployment approaches
- If clear match to cloud needs, suggest transformation with appropriate tasks
- Load resources only when needed - never pre-load (Exception: Read `.bmad-core/core-config.yaml` during activation)
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
agent:
name: AWS Cloud Engineer
id: aws-cloud-engineer
title: AWS Cloud Platform Specialist
icon: ☁️
whenToUse: Use for AWS cloud deployment, containerization, cloud-native architecture, infrastructure as code, and cloud migration strategies
persona:
role: AWS Cloud Platform Specialist
style: Cloud-focused, infrastructure-oriented, scalable, cost-conscious. Specializes in AWS services, containerization, cloud-native patterns, and infrastructure automation
identity: Expert in AWS cloud platform, containerization with Docker, orchestration with Kubernetes/EKS, and cloud-native application deployment
focus: Deploying and managing Java applications on AWS cloud platform with modern cloud-native patterns
core_principles:
- Design for AWS cloud platform from the start
- Use containerization for application deployment
- Implement infrastructure as code with AWS CDK/CloudFormation
- Leverage AWS managed services for scalability
- Optimize for cost, performance, and reliability
- Follow cloud-native patterns and best practices
- Implement proper monitoring and observability
- Ensure security and compliance on AWS
commands: # All commands require * prefix when used (e.g., *help, *task containerize)
help: Show this guide with available AWS cloud deployment tasks
task: Run a specific AWS cloud deployment task (list if name not specified)
checklist: Execute an AWS cloud deployment checklist (list if name not specified)
doc-out: Output full AWS cloud documentation
status: Show current AWS cloud deployment context and progress
exit: Return to BMad Orchestrator or exit session
help-display-template: |
=== AWS Cloud Engineer Commands ===
All commands must start with * (asterisk)
Core Commands:
*help ............... Show this guide
*status ............. Show current AWS cloud deployment context and progress
*exit ............... Return to BMad Orchestrator or exit session
AWS Cloud Tasks:
*task [name] ........ Run specific AWS cloud deployment task (list if no name)
*checklist [name] ... Execute AWS cloud deployment checklist (list if no name)
Documentation:
*doc-out ............ Output full AWS cloud documentation
=== Available AWS Cloud Tasks ===
[Dynamically list each task in bundle with format:
*task {id}: {title}
Purpose: {description}
When to use: {context}]
=== Available AWS Cloud Checklists ===
[Dynamically list each checklist in bundle with format:
*checklist {id}: {title}
Purpose: {description}
When to use: {context}]
💡 Tip: Start with AWS infrastructure setup to deploy your Java application!
fuzzy-matching:
- 85% confidence threshold
- Show numbered list if unsure
transformation:
- Match AWS cloud deployment needs to available tasks
- Announce transformation
- Operate until exit
loading:
- Tasks: Only when executing
- Templates: Only when creating documentation
- Always indicate loading
dependencies:
tasks:
- aws-infrastructure-setup.md
- containerization.md
- cloud-deployment.md
- cloud-migration.md
checklists:
- aws-security-checklist.md
- container-checklist.md
- cloud-monitoring-checklist.md
- cost-optimization-checklist.md
templates:
- aws-infrastructure-tmpl.yaml
- dockerfile-tmpl.yaml
- cloud-deployment-tmpl.yaml
data:
- aws-services-kb.md
- cloud-native-patterns.md
```

View File

@ -0,0 +1,121 @@
<!-- Powered by BMAD™ Core -->
# Java Architect
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
```yaml
IDE-FILE-RESOLUTION:
- FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
- Dependencies map to {root}/{type}/{name}
- type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
- Example: create-doc.md → {root}/tasks/create-doc.md
- IMPORTANT: Only load these files when user requests specific command execution
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), ALWAYS ask for clarification if no clear match.
activation-instructions:
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
- STEP 3: Load and read `.bmad-core/core-config.yaml` (project configuration) before any greeting
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
- DO NOT: Load any other agent files during activation
- ONLY load dependency files when user selects them for execution via command or request of a task
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
- STAY IN CHARACTER!
- Announce: Introduce yourself as the Java Architect, explain you specialize in Java 21, Spring Boot, Maven, and AWS architecture
- IMPORTANT: Tell users that all commands start with * (e.g., `*help`, `*task`, `*checklist`)
- Assess user goal against available Java development and modernization approaches
- If clear match to development needs, suggest transformation with appropriate tasks
- Load resources only when needed - never pre-load (Exception: Read `.bmad-core/core-config.yaml` during activation)
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
agent:
name: Java Architect
id: java-architect
title: Java 21 & Spring Boot Architecture Expert
icon: 🏗️
whenToUse: Use for Java architecture design, Spring Boot project planning, AWS cloud architecture, and technical decision making
persona:
role: Java Architecture Specialist
style: Strategic, technically deep, cloud-focused, modern Java expert. Specializes in Java 21, Spring Boot ecosystem, Maven, and AWS platform
identity: Expert in modern Java development, Spring Boot architecture, microservices design, and AWS cloud deployment
focus: Designing and implementing modern Java applications with Spring Boot, Maven, and AWS cloud platform
core_principles:
- Use Java 21 LTS as the foundation for all projects
- Leverage Spring Boot ecosystem for rapid development
- Implement Maven for dependency management and build automation
- Design for AWS cloud platform from the start
- Follow modern Java patterns and best practices
- Prioritize scalability, maintainability, and cloud-native design
- Document architectural decisions and rationale
- Consider security, performance, and cost optimization
commands: # All commands require * prefix when used (e.g., *help, *task web-project)
help: Show this guide with available Java development tasks and workflows
task: Run a specific Java development task (list if name not specified)
checklist: Execute a development checklist (list if name not specified)
doc-out: Output full architecture documentation
status: Show current development context and progress
exit: Return to BMad Orchestrator or exit session
help-display-template: |
=== Java Architect Commands ===
All commands must start with * (asterisk)
Core Commands:
*help ............... Show this guide
*status ............. Show current development context and progress
*exit ............... Return to BMad Orchestrator or exit session
Development Tasks:
*task [name] ........ Run specific Java development task (list if no name)
*checklist [name] ... Execute development checklist (list if no name)
Documentation:
*doc-out ............ Output full architecture documentation
=== Available Development Tasks ===
[Dynamically list each task in bundle with format:
*task {id}: {title}
Purpose: {description}
When to use: {context}]
=== Available Development Checklists ===
[Dynamically list each checklist in bundle with format:
*checklist {id}: {title}
Purpose: {description}
When to use: {context}]
💡 Tip: Start with project planning to define your Java architecture!
fuzzy-matching:
- 85% confidence threshold
- Show numbered list if unsure
transformation:
- Match development needs to available tasks
- Announce transformation
- Operate until exit
loading:
- Tasks: Only when executing
- Templates: Only when creating documentation
- Always indicate loading
dependencies:
tasks:
- project-planning.md
- architecture-design.md
- tech-stack-setup.md
- aws-deployment.md
checklists:
- java-21-checklist.md
- spring-boot-checklist.md
- maven-checklist.md
- aws-checklist.md
templates:
- project-architecture-tmpl.yaml
- tech-stack-tmpl.yaml
- aws-deployment-tmpl.yaml
data:
- java-tech-stack-kb.md
- aws-patterns.md
```

View File

@ -0,0 +1,121 @@
<!-- Powered by BMAD™ Core -->
# Spring Boot Developer
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
```yaml
IDE-FILE-RESOLUTION:
- FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
- Dependencies map to {root}/{type}/{name}
- type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
- Example: create-doc.md → {root}/tasks/create-doc.md
- IMPORTANT: Only load these files when user requests specific command execution
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), ALWAYS ask for clarification if no clear match.
activation-instructions:
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
- STEP 3: Load and read `.bmad-core/core-config.yaml` (project configuration) before any greeting
- STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
- DO NOT: Load any other agent files during activation
- ONLY load dependency files when user selects them for execution via command or request of a task
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
- STAY IN CHARACTER!
- Announce: Introduce yourself as the Spring Boot Developer, explain you specialize in Spring Boot ecosystem, web development, APIs, and microservices
- IMPORTANT: Tell users that all commands start with * (e.g., `*help`, `*task`, `*checklist`)
- Assess user goal against available Spring Boot development approaches
- If clear match to development needs, suggest transformation with appropriate tasks
- Load resources only when needed - never pre-load (Exception: Read `.bmad-core/core-config.yaml` during activation)
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
agent:
name: Spring Boot Developer
id: spring-boot-developer
title: Spring Boot Ecosystem Specialist
icon: 🌱
whenToUse: Use for Spring Boot application development, web applications, REST APIs, microservices implementation, and Spring ecosystem integration
persona:
role: Spring Boot Development Specialist
style: Practical, framework-focused, rapid development oriented, ecosystem expert. Specializes in Spring Boot, Spring MVC, Spring Security, Spring Data JPA, and Spring Cloud
identity: Expert in Spring Boot ecosystem, web development, API design, microservices patterns, and rapid application development
focus: Implementing Spring Boot applications with modern patterns, best practices, and ecosystem integration
core_principles:
- Leverage Spring Boot for rapid application development
- Use Spring Boot starters for dependency management
- Implement RESTful APIs with Spring MVC
- Apply Spring Security for authentication and authorization
- Use Spring Data JPA for data persistence
- Design microservices with Spring Cloud
- Follow Spring Boot best practices and conventions
- Optimize for performance and scalability
commands: # All commands require * prefix when used (e.g., *help, *task web-app)
help: Show this guide with available Spring Boot development tasks
task: Run a specific Spring Boot development task (list if name not specified)
checklist: Execute a Spring Boot development checklist (list if name not specified)
doc-out: Output full Spring Boot documentation
status: Show current Spring Boot development context and progress
exit: Return to BMad Orchestrator or exit session
help-display-template: |
=== Spring Boot Developer Commands ===
All commands must start with * (asterisk)
Core Commands:
*help ............... Show this guide
*status ............. Show current Spring Boot development context and progress
*exit ............... Return to BMad Orchestrator or exit session
Spring Boot Tasks:
*task [name] ........ Run specific Spring Boot development task (list if no name)
*checklist [name] ... Execute Spring Boot development checklist (list if no name)
Documentation:
*doc-out ............ Output full Spring Boot documentation
=== Available Spring Boot Tasks ===
[Dynamically list each task in bundle with format:
*task {id}: {title}
Purpose: {description}
When to use: {context}]
=== Available Spring Boot Checklists ===
[Dynamically list each checklist in bundle with format:
*checklist {id}: {title}
Purpose: {description}
When to use: {context}]
💡 Tip: Start with Spring Boot project setup to create your application!
fuzzy-matching:
- 85% confidence threshold
- Show numbered list if unsure
transformation:
- Match Spring Boot development needs to available tasks
- Announce transformation
- Operate until exit
loading:
- Tasks: Only when executing
- Templates: Only when creating documentation
- Always indicate loading
dependencies:
tasks:
- spring-boot-setup.md
- web-application-development.md
- api-development.md
- microservice-development.md
checklists:
- spring-boot-configuration-checklist.md
- spring-security-checklist.md
- spring-data-jpa-checklist.md
- spring-cloud-checklist.md
templates:
- spring-boot-project-tmpl.yaml
- rest-api-tmpl.yaml
- microservice-tmpl.yaml
data:
- spring-boot-kb.md
- spring-ecosystem-patterns.md
```

View File

@ -0,0 +1,242 @@
# Application Server to Container Migration Checklist
## Pre-Migration Assessment
### Application Server Analysis
- [ ] Current application server identified (WebLogic, JBoss, Tomcat, etc.)
- [ ] Application server configuration analyzed
- [ ] Application dependencies on server identified
- [ ] Server-specific configurations documented
- [ ] Deployment procedures documented
- [ ] Performance characteristics analyzed
- [ ] Security configurations analyzed
### Containerization Planning
- [ ] Containerization strategy defined
- [ ] Container platform selected (Docker + Kubernetes/EKS)
- [ ] Application modernization approach planned
- [ ] Migration timeline established
- [ ] Risk assessment completed
- [ ] Rollback plan created
- [ ] Team training planned
## Application Modernization
### Server Dependency Removal
- [ ] Application server dependencies removed
- [ ] Server-specific configurations externalized
- [ ] Server-specific APIs replaced
- [ ] Server-specific deployment descriptors removed
- [ ] Server-specific security configurations migrated
- [ ] Server-specific monitoring configurations migrated
### Spring Boot Migration
- [ ] Spring Boot embedded server configured
- [ ] Spring Boot starters added
- [ ] Application configuration externalized
- [ ] Profile-based configuration implemented
- [ ] Health checks implemented
- [ ] Metrics endpoints configured
- [ ] Actuator endpoints configured
### Stateless Application Preparation
- [ ] Session state externalized
- [ ] File system dependencies removed
- [ ] Local cache dependencies removed
- [ ] Stateless design patterns implemented
- [ ] Configuration externalized
- [ ] Secrets management implemented
## Containerization
### Docker Configuration
- [ ] Dockerfile created
- [ ] Multi-stage build implemented
- [ ] Base image selected (OpenJDK 21)
- [ ] Application files copied
- [ ] Dependencies installed
- [ ] Application configured
- [ ] Health checks implemented
### Container Optimization
- [ ] Docker image size optimized
- [ ] Security vulnerabilities addressed
- [ ] Non-root user configured
- [ ] Read-only filesystem implemented
- [ ] Resource limits configured
- [ ] Container security hardened
### Container Testing
- [ ] Container builds successfully
- [ ] Application starts in container
- [ ] Health checks working
- [ ] Application functionality tested
- [ ] Performance testing completed
- [ ] Security testing completed
## Orchestration Setup
### Kubernetes Configuration
- [ ] Kubernetes manifests created
- [ ] Deployment configuration created
- [ ] Service configuration created
- [ ] ConfigMap configuration created
- [ ] Secret configuration created
- [ ] Ingress configuration created
- [ ] PersistentVolume configuration created (if needed)
### AWS EKS Setup
- [ ] EKS cluster created
- [ ] Node groups configured
- [ ] Networking configured
- [ ] Security groups configured
- [ ] IAM roles configured
- [ ] Load balancer configured
- [ ] Auto-scaling configured
### Service Mesh Configuration (Optional)
- [ ] Service mesh selected (Istio/Linkerd)
- [ ] Service mesh installed
- [ ] Sidecar proxies configured
- [ ] Traffic management configured
- [ ] Security policies configured
- [ ] Observability configured
## AWS Cloud Deployment
### Infrastructure Setup
- [ ] AWS account configured
- [ ] VPC and networking configured
- [ ] Security groups configured
- [ ] IAM roles and policies created
- [ ] EKS cluster configured
- [ ] Load balancer configured
- [ ] Auto-scaling configured
### Container Registry
- [ ] AWS ECR repository created
- [ ] Container images pushed
- [ ] Image scanning configured
- [ ] Image lifecycle policies configured
- [ ] Access policies configured
- [ ] CI/CD integration configured
### Deployment Automation
- [ ] Deployment pipeline configured
- [ ] Blue-green deployment configured
- [ ] Rolling deployment configured
- [ ] Canary deployment configured
- [ ] Rollback procedures configured
- [ ] Monitoring integration configured
## Monitoring and Observability
### Application Monitoring
- [ ] CloudWatch logging configured
- [ ] Application metrics configured
- [ ] Custom metrics implemented
- [ ] Health check endpoints configured
- [ ] Error tracking configured
- [ ] Performance monitoring configured
### Infrastructure Monitoring
- [ ] Kubernetes monitoring configured
- [ ] Node monitoring configured
- [ ] Pod monitoring configured
- [ ] Service monitoring configured
- [ ] Network monitoring configured
- [ ] Storage monitoring configured
### Alerting and Logging
- [ ] Alert rules configured
- [ ] Notification channels configured
- [ ] Log aggregation configured
- [ ] Log analysis configured
- [ ] Incident response procedures documented
- [ ] Escalation procedures documented
## Security Implementation
### Container Security
- [ ] Container image scanning configured
- [ ] Runtime security monitoring configured
- [ ] Network policies configured
- [ ] Pod security policies configured
- [ ] RBAC configured
- [ ] Secrets management configured
### Application Security
- [ ] Authentication configured
- [ ] Authorization configured
- [ ] HTTPS enforcement configured
- [ ] Security headers configured
- [ ] Input validation implemented
- [ ] Security testing completed
## Documentation and Training
### Technical Documentation
- [ ] Migration documentation created
- [ ] Container configuration documented
- [ ] Kubernetes manifests documented
- [ ] Deployment procedures documented
- [ ] Troubleshooting guide created
- [ ] Best practices documented
### Operational Documentation
- [ ] Monitoring procedures documented
- [ ] Backup procedures documented
- [ ] Disaster recovery procedures documented
- [ ] Security procedures documented
- [ ] Maintenance procedures documented
- [ ] Team handover completed
## Go-Live Validation
### Pre-Deployment Checks
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance testing completed
- [ ] Documentation updated
- [ ] Team training completed
### Deployment Validation
- [ ] Application deployed successfully
- [ ] Containers running properly
- [ ] Health checks passing
- [ ] Load balancing working
- [ ] Monitoring active
- [ ] Rollback procedures tested
### Post-Deployment Validation
- [ ] Application accessible and working
- [ ] Performance metrics acceptable
- [ ] Error logging working
- [ ] Auto-scaling working
- [ ] Security requirements met
- [ ] Team notified of deployment

View File

@ -0,0 +1,199 @@
# Build System Modernization Checklist
## Pre-Migration Assessment
### Current Build System Analysis
- [ ] Current build system identified (Ant, Gradle, Ivy, etc.)
- [ ] Build scripts analyzed
- [ ] Dependencies catalogued
- [ ] Build processes documented
- [ ] CI/CD pipeline analyzed
- [ ] Build performance assessed
- [ ] Team expertise evaluated
### Maven Migration Planning
- [ ] Maven migration strategy defined
- [ ] Project structure planned
- [ ] Dependency mapping completed
- [ ] Build profiles planned
- [ ] Plugin requirements identified
- [ ] CI/CD integration planned
- [ ] Rollback plan created
## Maven Project Setup
### Project Structure
- [ ] Maven project structure created
- [ ] pom.xml created with proper configuration
- [ ] Parent POM configured (if multi-module)
- [ ] Module POMs configured
- [ ] Source directories configured
- [ ] Resource directories configured
- [ ] Test directories configured
### Maven Configuration
- [ ] Maven compiler plugin configured
- [ ] Java version configured (Java 21)
- [ ] Source and target versions set
- [ ] Encoding configured
- [ ] Maven wrapper configured
- [ ] Build profiles configured
- [ ] Plugin versions managed
## Dependency Management
### Dependency Migration
- [ ] Dependencies migrated from old build system
- [ ] Maven coordinates configured
- [ ] Dependency versions managed
- [ ] Transitive dependencies resolved
- [ ] Dependency conflicts resolved
- [ ] Optional dependencies configured
- [ ] Dependency scopes configured
### Repository Configuration
- [ ] Maven Central repository configured
- [ ] Private repositories configured (if needed)
- [ ] Repository authentication configured
- [ ] Repository mirrors configured
- [ ] Repository policies configured
- [ ] Dependency resolution tested
## Build Automation
### Maven Plugins
- [ ] Maven Surefire plugin configured (unit tests)
- [ ] Maven Failsafe plugin configured (integration tests)
- [ ] Spring Boot Maven plugin configured
- [ ] Maven Compiler plugin configured
- [ ] Maven Resources plugin configured
- [ ] Maven Clean plugin configured
- [ ] Maven Install plugin configured
### Build Profiles
- [ ] Development profile configured
- [ ] Testing profile configured
- [ ] Staging profile configured
- [ ] Production profile configured
- [ ] Profile activation configured
- [ ] Profile-specific dependencies configured
- [ ] Profile-specific plugins configured
## CI/CD Integration
### Build Pipeline
- [ ] CI/CD pipeline updated for Maven
- [ ] Build triggers configured
- [ ] Build steps defined
- [ ] Test execution configured
- [ ] Code quality checks configured
- [ ] Artifact publishing configured
- [ ] Deployment automation configured
### AWS Integration
- [ ] AWS CodeBuild configured
- [ ] AWS CodePipeline configured
- [ ] AWS CodeDeploy configured
- [ ] AWS Artifacts storage configured
- [ ] AWS deployment automation configured
- [ ] AWS monitoring integration configured
## Testing Integration
### Test Configuration
- [ ] Unit test configuration updated
- [ ] Integration test configuration updated
- [ ] Test profiles configured
- [ ] Test data management configured
- [ ] Test reporting configured
- [ ] Test coverage configured
- [ ] Test execution optimized
### Test Execution
- [ ] Unit tests running with Maven
- [ ] Integration tests running with Maven
- [ ] Test reports generated
- [ ] Test coverage reports generated
- [ ] Test failures handled properly
- [ ] Test performance acceptable
## Documentation and Training
### Technical Documentation
- [ ] Maven configuration documented
- [ ] Build procedures documented
- [ ] Dependency management documented
- [ ] CI/CD procedures documented
- [ ] Troubleshooting guide created
- [ ] Best practices documented
### Team Training
- [ ] Team trained on Maven basics
- [ ] Team trained on Maven best practices
- [ ] Team trained on CI/CD integration
- [ ] Team trained on troubleshooting
- [ ] Team handover completed
- [ ] Knowledge transfer completed
## Validation and Testing
### Build Validation
- [ ] Clean build successful
- [ ] Compilation successful
- [ ] Test execution successful
- [ ] Package creation successful
- [ ] Installation successful
- [ ] Deployment successful
### Performance Validation
- [ ] Build performance acceptable
- [ ] Test execution performance acceptable
- [ ] Package size optimized
- [ ] Build time improved
- [ ] Resource usage optimized
- [ ] CI/CD pipeline performance acceptable
## Go-Live Validation
### Pre-Deployment Checks
- [ ] All builds passing
- [ ] All tests passing
- [ ] Code review completed
- [ ] Documentation updated
- [ ] Team training completed
- [ ] Rollback procedures tested
### Deployment Validation
- [ ] Maven build system working
- [ ] CI/CD pipeline working
- [ ] Artifact publishing working
- [ ] Deployment automation working
- [ ] Monitoring active
- [ ] Team notified of migration
### Post-Deployment Validation
- [ ] Build system stable
- [ ] CI/CD pipeline stable
- [ ] Team productivity maintained
- [ ] Build performance improved
- [ ] Dependency management improved
- [ ] Success criteria met

View File

@ -0,0 +1,255 @@
# Cloud Migration Checklist
## Pre-Migration Assessment
### Current Environment Analysis
- [ ] Current infrastructure documented
- [ ] Application architecture analyzed
- [ ] Dependencies identified
- [ ] Performance baseline established
- [ ] Security requirements documented
- [ ] Compliance requirements documented
- [ ] Cost analysis completed
### Cloud Strategy Planning
- [ ] Cloud migration strategy defined
- [ ] AWS services selected
- [ ] Architecture design completed
- [ ] Migration approach selected (Lift & Shift, Replatform, Refactor)
- [ ] Timeline established
- [ ] Resource allocation confirmed
- [ ] Risk assessment completed
## Application Cloud Preparation
### Cloud-Native Patterns
- [ ] Stateless design implemented
- [ ] Configuration externalized
- [ ] Secrets management implemented
- [ ] Health checks implemented
- [ ] Metrics and monitoring implemented
- [ ] Logging standardized
- [ ] Error handling improved
### Application Modernization
- [ ] Spring Boot embedded server configured
- [ ] Cloud-native libraries integrated
- [ ] AWS SDK integrated
- [ ] Service discovery implemented
- [ ] Circuit breaker patterns implemented
- [ ] Retry mechanisms implemented
- [ ] Timeout configurations set
## AWS Infrastructure Setup
### Networking and Security
- [ ] VPC created and configured
- [ ] Subnets configured
- [ ] Security groups configured
- [ ] Network ACLs configured
- [ ] Route tables configured
- [ ] Internet Gateway configured
- [ ] NAT Gateway configured (if needed)
### Compute Services
- [ ] EC2 instances configured (if using)
- [ ] ECS cluster configured (if using)
- [ ] EKS cluster configured (if using)
- [ ] Lambda functions configured (if using)
- [ ] Auto-scaling configured
- [ ] Load balancer configured
- [ ] Launch templates configured
### Database Services
- [ ] RDS instance configured
- [ ] Database subnet group created
- [ ] Parameter group configured
- [ ] Security group configured
- [ ] Backup configuration set
- [ ] Multi-AZ configuration (if needed)
- [ ] Read replicas configured (if needed)
### Storage Services
- [ ] S3 buckets created
- [ ] S3 bucket policies configured
- [ ] EBS volumes configured (if using)
- [ ] EFS configured (if using)
- [ ] Backup strategies implemented
- [ ] Lifecycle policies configured
## Data Migration
### Database Migration
- [ ] Database migration plan created
- [ ] Data backup completed
- [ ] Database schema migrated
- [ ] Data migration executed
- [ ] Data validation completed
- [ ] Performance testing completed
- [ ] Rollback procedures tested
### Application Data Migration
- [ ] File storage migrated to S3
- [ ] Configuration data migrated
- [ ] User data migrated
- [ ] Application state migrated
- [ ] Cache data migrated
- [ ] Log data migrated
## Application Deployment
### Containerization (if applicable)
- [ ] Docker images created
- [ ] Container registry configured
- [ ] Kubernetes manifests created
- [ ] Service mesh configured (if using)
- [ ] Container security configured
- [ ] Container monitoring configured
### Deployment Automation
- [ ] CI/CD pipeline configured
- [ ] Deployment scripts created
- [ ] Infrastructure as Code implemented
- [ ] Blue-green deployment configured
- [ ] Rolling deployment configured
- [ ] Canary deployment configured
### AWS Services Integration
- [ ] API Gateway configured
- [ ] CloudFront configured (if using)
- [ ] Route 53 configured
- [ ] Certificate Manager configured
- [ ] Secrets Manager configured
- [ ] Parameter Store configured
## Monitoring and Observability
### Application Monitoring
- [ ] CloudWatch logging configured
- [ ] Application metrics configured
- [ ] Custom metrics implemented
- [ ] Health check endpoints configured
- [ ] Error tracking configured
- [ ] Performance monitoring configured
### Infrastructure Monitoring
- [ ] EC2 monitoring configured
- [ ] RDS monitoring configured
- [ ] S3 monitoring configured
- [ ] Load balancer monitoring configured
- [ ] Auto-scaling monitoring configured
- [ ] Cost monitoring configured
### Alerting and Logging
- [ ] CloudWatch alarms configured
- [ ] SNS topics configured
- [ ] Email notifications configured
- [ ] Slack notifications configured (if using)
- [ ] Log aggregation configured
- [ ] Log analysis configured
## Security Implementation
### AWS Security Services
- [ ] IAM roles and policies configured
- [ ] AWS Config configured
- [ ] CloudTrail configured
- [ ] GuardDuty configured (if using)
- [ ] Security Hub configured (if using)
- [ ] WAF configured (if using)
### Application Security
- [ ] HTTPS enforcement configured
- [ ] Security headers configured
- [ ] Input validation implemented
- [ ] Authentication configured
- [ ] Authorization configured
- [ ] Security testing completed
## Cost Optimization
### Cost Management
- [ ] Cost allocation tags configured
- [ ] Cost budgets configured
- [ ] Reserved instances purchased (if applicable)
- [ ] Spot instances configured (if applicable)
- [ ] Auto-scaling optimized
- [ ] Resource rightsizing completed
### Performance Optimization
- [ ] Application performance optimized
- [ ] Database performance optimized
- [ ] Network performance optimized
- [ ] Caching strategies implemented
- [ ] CDN configured (if applicable)
- [ ] Performance testing completed
## Documentation and Training
### Technical Documentation
- [ ] Migration documentation created
- [ ] AWS architecture documented
- [ ] Deployment procedures documented
- [ ] Configuration guide created
- [ ] Troubleshooting guide created
- [ ] Best practices documented
### Operational Documentation
- [ ] Monitoring procedures documented
- [ ] Backup procedures documented
- [ ] Disaster recovery procedures documented
- [ ] Security procedures documented
- [ ] Maintenance procedures documented
- [ ] Team handover completed
## Go-Live Validation
### Pre-Deployment Checks
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance testing completed
- [ ] Documentation updated
- [ ] Team training completed
### Deployment Validation
- [ ] Application deployed successfully
- [ ] AWS infrastructure working
- [ ] Health checks passing
- [ ] Load balancing working
- [ ] Monitoring active
- [ ] Rollback procedures tested
### Post-Deployment Validation
- [ ] Application accessible and working
- [ ] Performance metrics acceptable
- [ ] Error logging working
- [ ] Auto-scaling working
- [ ] Security requirements met
- [ ] Cost optimization achieved
- [ ] Team notified of migration

View File

@ -0,0 +1,189 @@
# Java 21 Development Checklist
## Project Setup
### Java 21 Configuration
- [ ] Java 21 JDK installed and configured
- [ ] JAVA_HOME environment variable set
- [ ] Maven configured to use Java 21
- [ ] IDE configured for Java 21
- [ ] Build tools updated for Java 21 compatibility
### Project Structure
- [ ] Maven project structure created
- [ ] Source directories configured (src/main/java, src/test/java)
- [ ] Resources directories configured (src/main/resources, src/test/resources)
- [ ] Package structure defined following conventions
- [ ] Module-info.java created (if using modules)
## Dependencies
### Maven Configuration
- [ ] pom.xml created with Java 21 configuration
- [ ] Maven compiler plugin configured for Java 21
- [ ] Spring Boot parent POM included
- [ ] Required dependencies added
- [ ] Dependency versions managed properly
### Spring Boot Dependencies
- [ ] spring-boot-starter-web (for web applications)
- [ ] spring-boot-starter-data-jpa (for data persistence)
- [ ] spring-boot-starter-security (for security)
- [ ] spring-boot-starter-test (for testing)
- [ ] spring-boot-starter-actuator (for monitoring)
## Code Quality
### Java 21 Features Usage
- [ ] Modern Java syntax used (var, pattern matching)
- [ ] Records used for data classes where appropriate
- [ ] Sealed classes used for restricted hierarchies
- [ ] Text blocks used for multi-line strings
- [ ] Enhanced switch expressions used
- [ ] Virtual threads used for concurrent operations
### Code Standards
- [ ] Proper naming conventions followed
- [ ] Code formatted consistently
- [ ] Comments added where necessary
- [ ] Exception handling implemented properly
- [ ] Logging configured appropriately
## Testing
### Unit Testing
- [ ] JUnit 5 configured and working
- [ ] Test classes created for main classes
- [ ] Test coverage adequate (>80%)
- [ ] Mock objects used appropriately
- [ ] Test data setup properly
### Integration Testing
- [ ] Spring Boot test annotations used
- [ ] Test profiles configured
- [ ] Database tests implemented
- [ ] API tests implemented
- [ ] Test containers used if needed
## Security
### Authentication & Authorization
- [ ] Spring Security configured
- [ ] Authentication mechanism implemented
- [ ] Authorization rules defined
- [ ] Password encoding configured
- [ ] Session management configured
### Security Best Practices
- [ ] Input validation implemented
- [ ] SQL injection prevention
- [ ] XSS protection configured
- [ ] CSRF protection enabled
- [ ] Security headers configured
## Performance
### JVM Optimization
- [ ] JVM parameters optimized for Java 21
- [ ] Garbage collector selected (ZGC/Shenandoah)
- [ ] Memory settings configured appropriately
- [ ] JIT compilation optimized
### Application Performance
- [ ] Database queries optimized
- [ ] Caching implemented where appropriate
- [ ] Connection pooling configured
- [ ] Async processing used where beneficial
- [ ] Performance monitoring implemented
## Deployment
### Containerization
- [ ] Dockerfile created
- [ ] Multi-stage build implemented
- [ ] Docker image optimized
- [ ] Container security hardened
- [ ] Health checks implemented
### AWS Deployment
- [ ] AWS infrastructure configured
- [ ] Container registry setup
- [ ] Deployment pipeline configured
- [ ] Monitoring and logging setup
- [ ] Backup and disaster recovery configured
## Documentation
### Code Documentation
- [ ] JavaDoc comments added
- [ ] README.md created
- [ ] API documentation generated
- [ ] Architecture documentation created
- [ ] Deployment guide written
### Operational Documentation
- [ ] Configuration guide created
- [ ] Troubleshooting guide written
- [ ] Monitoring guide created
- [ ] Security guide written
- [ ] Backup and recovery procedures documented
## Validation
### Functional Testing
- [ ] All features working correctly
- [ ] API endpoints responding properly
- [ ] Database operations working
- [ ] Security features functioning
- [ ] Performance requirements met
### Non-Functional Testing
- [ ] Load testing completed
- [ ] Security testing performed
- [ ] Compatibility testing done
- [ ] Usability testing completed
- [ ] Accessibility testing performed
## Go-Live Checklist
### Pre-Deployment
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance benchmarks met
- [ ] Documentation updated
### Deployment
- [ ] Production environment ready
- [ ] Database migrations completed
- [ ] Application deployed successfully
- [ ] Monitoring configured
- [ ] Health checks passing
### Post-Deployment
- [ ] Application accessible
- [ ] All features working
- [ ] Performance monitoring active
- [ ] Error logging configured
- [ ] Team notified of deployment

View File

@ -0,0 +1,217 @@
# Java API Project Checklist
## API Planning Phase
### Requirements Analysis
- [ ] API requirements documented
- [ ] Endpoints defined
- [ ] Request/response models designed
- [ ] Authentication requirements specified
- [ ] Rate limiting requirements defined
- [ ] Data validation requirements specified
- [ ] Error handling requirements defined
- [ ] Documentation requirements specified
### API Design
- [ ] RESTful API design principles followed
- [ ] OpenAPI specification created
- [ ] API versioning strategy defined
- [ ] Data models designed
- [ ] Error response format standardized
- [ ] Authentication flow designed
- [ ] API documentation structure planned
## Project Setup Phase
### Maven Configuration
- [ ] Maven project structure created
- [ ] pom.xml configured with Java 21
- [ ] Spring Boot Web starter added
- [ ] Spring Boot parent POM included
- [ ] Required dependencies added
- [ ] Maven compiler plugin configured
- [ ] Spring Boot Maven plugin configured
### Development Environment
- [ ] Java 21 JDK installed and configured
- [ ] IDE configured for Java 21 and Spring Boot
- [ ] Maven wrapper configured
- [ ] Git repository initialized
- [ ] Development database configured
- [ ] API testing tools configured (Postman/Insomnia)
## API Development Phase
### Controller Implementation
- [ ] REST controllers created
- [ ] Request mapping configured
- [ ] Path variables and query parameters handled
- [ ] Request body validation implemented
- [ ] Response models created
- [ ] Exception handling implemented
- [ ] Content negotiation configured
### Data Layer
- [ ] Spring Data JPA configured
- [ ] Entity classes created
- [ ] Repository interfaces defined
- [ ] Database migrations created
- [ ] Data validation implemented
- [ ] Transaction management configured
- [ ] Database connection pooling configured
### Business Logic
- [ ] Service layer implemented
- [ ] Business rules implemented
- [ ] Data transformation logic created
- [ ] Caching strategy implemented
- [ ] Async processing configured
- [ ] Event handling implemented
## Security Implementation
### API Security
- [ ] Spring Security configured
- [ ] JWT authentication implemented
- [ ] OAuth2 integration configured (if needed)
- [ ] API key authentication implemented (if needed)
- [ ] Role-based authorization implemented
- [ ] Method-level security configured
- [ ] CORS configuration implemented
### Security Best Practices
- [ ] Input validation implemented
- [ ] SQL injection prevention
- [ ] XSS protection configured
- [ ] Rate limiting implemented
- [ ] Security headers configured
- [ ] HTTPS enforcement configured
- [ ] Security testing performed
## Documentation and Testing
### API Documentation
- [ ] OpenAPI/Swagger documentation generated
- [ ] API endpoints documented
- [ ] Request/response examples provided
- [ ] Authentication documentation created
- [ ] Error codes documented
- [ ] SDK/client libraries generated (if needed)
### Testing Implementation
- [ ] Unit tests for controllers created
- [ ] Unit tests for services created
- [ ] Unit tests for repositories created
- [ ] Integration tests for API endpoints created
- [ ] Contract tests implemented
- [ ] Performance tests created
- [ ] Security tests implemented
## AWS Deployment Phase
### Infrastructure Setup
- [ ] AWS account configured
- [ ] VPC and networking configured
- [ ] Security groups configured
- [ ] IAM roles and policies created
- [ ] RDS database instance created
- [ ] API Gateway configured
### Containerization
- [ ] Dockerfile created
- [ ] Multi-stage build implemented
- [ ] Docker image optimized
- [ ] Container security hardened
- [ ] Health checks implemented
- [ ] Docker Compose configured for local testing
### API Gateway Configuration
- [ ] API Gateway resources created
- [ ] API Gateway methods configured
- [ ] Request/response transformations configured
- [ ] Authentication configured
- [ ] Rate limiting configured
- [ ] CORS configuration implemented
- [ ] Custom domain configured (if needed)
### Deployment Configuration
- [ ] ECS/EKS cluster configured
- [ ] Service definition created
- [ ] Task definition configured
- [ ] Auto-scaling configured
- [ ] Load balancing configured
- [ ] Deployment pipeline configured
### Monitoring and Logging
- [ ] CloudWatch logging configured
- [ ] API Gateway logging enabled
- [ ] Application metrics configured
- [ ] Health check endpoints implemented
- [ ] Error tracking configured
- [ ] Performance monitoring setup
- [ ] Alerting configured
## Documentation and Handover
### Technical Documentation
- [ ] README.md created with setup instructions
- [ ] API documentation accessible
- [ ] Database schema documented
- [ ] Deployment guide written
- [ ] Configuration guide created
- [ ] Troubleshooting guide written
### Operational Documentation
- [ ] Monitoring guide created
- [ ] Backup procedures documented
- [ ] Disaster recovery procedures documented
- [ ] Security procedures documented
- [ ] Maintenance procedures documented
- [ ] Team handover completed
## Go-Live Validation
### Pre-Deployment Checks
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance testing completed
- [ ] API documentation reviewed
- [ ] Team training completed
### Deployment Validation
- [ ] API deployed successfully
- [ ] Database migrations completed
- [ ] Health checks passing
- [ ] API Gateway working
- [ ] Authentication working
- [ ] Monitoring active
### Post-Deployment Validation
- [ ] API endpoints accessible
- [ ] All endpoints working correctly
- [ ] Performance metrics acceptable
- [ ] Error logging working
- [ ] Rate limiting working
- [ ] Team notified of deployment

View File

@ -0,0 +1,220 @@
# Java Microservice Checklist
## Microservice Planning Phase
### Architecture Design
- [ ] Domain boundaries defined
- [ ] Service responsibilities identified
- [ ] Inter-service communication patterns defined
- [ ] Data ownership boundaries established
- [ ] Service discovery strategy planned
- [ ] API gateway strategy defined
- [ ] Configuration management strategy planned
### Service Design
- [ ] Service contracts defined
- [ ] API specifications created
- [ ] Data models designed
- [ ] Event schemas defined
- [ ] Service dependencies mapped
- [ ] Failure scenarios analyzed
- [ ] Resilience patterns planned
## Infrastructure Setup Phase
### Spring Cloud Configuration
- [ ] Spring Cloud dependencies added
- [ ] Service discovery configured (Eureka/Consul)
- [ ] API Gateway configured (Spring Cloud Gateway)
- [ ] Configuration server setup
- [ ] Circuit breaker configured (Resilience4j)
- [ ] Load balancing configured
- [ ] Distributed tracing configured
### Development Environment
- [ ] Java 21 JDK installed and configured
- [ ] IDE configured for microservices development
- [ ] Maven wrapper configured
- [ ] Git repositories initialized for each service
- [ ] Local development environment configured
- [ ] Service discovery running locally
- [ ] API Gateway running locally
## Microservice Development Phase
### Individual Service Implementation
- [ ] Spring Boot application created for each service
- [ ] REST controllers implemented
- [ ] Service layer implemented
- [ ] Data layer implemented
- [ ] Business logic implemented
- [ ] Configuration externalized
- [ ] Health checks implemented
### Inter-Service Communication
- [ ] Synchronous communication implemented (REST)
- [ ] Asynchronous communication implemented (if needed)
- [ ] Circuit breaker pattern implemented
- [ ] Retry mechanisms configured
- [ ] Timeout configurations set
- [ ] Load balancing configured
- [ ] Service mesh configured (if using)
### Data Management
- [ ] Database per service implemented
- [ ] Data consistency patterns implemented
- [ ] Event sourcing implemented (if needed)
- [ ] CQRS pattern implemented (if needed)
- [ ] Data migration strategies planned
- [ ] Backup strategies implemented
## Security Implementation
### Microservice Security
- [ ] JWT authentication implemented
- [ ] Service-to-service authentication configured
- [ ] API Gateway security configured
- [ ] Role-based authorization implemented
- [ ] Secrets management configured
- [ ] Network security configured
- [ ] Security testing performed
### Security Best Practices
- [ ] Input validation implemented across services
- [ ] SQL injection prevention
- [ ] XSS protection configured
- [ ] Rate limiting implemented
- [ ] Security headers configured
- [ ] HTTPS enforcement configured
- [ ] Security monitoring implemented
## Testing Implementation
### Service Testing
- [ ] Unit tests for each service created
- [ ] Integration tests for each service created
- [ ] Contract tests implemented
- [ ] End-to-end tests created
- [ ] Performance tests implemented
- [ ] Chaos engineering tests created
- [ ] Security tests implemented
### Microservice Testing
- [ ] Service discovery tests
- [ ] API Gateway tests
- [ ] Circuit breaker tests
- [ ] Load balancing tests
- [ ] Distributed tracing tests
- [ ] Configuration management tests
## AWS Deployment Phase
### Infrastructure Setup
- [ ] AWS account configured
- [ ] VPC and networking configured
- [ ] Security groups configured
- [ ] IAM roles and policies created
- [ ] EKS cluster configured
- [ ] Service mesh configured (Istio/Linkerd)
### Containerization
- [ ] Dockerfiles created for each service
- [ ] Multi-stage builds implemented
- [ ] Docker images optimized
- [ ] Container security hardened
- [ ] Health checks implemented
- [ ] Docker Compose configured for local testing
### Service Deployment
- [ ] Kubernetes manifests created
- [ ] Service definitions created
- [ ] Deployment configurations created
- [ ] Ingress controllers configured
- [ ] Service mesh sidecars configured
- [ ] Auto-scaling configured
### AWS Services Integration
- [ ] AWS Service Discovery configured
- [ ] AWS API Gateway configured
- [ ] AWS Load Balancer configured
- [ ] AWS RDS configured for each service
- [ ] AWS S3 configured for shared resources
- [ ] AWS SQS/SNS configured for messaging
### Monitoring and Observability
- [ ] CloudWatch logging configured
- [ ] Prometheus metrics configured
- [ ] Grafana dashboards created
- [ ] Jaeger/Zipkin tracing configured
- [ ] Health check endpoints implemented
- [ ] Error tracking configured
- [ ] Performance monitoring setup
- [ ] Alerting configured
## Documentation and Handover
### Technical Documentation
- [ ] README.md created for each service
- [ ] API documentation generated
- [ ] Architecture documentation created
- [ ] Database schemas documented
- [ ] Deployment guide written
- [ ] Configuration guide created
- [ ] Troubleshooting guide written
### Operational Documentation
- [ ] Monitoring guide created
- [ ] Backup procedures documented
- [ ] Disaster recovery procedures documented
- [ ] Security procedures documented
- [ ] Maintenance procedures documented
- [ ] Service mesh documentation created
- [ ] Team handover completed
## Go-Live Validation
### Pre-Deployment Checks
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance testing completed
- [ ] Documentation reviewed
- [ ] Team training completed
### Deployment Validation
- [ ] All services deployed successfully
- [ ] Service discovery working
- [ ] API Gateway working
- [ ] Inter-service communication working
- [ ] Health checks passing
- [ ] Monitoring active
### Post-Deployment Validation
- [ ] All services accessible
- [ ] End-to-end functionality working
- [ ] Performance metrics acceptable
- [ ] Error logging working
- [ ] Circuit breakers working
- [ ] Auto-scaling working
- [ ] Team notified of deployment

View File

@ -0,0 +1,175 @@
# Java Version Modernization Checklist
## Pre-Migration Assessment
### Current State Analysis
- [ ] Current Java version identified and documented
- [ ] Application dependencies catalogued
- [ ] Framework versions documented
- [ ] Build system analyzed
- [ ] Performance baseline established
- [ ] Security vulnerabilities identified
- [ ] Technical debt assessed
- [ ] Team expertise evaluated
### Target State Planning
- [ ] Target Java version selected (Java 21 recommended)
- [ ] Compatibility matrix created
- [ ] Migration strategy defined
- [ ] Risk assessment completed
- [ ] Rollback plan created
- [ ] Timeline established
- [ ] Resource allocation confirmed
## Environment Preparation
### Development Environment
- [ ] Java 21 JDK installed
- [ ] IDE updated for Java 21
- [ ] Build tools updated
- [ ] Testing environment prepared
- [ ] Staging environment configured
- [ ] Production environment planned
- [ ] Monitoring tools updated
### Team Readiness
- [ ] Team trained on Java 21 features
- [ ] Migration tools and processes understood
- [ ] Rollback procedures documented
- [ ] Communication plan established
- [ ] Stakeholder alignment achieved
- [ ] Resource allocation confirmed
## Dependency Modernization
### Dependency Analysis
- [ ] All dependencies catalogued with versions
- [ ] Java 21 compatibility checked
- [ ] Security vulnerabilities identified
- [ ] Alternative libraries researched
- [ ] Breaking changes documented
- [ ] Migration timeline for dependencies defined
### Dependency Updates
- [ ] Maven/Gradle dependencies updated
- [ ] Framework versions upgraded
- [ ] Third-party libraries updated
- [ ] Security patches applied
- [ ] Compatibility issues resolved
- [ ] Build system updated
## Code Modernization
### Java 21 Features Adoption
- [ ] Modern Java syntax adopted (var, pattern matching)
- [ ] Records used for data classes
- [ ] Sealed classes implemented (if applicable)
- [ ] Text blocks used for multi-line strings
- [ ] Enhanced switch expressions used
- [ ] Virtual threads implemented (if applicable)
- [ ] Performance optimizations applied
### Code Quality Improvements
- [ ] Deprecated APIs replaced
- [ ] Code patterns modernized
- [ ] Performance bottlenecks identified and fixed
- [ ] Memory usage optimized
- [ ] Garbage collection tuned
- [ ] Code review completed
## Testing and Validation
### Compatibility Testing
- [ ] Unit tests updated and passing
- [ ] Integration tests updated and passing
- [ ] End-to-end tests updated and passing
- [ ] Performance tests updated and passing
- [ ] Security tests updated and passing
- [ ] Regression tests updated and passing
### Validation Testing
- [ ] Functional validation completed
- [ ] Performance validation completed
- [ ] Security validation completed
- [ ] User acceptance testing completed
- [ ] Load testing completed
- [ ] Stress testing completed
## AWS Deployment
### Infrastructure Updates
- [ ] AWS infrastructure updated for Java 21
- [ ] Container images updated
- [ ] Deployment configurations updated
- [ ] Monitoring configurations updated
- [ ] Security configurations updated
- [ ] Backup procedures updated
### Deployment Validation
- [ ] Application deployed successfully
- [ ] Health checks passing
- [ ] Performance metrics acceptable
- [ ] Error logging working
- [ ] Monitoring active
- [ ] Rollback procedures tested
## Documentation and Handover
### Technical Documentation
- [ ] Migration documentation created
- [ ] Java 21 features documentation updated
- [ ] Performance benchmarks documented
- [ ] Security improvements documented
- [ ] Troubleshooting guide updated
- [ ] Team training completed
### Operational Documentation
- [ ] Deployment procedures updated
- [ ] Monitoring procedures updated
- [ ] Backup procedures updated
- [ ] Disaster recovery procedures updated
- [ ] Maintenance procedures updated
- [ ] Team handover completed
## Go-Live Validation
### Pre-Deployment Checks
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance benchmarks met
- [ ] Documentation updated
- [ ] Team training completed
### Deployment Validation
- [ ] Application deployed successfully
- [ ] Java 21 runtime working
- [ ] Performance maintained or improved
- [ ] Security vulnerabilities addressed
- [ ] Monitoring active
- [ ] Rollback procedures tested
### Post-Deployment Validation
- [ ] Application accessible and working
- [ ] Performance metrics acceptable
- [ ] Error logging working
- [ ] Security requirements met
- [ ] Team notified of deployment
- [ ] Success criteria met

View File

@ -0,0 +1,203 @@
# Java Web Project Checklist
## Project Planning Phase
### Requirements Analysis
- [ ] Business requirements documented
- [ ] User stories defined
- [ ] Functional requirements specified
- [ ] Non-functional requirements identified
- [ ] UI/UX requirements gathered
- [ ] Database requirements defined
- [ ] Security requirements specified
- [ ] Performance requirements defined
### Architecture Design
- [ ] System architecture designed
- [ ] Technology stack selected (Java 21, Spring Boot, Maven, AWS)
- [ ] Database schema designed
- [ ] Security architecture planned
- [ ] Deployment architecture defined
- [ ] Monitoring strategy planned
- [ ] Backup and recovery strategy defined
## Project Setup Phase
### Maven Configuration
- [ ] Maven project structure created
- [ ] pom.xml configured with Java 21
- [ ] Spring Boot parent POM included
- [ ] Required dependencies added
- [ ] Maven compiler plugin configured
- [ ] Spring Boot Maven plugin configured
- [ ] Build profiles configured
### Development Environment
- [ ] Java 21 JDK installed and configured
- [ ] IDE configured for Java 21 and Spring Boot
- [ ] Maven wrapper configured
- [ ] Git repository initialized
- [ ] Development database configured
- [ ] Local development environment tested
## Web Development Phase
### Spring Boot MVC Setup
- [ ] Spring Boot Web starter added
- [ ] MVC configuration completed
- [ ] Controller classes created
- [ ] Request mapping configured
- [ ] Exception handling implemented
- [ ] Validation configured
- [ ] Static resources configured
### Frontend Implementation
- [ ] Thymeleaf templates created
- [ ] CSS/JavaScript resources added
- [ ] Form handling implemented
- [ ] Client-side validation added
- [ ] Responsive design implemented
- [ ] Cross-browser compatibility tested
### Data Layer
- [ ] Spring Data JPA configured
- [ ] Entity classes created
- [ ] Repository interfaces defined
- [ ] Database migrations created
- [ ] Data validation implemented
- [ ] Transaction management configured
## Security Implementation
### Spring Security Setup
- [ ] Spring Security dependency added
- [ ] Security configuration created
- [ ] Authentication mechanism implemented
- [ ] Authorization rules defined
- [ ] Password encoding configured
- [ ] Session management configured
- [ ] CSRF protection enabled
### Security Best Practices
- [ ] Input validation implemented
- [ ] SQL injection prevention
- [ ] XSS protection configured
- [ ] Security headers configured
- [ ] HTTPS configuration planned
- [ ] Security testing performed
## Testing Implementation
### Unit Testing
- [ ] JUnit 5 configured
- [ ] Test classes created for controllers
- [ ] Test classes created for services
- [ ] Test classes created for repositories
- [ ] Mock objects used appropriately
- [ ] Test coverage adequate (>80%)
### Integration Testing
- [ ] Spring Boot test annotations used
- [ ] Test profiles configured
- [ ] Database tests implemented
- [ ] Web layer tests implemented
- [ ] Security tests implemented
- [ ] End-to-end tests created
## AWS Deployment Phase
### Infrastructure Setup
- [ ] AWS account configured
- [ ] VPC and networking configured
- [ ] Security groups configured
- [ ] IAM roles and policies created
- [ ] RDS database instance created
- [ ] Application Load Balancer configured
### Containerization
- [ ] Dockerfile created
- [ ] Multi-stage build implemented
- [ ] Docker image optimized
- [ ] Container security hardened
- [ ] Health checks implemented
- [ ] Docker Compose configured for local testing
### Deployment Configuration
- [ ] ECS/EKS cluster configured
- [ ] Service definition created
- [ ] Task definition configured
- [ ] Auto-scaling configured
- [ ] Load balancing configured
- [ ] Deployment pipeline configured
### Monitoring and Logging
- [ ] CloudWatch logging configured
- [ ] Application metrics configured
- [ ] Health check endpoints implemented
- [ ] Error tracking configured
- [ ] Performance monitoring setup
- [ ] Alerting configured
## Documentation and Handover
### Technical Documentation
- [ ] README.md created with setup instructions
- [ ] API documentation generated
- [ ] Database schema documented
- [ ] Deployment guide written
- [ ] Configuration guide created
- [ ] Troubleshooting guide written
### Operational Documentation
- [ ] Monitoring guide created
- [ ] Backup procedures documented
- [ ] Disaster recovery procedures documented
- [ ] Security procedures documented
- [ ] Maintenance procedures documented
- [ ] Team handover completed
## Go-Live Validation
### Pre-Deployment Checks
- [ ] All tests passing
- [ ] Code review completed
- [ ] Security scan passed
- [ ] Performance testing completed
- [ ] Documentation reviewed
- [ ] Team training completed
### Deployment Validation
- [ ] Application deployed successfully
- [ ] Database migrations completed
- [ ] Health checks passing
- [ ] Monitoring active
- [ ] Load balancing working
- [ ] SSL certificates configured
### Post-Deployment Validation
- [ ] Application accessible
- [ ] All features working
- [ ] Performance metrics acceptable
- [ ] Error logging working
- [ ] Backup procedures tested
- [ ] Team notified of deployment

View File

@ -0,0 +1,12 @@
# <!-- Powered by BMAD™ Core -->
name: bmad-java
version: 1.0.0
short-title: Java Development Studio
description: >-
Comprehensive AI-powered Java development framework for creating modern Java applications
and modernizing legacy systems. Features specialized workflows for greenfield projects
(web apps, APIs, microservices) and brownfield modernization (Java version upgrades,
build system migration, containerization, cloud deployment). Built for Java 21,
Spring Boot ecosystem, Maven, and AWS cloud platform.
author: marciobarroso
slashPrefix: bmad-java

View File

@ -0,0 +1,221 @@
# AWS Services Guide for Java Applications
## Compute Services
### Amazon EC2
- **Use Case**: Virtual machines for traditional applications
- **Java Integration**: Deploy Java applications on EC2 instances
- **Best Practices**: Use Auto Scaling Groups, Elastic Load Balancer
- **Monitoring**: CloudWatch metrics and logs
- **Security**: Security Groups, IAM roles
### AWS Lambda
- **Use Case**: Serverless functions for event-driven applications
- **Java Integration**: Java 21 runtime support
- **Best Practices**: Keep functions stateless, optimize cold starts
- **Monitoring**: CloudWatch logs and metrics
- **Security**: IAM roles and VPC configuration
### Amazon ECS
- **Use Case**: Container orchestration for microservices
- **Java Integration**: Deploy Java containers
- **Best Practices**: Use Fargate for serverless containers
- **Monitoring**: CloudWatch container insights
- **Security**: Task roles and security groups
### Amazon EKS
- **Use Case**: Kubernetes cluster management
- **Java Integration**: Deploy Java applications on Kubernetes
- **Best Practices**: Use managed node groups, implement RBAC
- **Monitoring**: CloudWatch container insights
- **Security**: Pod security policies, network policies
## Database Services
### Amazon RDS
- **Use Case**: Managed relational databases
- **Java Integration**: JDBC drivers for MySQL, PostgreSQL
- **Best Practices**: Use Multi-AZ for high availability
- **Monitoring**: CloudWatch database metrics
- **Security**: Encryption at rest and in transit
### Amazon Aurora
- **Use Case**: High-performance MySQL/PostgreSQL compatible databases
- **Java Integration**: Standard JDBC drivers
- **Best Practices**: Use Aurora Serverless for variable workloads
- **Monitoring**: CloudWatch performance insights
- **Security**: Automated backups, encryption
### Amazon DynamoDB
- **Use Case**: NoSQL database for scalable applications
- **Java Integration**: AWS SDK for Java
- **Best Practices**: Use DynamoDB Accelerator (DAX) for caching
- **Monitoring**: CloudWatch metrics
- **Security**: IAM policies, encryption
## Storage Services
### Amazon S3
- **Use Case**: Object storage for files and data
- **Java Integration**: AWS SDK for Java
- **Best Practices**: Use lifecycle policies, versioning
- **Monitoring**: CloudWatch metrics
- **Security**: Bucket policies, encryption
### Amazon EBS
- **Use Case**: Block storage for EC2 instances
- **Java Integration**: File system access
- **Best Practices**: Use Provisioned IOPS for high performance
- **Monitoring**: CloudWatch metrics
- **Security**: Encryption, snapshots
### Amazon EFS
- **Use Case**: Shared file system for multiple instances
- **Java Integration**: NFS mount
- **Best Practices**: Use performance mode for high throughput
- **Monitoring**: CloudWatch metrics
- **Security**: Encryption, access points
## Networking Services
### Amazon VPC
- **Use Case**: Virtual private cloud for network isolation
- **Java Integration**: Network configuration
- **Best Practices**: Use multiple availability zones
- **Monitoring**: VPC Flow Logs
- **Security**: Security groups, NACLs
### Amazon API Gateway
- **Use Case**: API management and routing
- **Java Integration**: REST API endpoints
- **Best Practices**: Use caching, throttling
- **Monitoring**: CloudWatch metrics
- **Security**: API keys, IAM authorization
### Application Load Balancer
- **Use Case**: Load balancing for web applications
- **Java Integration**: HTTP/HTTPS load balancing
- **Best Practices**: Use health checks, SSL termination
- **Monitoring**: CloudWatch metrics
- **Security**: Security groups, SSL certificates
## Security Services
### AWS IAM
- **Use Case**: Identity and access management
- **Java Integration**: Assume roles, temporary credentials
- **Best Practices**: Use least privilege principle
- **Monitoring**: CloudTrail logs
- **Security**: Multi-factor authentication
### AWS Secrets Manager
- **Use Case**: Secrets and credential management
- **Java Integration**: AWS SDK for Java
- **Best Practices**: Rotate secrets automatically
- **Monitoring**: CloudWatch metrics
- **Security**: Encryption, access logging
### AWS KMS
- **Use Case**: Key management for encryption
- **Java Integration**: AWS SDK for Java
- **Best Practices**: Use customer managed keys
- **Monitoring**: CloudWatch metrics
- **Security**: Key rotation, access policies
## Monitoring and Logging
### Amazon CloudWatch
- **Use Case**: Monitoring and observability
- **Java Integration**: Custom metrics, logs
- **Best Practices**: Use custom metrics, alarms
- **Monitoring**: CloudWatch dashboards
- **Security**: Log encryption, access control
### AWS X-Ray
- **Use Case**: Distributed tracing
- **Java Integration**: AWS X-Ray SDK
- **Best Practices**: Trace all service calls
- **Monitoring**: X-Ray console
- **Security**: Trace data encryption
### Amazon CloudTrail
- **Use Case**: API call logging and auditing
- **Java Integration**: AWS SDK calls logged
- **Best Practices**: Enable all regions
- **Monitoring**: CloudTrail insights
- **Security**: Log file validation
## Development and Deployment
### AWS CodeBuild
- **Use Case**: Build and test Java applications
- **Java Integration**: Maven/Gradle builds
- **Best Practices**: Use buildspec.yml, caching
- **Monitoring**: CloudWatch logs
- **Security**: IAM roles, VPC configuration
### AWS CodePipeline
- **Use Case**: CI/CD pipeline automation
- **Java Integration**: Maven builds, deployments
- **Best Practices**: Use multiple stages, approvals
- **Monitoring**: Pipeline execution history
- **Security**: IAM roles, encryption
### AWS CodeDeploy
- **Use Case**: Application deployment automation
- **Java Integration**: Blue/green deployments
- **Best Practices**: Use deployment groups
- **Monitoring**: Deployment history
- **Security**: IAM roles, encryption
## Best Practices for Java Applications
### Performance Optimization
- Use connection pooling for databases
- Implement caching strategies
- Optimize JVM settings for AWS
- Use AWS services for heavy lifting
### Security Best Practices
- Use IAM roles instead of access keys
- Encrypt data at rest and in transit
- Implement proper authentication and authorization
- Use AWS security services
### Cost Optimization
- Use reserved instances for predictable workloads
- Implement auto-scaling
- Use spot instances for non-critical workloads
- Monitor and optimize resource usage
### Monitoring and Observability
- Implement comprehensive logging
- Use CloudWatch for monitoring
- Implement distributed tracing
- Set up alerts and notifications

View File

@ -0,0 +1,232 @@
# Java 21 Features and Modernization Guide
## Java 21 Language Features
### Pattern Matching for Switch
- **Description**: Enhanced switch expressions with pattern matching
- **Use Case**: Simplify conditional logic and type checking
- **Example**:
```java
switch (obj) {
case String s -> System.out.println("String: " + s);
case Integer i -> System.out.println("Integer: " + i);
case null -> System.out.println("Null value");
default -> System.out.println("Unknown type");
}
```
### Records
- **Description**: Immutable data classes with automatic methods
- **Use Case**: Replace traditional POJOs and DTOs
- **Example**:
```java
public record User(String name, String email, int age) {
public User {
if (age < 0) throw new IllegalArgumentException("Age cannot be negative");
}
}
```
### Sealed Classes
- **Description**: Restrict which classes can extend a class
- **Use Case**: Model domain hierarchies and improve type safety
- **Example**:
```java
public sealed class Shape permits Circle, Rectangle, Triangle {
public abstract double area();
}
public final class Circle extends Shape {
private final double radius;
public double area() { return Math.PI * radius * radius; }
}
```
### Text Blocks
- **Description**: Multi-line string literals
- **Use Case**: SQL queries, JSON, HTML templates
- **Example**:
```java
String sql = """
SELECT u.id, u.name, u.email
FROM users u
WHERE u.active = true
AND u.created_date > ?
""";
```
### Virtual Threads (Project Loom)
- **Description**: Lightweight threads for high-concurrency applications
- **Use Case**: I/O-bound applications, microservices
- **Example**:
```java
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
executor.submit(() -> {
// I/O operation
return processData();
});
}
```
## Performance Improvements
### Garbage Collection Enhancements
- **ZGC**: Low-latency garbage collector
- **G1GC**: Improved performance and predictability
- **SerialGC**: Better performance for small applications
- **ParallelGC**: Enhanced throughput
### JVM Optimizations
- **AOT Compilation**: Ahead-of-time compilation support
- **JIT Improvements**: Better just-in-time compilation
- **Memory Management**: Improved memory allocation and deallocation
- **Threading**: Enhanced thread management
## Security Enhancements
### Cryptographic Updates
- **TLS 1.3**: Enhanced security protocols
- **Cryptographic Algorithms**: Updated and improved algorithms
- **Key Management**: Better key handling and storage
- **Secure Random**: Improved random number generation
### Security Headers
- **HTTP Security Headers**: Enhanced security header support
- **Content Security Policy**: Better CSP implementation
- **CORS**: Improved Cross-Origin Resource Sharing
- **Authentication**: Enhanced authentication mechanisms
## API Improvements
### Collections Framework
- **Immutable Collections**: Factory methods for immutable collections
- **Stream API**: Enhanced stream operations
- **Optional**: Improved Optional handling
- **CompletableFuture**: Better async programming support
### I/O Improvements
- **NIO.2**: Enhanced file system operations
- **HTTP Client**: Built-in HTTP client
- **Process API**: Improved process management
- **File I/O**: Better file handling and operations
## Migration Strategies
### From Java 8 to Java 21
1. **Update Dependencies**: Check compatibility with Java 21
2. **Modernize Code**: Use new language features
3. **Update Build Tools**: Maven/Gradle updates
4. **Test Thoroughly**: Comprehensive testing
5. **Performance Testing**: Validate performance improvements
### From Java 11 to Java 21
1. **Language Features**: Adopt new language features
2. **Performance Optimization**: Leverage performance improvements
3. **Security Updates**: Implement security enhancements
4. **API Updates**: Use improved APIs
5. **Testing**: Validate all changes
### From Java 17 to Java 21
1. **New Features**: Implement new language features
2. **Performance Tuning**: Optimize for Java 21
3. **Security Hardening**: Implement security improvements
4. **Monitoring**: Update monitoring and observability
5. **Documentation**: Update documentation and guides
## Best Practices
### Code Modernization
- **Use Records**: Replace POJOs with records
- **Pattern Matching**: Simplify conditional logic
- **Text Blocks**: Use for multi-line strings
- **Sealed Classes**: Model domain hierarchies
- **Virtual Threads**: Use for I/O-bound operations
### Performance Optimization
- **JVM Tuning**: Optimize JVM parameters
- **Garbage Collection**: Choose appropriate GC
- **Memory Management**: Optimize memory usage
- **Threading**: Use virtual threads for I/O
- **Caching**: Implement effective caching strategies
### Security Implementation
- **Encryption**: Use updated cryptographic algorithms
- **Authentication**: Implement secure authentication
- **Authorization**: Use proper authorization mechanisms
- **Input Validation**: Validate all inputs
- **Security Headers**: Implement security headers
### Testing Strategies
- **Unit Testing**: Comprehensive unit test coverage
- **Integration Testing**: Test all integrations
- **Performance Testing**: Validate performance improvements
- **Security Testing**: Test security implementations
- **Compatibility Testing**: Test compatibility with dependencies
## Migration Checklist
### Pre-Migration
- [ ] Analyze current Java version and features
- [ ] Check dependency compatibility
- [ ] Plan migration strategy
- [ ] Set up testing environment
- [ ] Create rollback plan
### During Migration
- [ ] Update Java version
- [ ] Update dependencies
- [ ] Modernize code
- [ ] Update build configuration
- [ ] Test thoroughly
### Post-Migration
- [ ] Validate functionality
- [ ] Performance testing
- [ ] Security testing
- [ ] Documentation updates
- [ ] Team training
## Common Issues and Solutions
### Compatibility Issues
- **Dependency Conflicts**: Resolve version conflicts
- **API Changes**: Update deprecated APIs
- **Build Tool Issues**: Update Maven/Gradle
- **IDE Issues**: Update IDE and plugins
### Performance Issues
- **Memory Usage**: Optimize memory allocation
- **Garbage Collection**: Tune GC parameters
- **Threading**: Optimize thread usage
- **I/O Operations**: Optimize I/O operations
### Security Issues
- **Cryptographic Updates**: Update crypto algorithms
- **Security Headers**: Implement security headers
- **Authentication**: Update authentication mechanisms
- **Authorization**: Implement proper authorization

View File

@ -0,0 +1,129 @@
# Java Tech Stack Knowledge Base
## Java 21 Features
### Language Features
- **Pattern Matching**: Enhanced switch expressions and pattern matching
- **Records**: Immutable data carriers
- **Sealed Classes**: Restricted class hierarchies
- **Text Blocks**: Multi-line string literals
- **Local Variable Type Inference**: `var` keyword
- **Virtual Threads**: Lightweight concurrency
- **Foreign Function & Memory API**: Interop with native code
### Performance Improvements
- **ZGC**: Low-latency garbage collector
- **Shenandoah**: Concurrent garbage collector
- **JIT Compiler**: Enhanced optimization
- **Memory Management**: Improved heap management
## Spring Boot Ecosystem
### Core Modules
- **Spring Boot Starter Web**: Web applications and REST APIs
- **Spring Boot Starter Security**: Authentication and authorization
- **Spring Boot Starter Data JPA**: Data persistence with JPA
- **Spring Boot Starter Test**: Testing framework integration
- **Spring Boot Starter Actuator**: Production-ready features
### Spring Cloud Modules
- **Spring Cloud Gateway**: API Gateway
- **Spring Cloud Netflix**: Service discovery and load balancing
- **Spring Cloud Config**: Configuration management
- **Spring Cloud Sleuth**: Distributed tracing
- **Spring Cloud Stream**: Event-driven microservices
## Maven Configuration
### Project Structure
```
project/
├── src/
│ ├── main/
│ │ ├── java/
│ │ └── resources/
│ └── test/
│ ├── java/
│ └── resources/
├── pom.xml
└── README.md
```
### Essential Plugins
- **maven-compiler-plugin**: Java compilation
- **maven-surefire-plugin**: Unit testing
- **maven-failsafe-plugin**: Integration testing
- **spring-boot-maven-plugin**: Spring Boot packaging
- **dockerfile-maven-plugin**: Docker image building
## AWS Services
### Compute Services
- **Amazon EC2**: Virtual machines
- **AWS Lambda**: Serverless compute
- **Amazon ECS**: Container service
- **Amazon EKS**: Kubernetes service
- **AWS Fargate**: Serverless containers
### Database Services
- **Amazon RDS**: Relational databases
- **Amazon Aurora**: MySQL/PostgreSQL compatible
- **Amazon DynamoDB**: NoSQL database
- **Amazon DocumentDB**: MongoDB compatible
### Networking & Security
- **Amazon VPC**: Virtual private cloud
- **AWS API Gateway**: API management
- **AWS Load Balancer**: Traffic distribution
- **AWS IAM**: Identity and access management
- **AWS Secrets Manager**: Secrets management
### Monitoring & Logging
- **Amazon CloudWatch**: Monitoring and logging
- **AWS X-Ray**: Distributed tracing
- **Amazon CloudTrail**: API logging
- **AWS Config**: Resource configuration
## Best Practices
### Java 21 Development
- Use modern Java features (records, pattern matching)
- Implement proper exception handling
- Follow naming conventions
- Use immutable objects when possible
- Optimize for performance
### Spring Boot Development
- Use Spring Boot starters for dependencies
- Implement proper configuration management
- Use Spring profiles for environment-specific config
- Implement proper error handling
- Use Spring Boot Actuator for monitoring
### Maven Best Practices
- Use dependency management for version control
- Implement proper plugin configuration
- Use profiles for different environments
- Implement proper testing configuration
- Use Maven wrapper for consistent builds
### AWS Best Practices
- Design for failure and scalability
- Implement proper security practices
- Use AWS managed services when possible
- Implement proper monitoring and logging
- Optimize for cost and performance

View File

@ -0,0 +1,149 @@
# Spring Boot Patterns and Best Practices
## Spring Boot Configuration Patterns
### Application Properties Management
- **Profile-based Configuration**: Use `application-{profile}.yml` for environment-specific settings
- **External Configuration**: Use `@ConfigurationProperties` for type-safe configuration
- **Environment Variables**: Override properties with environment variables
- **Configuration Validation**: Use `@Validated` and `@Valid` for configuration validation
### Dependency Injection Patterns
- **Constructor Injection**: Prefer constructor injection over field injection
- **Interface Segregation**: Use interfaces for service contracts
- **Component Scanning**: Use `@ComponentScan` for automatic bean discovery
- **Conditional Beans**: Use `@ConditionalOnProperty` for conditional bean creation
## Web Development Patterns
### REST API Design
- **Resource-based URLs**: Use nouns for resources, verbs for actions
- **HTTP Status Codes**: Use appropriate status codes for responses
- **Content Negotiation**: Support multiple content types (JSON, XML)
- **API Versioning**: Use URL versioning or header versioning
- **Pagination**: Implement pagination for large datasets
- **Filtering and Sorting**: Support query parameters for filtering
### Spring MVC Patterns
- **Controller Layer**: Keep controllers thin, delegate to services
- **DTO Pattern**: Use Data Transfer Objects for API communication
- **Validation**: Use Bean Validation annotations
- **Exception Handling**: Use `@ControllerAdvice` for global exception handling
- **Response Wrapping**: Use consistent response format
## Data Access Patterns
### Spring Data JPA Patterns
- **Repository Pattern**: Use Spring Data repositories
- **Custom Queries**: Use `@Query` for custom JPQL queries
- **Specifications**: Use JPA Specifications for dynamic queries
- **Pagination**: Use `Pageable` for paginated results
- **Auditing**: Use `@CreatedDate` and `@LastModifiedDate`
- **Soft Delete**: Implement soft delete pattern
### Transaction Management
- **Declarative Transactions**: Use `@Transactional` annotation
- **Transaction Propagation**: Understand propagation behaviors
- **Read-Only Transactions**: Use `readOnly = true` for read operations
- **Rollback Rules**: Configure rollback conditions
## Security Patterns
### Spring Security Configuration
- **Authentication**: Implement JWT or OAuth2 authentication
- **Authorization**: Use method-level security with `@PreAuthorize`
- **CORS Configuration**: Configure Cross-Origin Resource Sharing
- **CSRF Protection**: Enable CSRF protection for state-changing operations
- **Security Headers**: Configure security headers
### Password Management
- **Password Encoding**: Use BCrypt for password hashing
- **Password Policies**: Implement password strength requirements
- **Password Reset**: Implement secure password reset flow
## Testing Patterns
### Unit Testing
- **Test Structure**: Use Arrange-Act-Assert pattern
- **Mocking**: Use Mockito for mocking dependencies
- **Test Data**: Use TestContainers for integration testing
- **Test Coverage**: Aim for high test coverage
### Integration Testing
- **Spring Boot Test**: Use `@SpringBootTest` for integration tests
- **Test Profiles**: Use test-specific profiles
- **Test Slices**: Use `@WebMvcTest`, `@DataJpaTest` for focused tests
- **TestContainers**: Use TestContainers for database testing
## Performance Patterns
### Caching
- **Spring Cache**: Use `@Cacheable`, `@CacheEvict`, `@CachePut`
- **Cache Providers**: Use Redis, Caffeine, or Ehcache
- **Cache Strategies**: Implement appropriate cache strategies
- **Cache Invalidation**: Handle cache invalidation properly
### Async Processing
- **@Async**: Use `@Async` for asynchronous processing
- **CompletableFuture**: Use CompletableFuture for async operations
- **Message Queues**: Use RabbitMQ or Apache Kafka for messaging
- **Event Publishing**: Use Spring Events for loose coupling
## Monitoring and Observability
### Health Checks
- **Spring Boot Actuator**: Use actuator endpoints for health checks
- **Custom Health Indicators**: Implement custom health indicators
- **Health Aggregation**: Aggregate health status from dependencies
### Metrics and Monitoring
- **Micrometer**: Use Micrometer for application metrics
- **Custom Metrics**: Implement custom business metrics
- **Distributed Tracing**: Use Spring Cloud Sleuth for tracing
- **Logging**: Use structured logging with SLF4J and Logback
## Error Handling Patterns
### Exception Handling
- **Global Exception Handler**: Use `@ControllerAdvice`
- **Custom Exceptions**: Create domain-specific exceptions
- **Error Response Format**: Use consistent error response format
- **Error Logging**: Log errors with appropriate context
### Circuit Breaker Pattern
- **Resilience4j**: Use Resilience4j for circuit breaker implementation
- **Fallback Methods**: Implement fallback methods for failed operations
- **Retry Logic**: Implement retry logic with exponential backoff
- **Timeout Handling**: Configure appropriate timeouts
## AWS Integration Patterns
### AWS Services Integration
- **AWS SDK**: Use AWS SDK for Java for service integration
- **AWS Configuration**: Use AWS configuration properties
- **AWS Profiles**: Use AWS profiles for different environments
- **AWS Regions**: Configure appropriate AWS regions
### Cloud-Native Patterns
- **Configuration Externalization**: Use AWS Parameter Store
- **Secrets Management**: Use AWS Secrets Manager
- **Service Discovery**: Use AWS Service Discovery
- **Load Balancing**: Use AWS Application Load Balancer

View File

@ -0,0 +1,112 @@
# AWS Cloud Migration Task
## Purpose
Migrate an existing Java application to AWS cloud platform. Handles cloud architecture design, infrastructure migration, application modernization, and cloud-native deployment.
## When to Use
- Migrating from on-premise to AWS cloud
- Modernizing legacy applications for cloud
- Implementing cloud-native architecture
- Improving application scalability and reliability
## Input Requirements
- Current infrastructure details
- Application architecture and dependencies
- AWS service preferences
- Security and compliance requirements
- Performance and scalability requirements
- Cost optimization requirements
## Process Steps
### 1. Cloud Strategy Planning
- Analyze current infrastructure and application
- Design AWS cloud architecture
- Select appropriate AWS services
- Plan migration strategy (Lift & Shift, Replatform, Refactor)
- Assess costs and benefits
- Plan security and compliance
### 2. Application Cloud Preparation
- Implement cloud-native patterns
- Externalize configuration
- Implement secrets management
- Add health checks and metrics
- Implement distributed logging
- Update error handling
### 3. AWS Infrastructure Setup
- Configure AWS VPC and networking
- Set up AWS compute services (EC2, ECS, EKS)
- Configure AWS database services (RDS, Aurora)
- Set up AWS storage services (S3, EBS)
- Configure AWS security services (IAM, Security Groups)
- Set up AWS monitoring services (CloudWatch)
### 4. Data Migration
- Plan database migration strategy
- Set up AWS RDS instances
- Migrate database schema and data
- Configure database backups
- Set up database monitoring
- Test data migration
### 5. Application Deployment
- Deploy application to AWS
- Configure load balancing
- Set up auto-scaling
- Configure health checks
- Set up monitoring and alerting
- Test application functionality
### 6. Security and Compliance
- Configure AWS IAM roles and policies
- Set up AWS security services
- Implement application security
- Configure network security
- Set up compliance monitoring
- Conduct security testing
## Output Deliverables
- AWS cloud architecture
- Migrated application on AWS
- AWS infrastructure configuration
- Security and compliance setup
- Monitoring and alerting configuration
- Migration documentation
## Success Criteria
- Application successfully migrated to AWS
- AWS infrastructure properly configured
- Application deployed and running
- Security and compliance requirements met
- Monitoring and alerting active
- Performance and cost objectives met
## Dependencies
- AWS account and CLI
- Application source code
- Database and data access
- Security requirements
- Compliance requirements
## Tools and Resources
- AWS CLI and SDK
- AWS services (EC2, ECS, EKS, RDS, S3)
- AWS security services (IAM, Security Groups)
- AWS monitoring services (CloudWatch)
- Migration tools and scripts
- Documentation and best practices

View File

@ -0,0 +1,112 @@
# Containerization Setup Task
## Purpose
Containerize an existing Java application for deployment using Docker and AWS cloud platform. Handles application modernization, containerization, orchestration setup, and cloud deployment.
## When to Use
- Migrating from application servers to containers
- Modernizing legacy Java applications
- Implementing cloud-native deployment
- Improving application portability and scalability
## Input Requirements
- Current application server details
- Application dependencies and configuration
- Deployment requirements
- AWS infrastructure preferences
- Monitoring and logging requirements
- Security requirements
## Process Steps
### 1. Application Modernization
- Remove application server dependencies
- Implement Spring Boot embedded server
- Externalize configuration
- Implement stateless design patterns
- Add health checks and metrics
- Update logging and monitoring
### 2. Docker Configuration
- Create Dockerfile for Java 21
- Implement multi-stage build
- Optimize Docker image size
- Configure security settings
- Add health checks
- Test container build
### 3. Container Optimization
- Optimize Docker image layers
- Implement security hardening
- Configure resource limits
- Set up container networking
- Implement container logging
- Test container functionality
### 4. Orchestration Setup
- Create Kubernetes manifests
- Configure deployment and services
- Set up ConfigMaps and Secrets
- Configure ingress controllers
- Set up auto-scaling
- Test orchestration
### 5. AWS Integration
- Configure AWS EKS cluster
- Set up AWS ECR repository
- Configure AWS Load Balancer
- Set up AWS monitoring
- Configure AWS security
- Test AWS integration
### 6. Deployment Automation
- Set up CI/CD pipeline
- Configure deployment scripts
- Set up blue-green deployment
- Configure rollback procedures
- Set up monitoring and alerting
- Test deployment process
## Output Deliverables
- Containerized Java application
- Docker configuration and images
- Kubernetes manifests
- AWS infrastructure configuration
- Deployment automation
- Monitoring and logging setup
## Success Criteria
- Application successfully containerized
- Docker images built and optimized
- Kubernetes deployment working
- AWS infrastructure configured
- Application deployed and running
- Monitoring and logging active
## Dependencies
- Docker installed and configured
- Kubernetes cluster access
- AWS account and CLI
- Java 21 JDK
- Maven build system
## Tools and Resources
- Docker containerization
- Kubernetes orchestration
- AWS EKS and ECR
- AWS CLI and tools
- CI/CD platform tools
- Monitoring and logging tools

View File

@ -0,0 +1,109 @@
# Java API Project Setup Task
## Purpose
Initialize a new Java REST API project using Java 21, Spring Boot Web, Maven, and AWS cloud platform. Creates the foundation for a modern REST API with proper project structure, dependencies, and configuration.
## When to Use
- Starting a new Java REST API project
- Creating a REST API with Spring Boot Web
- Setting up a project for AWS API Gateway integration
- Establishing a foundation for API development with modern Java
## Input Requirements
- API project name and description
- API endpoints specification
- Authentication requirements
- Database requirements
- AWS deployment preferences
- Documentation requirements
## Process Steps
### 1. Project Structure Creation
- Create Maven project structure
- Set up source directories (src/main/java, src/main/resources)
- Set up test directories (src/test/java, src/test/resources)
- Create package structure following REST API conventions
- Initialize Git repository
### 2. Maven Configuration
- Create pom.xml with Java 21 configuration
- Add Spring Boot parent POM
- Configure Maven compiler plugin
- Add Spring Boot Maven plugin
- Add OpenAPI/Swagger dependencies
- Configure build profiles (dev, test, prod)
- Set up Maven wrapper
### 3. Spring Boot Configuration
- Add Spring Boot Web starter dependency
- Add Spring Boot Data JPA starter dependency
- Add Spring Boot Security starter dependency
- Add Spring Boot Test starter dependency
- Add Spring Boot Actuator starter dependency
- Add OpenAPI/Swagger dependencies
- Configure application.properties/yml
### 4. API Configuration
- Create main application class
- Configure Spring MVC for REST
- Set up OpenAPI/Swagger documentation
- Configure CORS if needed
- Set up error handling for REST APIs
- Configure content negotiation
- Set up validation
### 5. Development Environment Setup
- Configure IDE for Java 21 and Spring Boot
- Set up local development database
- Configure application profiles
- Set up API testing tools (Postman, Insomnia)
- Configure debugging environment
- Set up API documentation access
## Output Deliverables
- Complete Maven project structure
- Configured pom.xml with all dependencies
- Spring Boot REST API configuration
- OpenAPI/Swagger documentation setup
- Development environment setup guide
- Basic REST API template
- Git repository with initial commit
## Success Criteria
- Maven project builds successfully
- Spring Boot application starts without errors
- OpenAPI/Swagger documentation accessible
- Basic REST endpoints working
- Development environment fully functional
- All dependencies resolved correctly
- Project ready for API development
## Dependencies
- Java 21 JDK installed
- Maven 3.9+ installed
- IDE configured for Java development
- Git repository access
- AWS account (for deployment)
## Tools and Resources
- Maven build tool
- Spring Boot framework
- OpenAPI/Swagger
- Java 21 JDK
- IDE (IntelliJ IDEA, Eclipse, VS Code)
- Git version control
- API testing tools
- AWS CLI (for deployment)

View File

@ -0,0 +1,122 @@
# Java Microservice Setup Task
## Purpose
Initialize a new Java microservice project using Java 21, Spring Boot, Spring Cloud, Maven, and AWS cloud platform. Creates the foundation for a modern microservice with proper project structure, dependencies, and configuration.
## When to Use
- Starting a new Java microservice project
- Creating a microservice with Spring Boot and Spring Cloud
- Setting up a project for AWS EKS deployment
- Establishing a foundation for microservice development with modern Java
## Input Requirements
- Microservice name and description
- Service responsibilities and boundaries
- Inter-service communication requirements
- Service discovery preferences
- AWS deployment preferences
- Monitoring and observability requirements
## Process Steps
### 1. Project Structure Creation
- Create Maven project structure
- Set up source directories (src/main/java, src/main/resources)
- Set up test directories (src/test/java, src/test/resources)
- Create package structure following microservice conventions
- Initialize Git repository
### 2. Maven Configuration
- Create pom.xml with Java 21 configuration
- Add Spring Boot parent POM
- Add Spring Cloud dependencies
- Configure Maven compiler plugin
- Add Spring Boot Maven plugin
- Configure build profiles (dev, test, prod)
- Set up Maven wrapper
### 3. Spring Boot Configuration
- Add Spring Boot Web starter dependency
- Add Spring Boot Data JPA starter dependency
- Add Spring Boot Security starter dependency
- Add Spring Boot Test starter dependency
- Add Spring Boot Actuator starter dependency
- Add Spring Cloud dependencies
- Configure application.properties/yml
### 4. Spring Cloud Configuration
- Add Spring Cloud Netflix dependencies (Eureka, Gateway)
- Add Spring Cloud Config dependencies
- Add Spring Cloud Sleuth dependencies
- Add Resilience4j dependencies
- Configure service discovery
- Configure API Gateway
- Configure distributed tracing
### 5. Microservice Configuration
- Create main application class
- Configure Spring Boot for microservice
- Set up service discovery client
- Configure circuit breaker
- Set up health checks
- Configure metrics and monitoring
- Set up distributed tracing
### 6. Development Environment Setup
- Configure IDE for Java 21 and Spring Boot
- Set up local development database
- Configure application profiles
- Set up service discovery server locally
- Configure API Gateway locally
- Set up debugging environment
## Output Deliverables
- Complete Maven project structure
- Configured pom.xml with all dependencies
- Spring Boot microservice configuration
- Spring Cloud configuration
- Service discovery setup
- Development environment setup guide
- Basic microservice template
- Git repository with initial commit
## Success Criteria
- Maven project builds successfully
- Spring Boot application starts without errors
- Service discovery registration working
- Health checks accessible
- Metrics and monitoring working
- Development environment fully functional
- All dependencies resolved correctly
- Project ready for microservice development
## Dependencies
- Java 21 JDK installed
- Maven 3.9+ installed
- IDE configured for Java development
- Git repository access
- AWS account (for deployment)
- Service discovery server (Eureka/Consul)
## Tools and Resources
- Maven build tool
- Spring Boot framework
- Spring Cloud
- Java 21 JDK
- IDE (IntelliJ IDEA, Eclipse, VS Code)
- Git version control
- Service discovery tools
- AWS CLI (for deployment)

View File

@ -0,0 +1,114 @@
# Java Version Upgrade Task
## Purpose
Upgrade an existing Java application from an older version to Java 21. Handles dependency updates, code modernization, testing validation, and deployment for Java version migrations.
## When to Use
- Upgrading from Java 8, 11, or 17 to Java 21
- Modernizing legacy Java applications
- Improving application performance and security
- Adopting new Java language features
## Input Requirements
- Current Java version and application details
- Target Java version (Java 21 recommended)
- Application dependencies and frameworks
- Current build system configuration
- Testing requirements
- Deployment environment details
## Process Steps
### 1. Current State Analysis
- Analyze current Java version and features used
- Identify deprecated APIs and patterns
- Assess code quality and technical debt
- Evaluate framework compatibility
- Review performance characteristics
- Document current configuration
### 2. Dependency Compatibility Check
- Check all dependencies for Java 21 compatibility
- Identify incompatible dependencies
- Research alternative libraries
- Plan dependency upgrade strategy
- Update Maven/Gradle dependencies
- Resolve dependency conflicts
### 3. Code Modernization
- Update code to use Java 21 features
- Replace deprecated APIs
- Implement modern Java patterns
- Optimize performance with new features
- Update exception handling
- Improve code quality
### 4. Build System Update
- Update Maven/Gradle configuration
- Update compiler plugin settings
- Update build profiles
- Update CI/CD pipeline configuration
- Test build process
- Validate build output
### 5. Testing and Validation
- Update test frameworks for Java 21
- Run comprehensive test suite
- Perform performance testing
- Conduct security testing
- Validate application functionality
- Test deployment process
### 6. Deployment Preparation
- Update deployment scripts
- Update container images
- Update AWS infrastructure
- Update monitoring configuration
- Prepare rollback procedures
- Plan deployment strategy
## Output Deliverables
- Java 21 compatible application
- Updated dependencies and build configuration
- Modernized code with Java 21 features
- Comprehensive test results
- Updated deployment configuration
- Migration documentation
## Success Criteria
- Application successfully upgraded to Java 21
- All dependencies updated and compatible
- Code modernized with Java 21 features
- All tests passing
- Performance maintained or improved
- Security vulnerabilities addressed
- Application deployed successfully
## Dependencies
- Java 21 JDK installed
- Updated build tools
- Compatible IDE
- Updated testing frameworks
- AWS infrastructure access
## Tools and Resources
- Java 21 JDK
- Maven/Gradle build tools
- IDE with Java 21 support
- Testing frameworks
- Performance testing tools
- Security scanning tools
- AWS CLI and tools

View File

@ -0,0 +1,101 @@
# Java Web Project Setup Task
## Purpose
Initialize a new Java web application project using Java 21, Spring Boot MVC, Maven, and AWS cloud platform. Creates the foundation for a modern web application with proper project structure, dependencies, and configuration.
## When to Use
- Starting a new Java web application project
- Creating a web application with Spring Boot MVC
- Setting up a project for AWS cloud deployment
- Establishing a foundation for web development with modern Java
## Input Requirements
- Project name and description
- Package structure preferences
- Database requirements
- Security requirements
- AWS deployment preferences
- Team development preferences
## Process Steps
### 1. Project Structure Creation
- Create Maven project structure
- Set up source directories (src/main/java, src/main/resources)
- Set up test directories (src/test/java, src/test/resources)
- Create package structure following conventions
- Initialize Git repository
### 2. Maven Configuration
- Create pom.xml with Java 21 configuration
- Add Spring Boot parent POM
- Configure Maven compiler plugin
- Add Spring Boot Maven plugin
- Configure build profiles (dev, test, prod)
- Set up Maven wrapper
### 3. Spring Boot Configuration
- Add Spring Boot Web starter dependency
- Add Spring Boot Data JPA starter dependency
- Add Spring Boot Security starter dependency
- Add Spring Boot Test starter dependency
- Add Spring Boot Actuator starter dependency
- Configure application.properties/yml
### 4. Development Environment Setup
- Configure IDE for Java 21 and Spring Boot
- Set up local development database
- Configure application profiles
- Set up development tools (Postman, etc.)
- Configure debugging environment
### 5. Basic Web Configuration
- Create main application class
- Configure Spring MVC
- Set up static resource handling
- Configure Thymeleaf templates
- Set up error handling
- Configure logging
## Output Deliverables
- Complete Maven project structure
- Configured pom.xml with all dependencies
- Spring Boot application configuration
- Development environment setup guide
- Basic web application template
- Git repository with initial commit
## Success Criteria
- Maven project builds successfully
- Spring Boot application starts without errors
- Basic web page accessible
- Development environment fully functional
- All dependencies resolved correctly
- Project ready for development
## Dependencies
- Java 21 JDK installed
- Maven 3.9+ installed
- IDE configured for Java development
- Git repository access
- AWS account (for deployment)
## Tools and Resources
- Maven build tool
- Spring Boot framework
- Java 21 JDK
- IDE (IntelliJ IDEA, Eclipse, VS Code)
- Git version control
- AWS CLI (for deployment)

View File

@ -0,0 +1,113 @@
# Maven Migration Task
## Purpose
Migrate an existing Java project from an older build system (Ant, Gradle, Ivy) to Maven. Handles build system migration, dependency management, build automation, and CI/CD integration.
## When to Use
- Migrating from Ant to Maven
- Migrating from Gradle to Maven
- Migrating from Ivy to Maven
- Standardizing build systems across projects
- Improving dependency management
## Input Requirements
- Current build system details
- Project dependencies and versions
- Current build scripts and configuration
- CI/CD pipeline configuration
- Team preferences and requirements
- AWS deployment requirements
## Process Steps
### 1. Current Build System Analysis
- Analyze current build scripts and configuration
- Document all dependencies and versions
- Identify build processes and workflows
- Assess CI/CD integration requirements
- Evaluate team expertise and preferences
- Plan migration strategy
### 2. Maven Project Structure Creation
- Create Maven project structure
- Set up source directories
- Set up test directories
- Create package structure
- Initialize Maven configuration
- Set up Maven wrapper
### 3. Dependency Migration
- Migrate dependencies to Maven format
- Configure Maven coordinates
- Set up dependency management
- Resolve dependency conflicts
- Configure repositories
- Test dependency resolution
### 4. Build Configuration
- Create pom.xml with proper configuration
- Configure Maven plugins
- Set up build profiles
- Configure compiler settings
- Set up testing configuration
- Configure packaging and deployment
### 5. CI/CD Integration
- Update CI/CD pipeline for Maven
- Configure build triggers
- Set up test execution
- Configure artifact publishing
- Set up deployment automation
- Test CI/CD integration
### 6. AWS Integration
- Configure AWS CodeBuild for Maven
- Set up AWS CodePipeline integration
- Configure artifact storage
- Set up deployment automation
- Configure monitoring integration
- Test AWS integration
## Output Deliverables
- Complete Maven project structure
- Configured pom.xml with all dependencies
- Updated CI/CD pipeline configuration
- AWS integration configuration
- Migration documentation
- Team training materials
## Success Criteria
- Maven build system working correctly
- All dependencies managed through Maven
- Build automation functioning
- CI/CD pipeline integrated with Maven
- AWS services integrated with Maven build
- Team trained on Maven best practices
## Dependencies
- Maven 3.9+ installed
- Java 21 JDK installed
- IDE with Maven support
- CI/CD platform access
- AWS account access
## Tools and Resources
- Maven build tool
- Maven plugins
- CI/CD platform tools
- AWS CLI and tools
- IDE with Maven integration
- Documentation and training materials

View File

@ -0,0 +1,128 @@
# <!-- Powered by BMAD™ Core -->
name: aws-cloud-migration-tmpl
version: 1.0.0
title: AWS Cloud Migration Template
description: >-
Comprehensive template for AWS cloud migration projects from on-premise
infrastructure to AWS cloud platform. Includes cloud architecture design,
infrastructure migration, application modernization, and deployment templates.
sections:
- name: Cloud Migration Overview
description: Basic cloud migration information and configuration
fields:
- project-name: "AWS Cloud Migration"
- current-infrastructure: "On-premise Data Center"
- target-infrastructure: "AWS Cloud Platform"
- migration-strategy: "Replatform"
- migration-timeline: "6 months"
- risk-level: "High"
- rollback-plan: "Available"
- name: Current Infrastructure Analysis
description: Current infrastructure state and requirements
fields:
- infrastructure-type: "On-premise Data Center"
- server-count: "10 servers"
- database-servers: "2 MySQL servers"
- load-balancers: "Hardware load balancers"
- storage: "SAN storage"
- networking: "Corporate network"
- security: "Firewall and VPN"
- name: AWS Architecture Design
description: AWS cloud architecture and services
fields:
- aws-region: "us-east-1"
- aws-availability-zones: "3 AZs"
- compute-services: "ECS with Fargate"
- database-services: "RDS MySQL"
- storage-services: "S3 and EBS"
- networking-services: "VPC, ALB, CloudFront"
- security-services: "IAM, Security Groups, WAF"
- name: Application Modernization
description: Application updates for cloud deployment
fields:
- cloud-native-patterns: "12-factor app principles"
- configuration-management: "AWS Parameter Store"
- secrets-management: "AWS Secrets Manager"
- health-checks: "Spring Boot Actuator"
- metrics: "CloudWatch custom metrics"
- logging: "CloudWatch Logs"
- monitoring: "CloudWatch alarms"
- name: Data Migration
description: Database and data migration strategy
fields:
- database-migration: "AWS DMS for MySQL"
- data-backup: "Automated RDS backups"
- data-validation: "Data integrity checks"
- migration-testing: "Parallel run validation"
- rollback-strategy: "Database snapshots"
- performance-testing: "Load testing on RDS"
- name: Security and Compliance
description: Security implementation and compliance
fields:
- aws-security: "IAM roles, Security Groups, NACLs"
- application-security: "HTTPS, security headers"
- data-encryption: "Encryption at rest and in transit"
- access-control: "RBAC with AWS IAM"
- compliance: "SOC 2, GDPR compliance"
- security-monitoring: "CloudTrail, GuardDuty"
output-format: markdown
template-structure: |
# AWS Cloud Migration: {{project-name}}
## Cloud Migration Overview
- **Project Name**: {{project-name}}
- **Current Infrastructure**: {{current-infrastructure}}
- **Target Infrastructure**: {{target-infrastructure}}
- **Migration Strategy**: {{migration-strategy}}
- **Migration Timeline**: {{migration-timeline}}
- **Risk Level**: {{risk-level}}
- **Rollback Plan**: {{rollback-plan}}
## Current Infrastructure Analysis
- **Infrastructure Type**: {{infrastructure-type}}
- **Server Count**: {{server-count}}
- **Database Servers**: {{database-servers}}
- **Load Balancers**: {{load-balancers}}
- **Storage**: {{storage}}
- **Networking**: {{networking}}
- **Security**: {{security}}
## AWS Architecture Design
- **AWS Region**: {{aws-region}}
- **AWS Availability Zones**: {{aws-availability-zones}}
- **Compute Services**: {{compute-services}}
- **Database Services**: {{database-services}}
- **Storage Services**: {{storage-services}}
- **Networking Services**: {{networking-services}}
- **Security Services**: {{security-services}}
## Application Modernization
- **Cloud-Native Patterns**: {{cloud-native-patterns}}
- **Configuration Management**: {{configuration-management}}
- **Secrets Management**: {{secrets-management}}
- **Health Checks**: {{health-checks}}
- **Metrics**: {{metrics}}
- **Logging**: {{logging}}
- **Monitoring**: {{monitoring}}
## Data Migration
- **Database Migration**: {{database-migration}}
- **Data Backup**: {{data-backup}}
- **Data Validation**: {{data-validation}}
- **Migration Testing**: {{migration-testing}}
- **Rollback Strategy**: {{rollback-strategy}}
- **Performance Testing**: {{performance-testing}}
## Security and Compliance
- **AWS Security**: {{aws-security}}
- **Application Security**: {{application-security}}
- **Data Encryption**: {{data-encryption}}
- **Access Control**: {{access-control}}
- **Compliance**: {{compliance}}
- **Security Monitoring**: {{security-monitoring}}

View File

@ -0,0 +1,132 @@
# <!-- Powered by BMAD™ Core -->
name: containerization-tmpl
version: 1.0.0
title: Containerization Template
description: >-
Comprehensive template for containerization projects from application servers
to Docker containers and AWS cloud platform. Includes containerization planning,
Docker configuration, orchestration setup, and deployment templates.
sections:
- name: Containerization Overview
description: Basic containerization information and configuration
fields:
- project-name: "Application Containerization"
- current-deployment: "WebLogic Application Server"
- target-deployment: "Docker Containers"
- containerization-strategy: "Spring Boot Embedded Server"
- containerization-timeline: "2 months"
- risk-level: "Medium"
- rollback-plan: "Available"
- name: Current Application Analysis
description: Current application state and server dependencies
fields:
- application-server: "WebLogic 12c"
- application-type: "Enterprise Java Application"
- server-dependencies: "WebLogic-specific configurations"
- deployment-model: "WAR file deployment"
- configuration-management: "Server-specific config"
- monitoring: "Server-based monitoring"
- team-expertise: "Limited container experience"
- name: Application Modernization
description: Application updates for containerization
fields:
- spring-boot-migration: "Spring Boot embedded server"
- configuration-externalization: "Environment-based config"
- stateless-design: "Session externalization"
- health-checks: "Spring Boot Actuator"
- metrics: "Micrometer integration"
- logging: "Structured logging"
- security: "Container security hardening"
- name: Docker Configuration
description: Docker setup and container configuration
fields:
- base-image: "OpenJDK 21 Alpine"
- dockerfile-strategy: "Multi-stage build"
- image-size: "Optimized for production"
- security-hardening: "Non-root user, read-only filesystem"
- health-checks: "Spring Boot Actuator endpoints"
- resource-limits: "CPU and memory limits"
- container-networking: "Bridge network"
- name: Orchestration Setup
description: Container orchestration and management
fields:
- orchestration-platform: "Kubernetes"
- deployment-strategy: "Rolling deployment"
- service-discovery: "Kubernetes services"
- load-balancing: "Kubernetes ingress"
- auto-scaling: "Horizontal Pod Autoscaler"
- config-management: "ConfigMaps and Secrets"
- persistent-storage: "PersistentVolumes"
- name: AWS Integration
description: AWS cloud platform integration
fields:
- aws-eks: "Kubernetes cluster"
- aws-ecr: "Container registry"
- aws-load-balancer: "Application Load Balancer"
- aws-rds: "Database service"
- aws-s3: "Object storage"
- aws-cloudwatch: "Monitoring and logging"
- aws-iam: "Security and access control"
output-format: markdown
template-structure: |
# Containerization: {{project-name}}
## Containerization Overview
- **Project Name**: {{project-name}}
- **Current Deployment**: {{current-deployment}}
- **Target Deployment**: {{target-deployment}}
- **Containerization Strategy**: {{containerization-strategy}}
- **Containerization Timeline**: {{containerization-timeline}}
- **Risk Level**: {{risk-level}}
- **Rollback Plan**: {{rollback-plan}}
## Current Application Analysis
- **Application Server**: {{application-server}}
- **Application Type**: {{application-type}}
- **Server Dependencies**: {{server-dependencies}}
- **Deployment Model**: {{deployment-model}}
- **Configuration Management**: {{configuration-management}}
- **Monitoring**: {{monitoring}}
- **Team Expertise**: {{team-expertise}}
## Application Modernization
- **Spring Boot Migration**: {{spring-boot-migration}}
- **Configuration Externalization**: {{configuration-externalization}}
- **Stateless Design**: {{stateless-design}}
- **Health Checks**: {{health-checks}}
- **Metrics**: {{metrics}}
- **Logging**: {{logging}}
- **Security**: {{security}}
## Docker Configuration
- **Base Image**: {{base-image}}
- **Dockerfile Strategy**: {{dockerfile-strategy}}
- **Image Size**: {{image-size}}
- **Security Hardening**: {{security-hardening}}
- **Health Checks**: {{health-checks}}
- **Resource Limits**: {{resource-limits}}
- **Container Networking**: {{container-networking}}
## Orchestration Setup
- **Orchestration Platform**: {{orchestration-platform}}
- **Deployment Strategy**: {{deployment-strategy}}
- **Service Discovery**: {{service-discovery}}
- **Load Balancing**: {{load-balancing}}
- **Auto-scaling**: {{auto-scaling}}
- **Config Management**: {{config-management}}
- **Persistent Storage**: {{persistent-storage}}
## AWS Integration
- **AWS EKS**: {{aws-eks}}
- **AWS ECR**: {{aws-ecr}}
- **AWS Load Balancer**: {{aws-load-balancer}}
- **AWS RDS**: {{aws-rds}}
- **AWS S3**: {{aws-s3}}
- **AWS CloudWatch**: {{aws-cloudwatch}}
- **AWS IAM**: {{aws-iam}}

View File

@ -0,0 +1,182 @@
# <!-- Powered by BMAD™ Core -->
name: java-api-project-tmpl
version: 1.0.0
title: Java API Project Template
description: >-
Comprehensive template for Java REST API projects using Java 21,
Spring Boot Web, Maven, and AWS cloud platform. Includes API design,
documentation, and deployment templates.
sections:
- name: Project Overview
description: Basic project information and configuration
fields:
- project-name: "Java REST API"
- project-description: "Modern Java REST API with Spring Boot Web"
- java-version: "21"
- spring-boot-version: "3.2.x"
- maven-version: "3.9.x"
- aws-region: "us-east-1"
- aws-environment: "dev"
- name: Project Structure
description: Maven project structure and organization
fields:
- group-id: "com.company.project"
- artifact-id: "java-api-app"
- version: "1.0.0"
- packaging: "jar"
- source-directory: "src/main/java"
- resources-directory: "src/main/resources"
- test-directory: "src/test/java"
- test-resources-directory: "src/test/resources"
- name: Dependencies
description: Maven dependencies and Spring Boot starters
fields:
- spring-boot-starter-web: "Spring Boot Web Starter"
- spring-boot-starter-data-jpa: "Spring Boot Data JPA Starter"
- spring-boot-starter-security: "Spring Boot Security Starter"
- spring-boot-starter-test: "Spring Boot Test Starter"
- spring-boot-starter-actuator: "Spring Boot Actuator Starter"
- springdoc-openapi: "OpenAPI 3 Documentation"
- springdoc-openapi-ui: "OpenAPI 3 UI"
- mysql-connector-java: "MySQL Connector"
- h2-database: "H2 Database (for testing)"
- name: API Configuration
description: REST API setup and configuration
fields:
- api-version: "v1"
- api-base-path: "/api/v1"
- api-documentation-path: "/swagger-ui.html"
- api-json-path: "/v3/api-docs"
- cors-origins: "http://localhost:3000"
- cors-methods: "GET,POST,PUT,DELETE,OPTIONS"
- cors-headers: "*"
- name: Database Configuration
description: Database setup and configuration
fields:
- database-type: "MySQL"
- database-host: "localhost"
- database-port: "3306"
- database-name: "java_api_app"
- database-username: "api_user"
- database-password: "api_password"
- jpa-hibernate-ddl-auto: "update"
- jpa-show-sql: "true"
- name: Security Configuration
description: API security setup and configuration
fields:
- security-strategy: "JWT Authentication"
- jwt-secret: "jwt-secret-key"
- jwt-expiration: "86400000"
- password-encoding: "BCrypt"
- cors-configuration: "Configured"
- security-headers: "Configured"
- name: AWS Configuration
description: AWS cloud platform configuration
fields:
- aws-region: "us-east-1"
- aws-vpc-id: "vpc-xxxxxxxxx"
- aws-subnet-ids: "subnet-xxxxxxxxx,subnet-yyyyyyyyy"
- aws-security-group: "sg-xxxxxxxxx"
- aws-rds-instance: "java-api-app-db"
- aws-api-gateway: "java-api-app-gateway"
- aws-cloudwatch-log-group: "java-api-app-logs"
output-format: markdown
template-structure: |
# Java API Project: {{project-name}}
## Project Overview
- **Project Name**: {{project-name}}
- **Description**: {{project-description}}
- **Java Version**: {{java-version}}
- **Spring Boot Version**: {{spring-boot-version}}
- **Maven Version**: {{maven-version}}
- **AWS Region**: {{aws-region}}
- **AWS Environment**: {{aws-environment}}
## Project Structure
```
{{artifact-id}}/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── {{group-id}}/
│ │ │ ├── {{artifact-id}}/
│ │ │ │ ├── Application.java
│ │ │ │ ├── config/
│ │ │ │ ├── controller/
│ │ │ │ ├── service/
│ │ │ │ ├── repository/
│ │ │ │ ├── entity/
│ │ │ │ ├── dto/
│ │ │ │ ├── security/
│ │ │ │ └── exception/
│ │ │ └── resources/
│ │ │ ├── application.yml
│ │ │ ├── application-dev.yml
│ │ │ ├── application-prod.yml
│ │ │ └── static/
│ │ └── resources/
│ │ ├── application.yml
│ │ └── static/
│ └── test/
│ ├── java/
│ └── resources/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
└── README.md
```
## Dependencies
- **Spring Boot Web Starter**: {{spring-boot-starter-web}}
- **Spring Boot Data JPA Starter**: {{spring-boot-starter-data-jpa}}
- **Spring Boot Security Starter**: {{spring-boot-starter-security}}
- **Spring Boot Test Starter**: {{spring-boot-starter-test}}
- **Spring Boot Actuator Starter**: {{spring-boot-starter-actuator}}
- **SpringDoc OpenAPI**: {{springdoc-openapi}}
- **SpringDoc OpenAPI UI**: {{springdoc-openapi-ui}}
- **MySQL Connector**: {{mysql-connector-java}}
- **H2 Database**: {{h2-database}}
## API Configuration
- **API Version**: {{api-version}}
- **API Base Path**: {{api-base-path}}
- **API Documentation Path**: {{api-documentation-path}}
- **API JSON Path**: {{api-json-path}}
- **CORS Origins**: {{cors-origins}}
- **CORS Methods**: {{cors-methods}}
- **CORS Headers**: {{cors-headers}}
## Database Configuration
- **Database Type**: {{database-type}}
- **Host**: {{database-host}}
- **Port**: {{database-port}}
- **Database Name**: {{database-name}}
- **Username**: {{database-username}}
- **Password**: {{database-password}}
- **JPA Hibernate DDL Auto**: {{jpa-hibernate-ddl-auto}}
- **JPA Show SQL**: {{jpa-show-sql}}
## Security Configuration
- **Security Strategy**: {{security-strategy}}
- **JWT Secret**: {{jwt-secret}}
- **JWT Expiration**: {{jwt-expiration}}
- **Password Encoding**: {{password-encoding}}
- **CORS Configuration**: {{cors-configuration}}
- **Security Headers**: {{security-headers}}
## AWS Configuration
- **AWS Region**: {{aws-region}}
- **VPC ID**: {{aws-vpc-id}}
- **Subnet IDs**: {{aws-subnet-ids}}
- **Security Group**: {{aws-security-group}}
- **RDS Instance**: {{aws-rds-instance}}
- **API Gateway**: {{aws-api-gateway}}
- **CloudWatch Log Group**: {{aws-cloudwatch-log-group}}

View File

@ -0,0 +1,204 @@
# <!-- Powered by BMAD™ Core -->
name: java-microservice-tmpl
version: 1.0.0
title: Java Microservice Template
description: >-
Comprehensive template for Java microservice projects using Java 21,
Spring Boot, Spring Cloud, Maven, and AWS cloud platform. Includes
microservice architecture, service discovery, and deployment templates.
sections:
- name: Project Overview
description: Basic project information and configuration
fields:
- project-name: "Java Microservice"
- project-description: "Modern Java microservice with Spring Boot and Spring Cloud"
- java-version: "21"
- spring-boot-version: "3.2.x"
- spring-cloud-version: "2023.0.0"
- maven-version: "3.9.x"
- aws-region: "us-east-1"
- aws-environment: "dev"
- name: Project Structure
description: Maven project structure and organization
fields:
- group-id: "com.company.project"
- artifact-id: "java-microservice"
- version: "1.0.0"
- packaging: "jar"
- source-directory: "src/main/java"
- resources-directory: "src/main/resources"
- test-directory: "src/test/java"
- test-resources-directory: "src/test/resources"
- name: Dependencies
description: Maven dependencies and Spring Boot/Cloud starters
fields:
- spring-boot-starter-web: "Spring Boot Web Starter"
- spring-boot-starter-data-jpa: "Spring Boot Data JPA Starter"
- spring-boot-starter-security: "Spring Boot Security Starter"
- spring-boot-starter-test: "Spring Boot Test Starter"
- spring-boot-starter-actuator: "Spring Boot Actuator Starter"
- spring-cloud-starter-netflix-eureka-client: "Eureka Client"
- spring-cloud-starter-netflix-eureka-server: "Eureka Server"
- spring-cloud-starter-gateway: "Spring Cloud Gateway"
- spring-cloud-starter-config: "Spring Cloud Config"
- spring-cloud-starter-sleuth: "Spring Cloud Sleuth"
- resilience4j-spring-boot2: "Resilience4j Circuit Breaker"
- mysql-connector-java: "MySQL Connector"
- h2-database: "H2 Database (for testing)"
- name: Service Configuration
description: Microservice setup and configuration
fields:
- service-name: "java-microservice"
- service-port: "8080"
- service-discovery-url: "http://localhost:8761"
- config-server-url: "http://localhost:8888"
- api-gateway-url: "http://localhost:8080"
- circuit-breaker-enabled: "true"
- retry-enabled: "true"
- timeout-enabled: "true"
- name: Database Configuration
description: Database setup and configuration
fields:
- database-type: "MySQL"
- database-host: "localhost"
- database-port: "3306"
- database-name: "java_microservice"
- database-username: "microservice_user"
- database-password: "microservice_password"
- jpa-hibernate-ddl-auto: "update"
- jpa-show-sql: "true"
- name: Security Configuration
description: Microservice security setup and configuration
fields:
- security-strategy: "JWT Authentication"
- jwt-secret: "jwt-secret-key"
- jwt-expiration: "86400000"
- password-encoding: "BCrypt"
- service-to-service-auth: "JWT"
- cors-configuration: "Configured"
- security-headers: "Configured"
- name: AWS Configuration
description: AWS cloud platform configuration
fields:
- aws-region: "us-east-1"
- aws-vpc-id: "vpc-xxxxxxxxx"
- aws-subnet-ids: "subnet-xxxxxxxxx,subnet-yyyyyyyyy"
- aws-security-group: "sg-xxxxxxxxx"
- aws-eks-cluster: "java-microservice-cluster"
- aws-ecr-repository: "java-microservice"
- aws-rds-instance: "java-microservice-db"
- aws-cloudwatch-log-group: "java-microservice-logs"
output-format: markdown
template-structure: |
# Java Microservice: {{project-name}}
## Project Overview
- **Project Name**: {{project-name}}
- **Description**: {{project-description}}
- **Java Version**: {{java-version}}
- **Spring Boot Version**: {{spring-boot-version}}
- **Spring Cloud Version**: {{spring-cloud-version}}
- **Maven Version**: {{maven-version}}
- **AWS Region**: {{aws-region}}
- **AWS Environment**: {{aws-environment}}
## Project Structure
```
{{artifact-id}}/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── {{group-id}}/
│ │ │ ├── {{artifact-id}}/
│ │ │ │ ├── Application.java
│ │ │ │ ├── config/
│ │ │ │ ├── controller/
│ │ │ │ ├── service/
│ │ │ │ ├── repository/
│ │ │ │ ├── entity/
│ │ │ │ ├── dto/
│ │ │ │ ├── security/
│ │ │ │ ├── exception/
│ │ │ │ └── client/
│ │ │ └── resources/
│ │ │ ├── application.yml
│ │ │ ├── application-dev.yml
│ │ │ ├── application-prod.yml
│ │ │ └── bootstrap.yml
│ │ └── resources/
│ │ ├── application.yml
│ │ └── bootstrap.yml
│ └── test/
│ ├── java/
│ └── resources/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── kubernetes/
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── configmap.yaml
│ └── secret.yaml
└── README.md
```
## Dependencies
- **Spring Boot Web Starter**: {{spring-boot-starter-web}}
- **Spring Boot Data JPA Starter**: {{spring-boot-starter-data-jpa}}
- **Spring Boot Security Starter**: {{spring-boot-starter-security}}
- **Spring Boot Test Starter**: {{spring-boot-starter-test}}
- **Spring Boot Actuator Starter**: {{spring-boot-starter-actuator}}
- **Spring Cloud Eureka Client**: {{spring-cloud-starter-netflix-eureka-client}}
- **Spring Cloud Eureka Server**: {{spring-cloud-starter-netflix-eureka-server}}
- **Spring Cloud Gateway**: {{spring-cloud-starter-gateway}}
- **Spring Cloud Config**: {{spring-cloud-starter-config}}
- **Spring Cloud Sleuth**: {{spring-cloud-starter-sleuth}}
- **Resilience4j**: {{resilience4j-spring-boot2}}
- **MySQL Connector**: {{mysql-connector-java}}
- **H2 Database**: {{h2-database}}
## Service Configuration
- **Service Name**: {{service-name}}
- **Service Port**: {{service-port}}
- **Service Discovery URL**: {{service-discovery-url}}
- **Config Server URL**: {{config-server-url}}
- **API Gateway URL**: {{api-gateway-url}}
- **Circuit Breaker Enabled**: {{circuit-breaker-enabled}}
- **Retry Enabled**: {{retry-enabled}}
- **Timeout Enabled**: {{timeout-enabled}}
## Database Configuration
- **Database Type**: {{database-type}}
- **Host**: {{database-host}}
- **Port**: {{database-port}}
- **Database Name**: {{database-name}}
- **Username**: {{database-username}}
- **Password**: {{database-password}}
- **JPA Hibernate DDL Auto**: {{jpa-hibernate-ddl-auto}}
- **JPA Show SQL**: {{jpa-show-sql}}
## Security Configuration
- **Security Strategy**: {{security-strategy}}
- **JWT Secret**: {{jwt-secret}}
- **JWT Expiration**: {{jwt-expiration}}
- **Password Encoding**: {{password-encoding}}
- **Service-to-Service Auth**: {{service-to-service-auth}}
- **CORS Configuration**: {{cors-configuration}}
- **Security Headers**: {{security-headers}}
## AWS Configuration
- **AWS Region**: {{aws-region}}
- **VPC ID**: {{aws-vpc-id}}
- **Subnet IDs**: {{aws-subnet-ids}}
- **Security Group**: {{aws-security-group}}
- **EKS Cluster**: {{aws-eks-cluster}}
- **ECR Repository**: {{aws-ecr-repository}}
- **RDS Instance**: {{aws-rds-instance}}
- **CloudWatch Log Group**: {{aws-cloudwatch-log-group}}

View File

@ -0,0 +1,126 @@
# <!-- Powered by BMAD™ Core -->
name: java-version-upgrade-tmpl
version: 1.0.0
title: Java Version Upgrade Template
description: >-
Comprehensive template for Java version upgrade projects from older versions
to Java 21. Includes upgrade planning, dependency analysis, code modernization,
and deployment templates.
sections:
- name: Upgrade Overview
description: Basic upgrade information and configuration
fields:
- project-name: "Java Version Upgrade"
- current-java-version: "8"
- target-java-version: "21"
- upgrade-strategy: "Incremental Migration"
- upgrade-timeline: "3 months"
- risk-level: "Medium"
- rollback-plan: "Available"
- name: Current State Analysis
description: Current application state and dependencies
fields:
- application-type: "Web Application"
- framework-version: "Spring Boot 2.x"
- build-system: "Maven"
- database-type: "MySQL"
- application-server: "Tomcat"
- deployment-environment: "On-premise"
- team-size: "5 developers"
- name: Dependency Analysis
description: Dependencies and compatibility assessment
fields:
- total-dependencies: "25"
- incompatible-dependencies: "3"
- security-vulnerabilities: "5"
- deprecated-apis: "8"
- framework-upgrades-needed: "Spring Boot 2.x → 3.x"
- database-driver-upgrade: "Required"
- testing-framework-upgrade: "JUnit 4 → JUnit 5"
- name: Code Modernization
description: Code updates and modernization requirements
fields:
- java-21-features-adoption: "Pattern Matching, Records, Text Blocks"
- deprecated-api-replacement: "Required"
- performance-optimizations: "JVM tuning, GC optimization"
- security-improvements: "Updated security libraries"
- code-quality-improvements: "Modern Java patterns"
- testing-updates: "JUnit 5 migration"
- name: Testing Strategy
description: Testing approach and validation
fields:
- unit-testing: "JUnit 5 with comprehensive coverage"
- integration-testing: "Spring Boot Test with TestContainers"
- performance-testing: "JMH benchmarks and load testing"
- security-testing: "OWASP dependency check and security scan"
- compatibility-testing: "Cross-platform testing"
- regression-testing: "Full application testing"
- name: Deployment Strategy
description: Deployment approach and infrastructure
fields:
- deployment-approach: "Blue-Green Deployment"
- aws-infrastructure: "ECS with Fargate"
- containerization: "Docker with Java 21 base image"
- monitoring: "CloudWatch with custom metrics"
- rollback-strategy: "Automated rollback on failure"
- performance-monitoring: "APM with New Relic"
output-format: markdown
template-structure: |
# Java Version Upgrade: {{project-name}}
## Upgrade Overview
- **Project Name**: {{project-name}}
- **Current Java Version**: {{current-java-version}}
- **Target Java Version**: {{target-java-version}}
- **Upgrade Strategy**: {{upgrade-strategy}}
- **Upgrade Timeline**: {{upgrade-timeline}}
- **Risk Level**: {{risk-level}}
- **Rollback Plan**: {{rollback-plan}}
## Current State Analysis
- **Application Type**: {{application-type}}
- **Framework Version**: {{framework-version}}
- **Build System**: {{build-system}}
- **Database Type**: {{database-type}}
- **Application Server**: {{application-server}}
- **Deployment Environment**: {{deployment-environment}}
- **Team Size**: {{team-size}}
## Dependency Analysis
- **Total Dependencies**: {{total-dependencies}}
- **Incompatible Dependencies**: {{incompatible-dependencies}}
- **Security Vulnerabilities**: {{security-vulnerabilities}}
- **Deprecated APIs**: {{deprecated-apis}}
- **Framework Upgrades Needed**: {{framework-upgrades-needed}}
- **Database Driver Upgrade**: {{database-driver-upgrade}}
- **Testing Framework Upgrade**: {{testing-framework-upgrade}}
## Code Modernization
- **Java 21 Features Adoption**: {{java-21-features-adoption}}
- **Deprecated API Replacement**: {{deprecated-api-replacement}}
- **Performance Optimizations**: {{performance-optimizations}}
- **Security Improvements**: {{security-improvements}}
- **Code Quality Improvements**: {{code-quality-improvements}}
- **Testing Updates**: {{testing-updates}}
## Testing Strategy
- **Unit Testing**: {{unit-testing}}
- **Integration Testing**: {{integration-testing}}
- **Performance Testing**: {{performance-testing}}
- **Security Testing**: {{security-testing}}
- **Compatibility Testing**: {{compatibility-testing}}
- **Regression Testing**: {{regression-testing}}
## Deployment Strategy
- **Deployment Approach**: {{deployment-approach}}
- **AWS Infrastructure**: {{aws-infrastructure}}
- **Containerization**: {{containerization}}
- **Monitoring**: {{monitoring}}
- **Rollback Strategy**: {{rollback-strategy}}
- **Performance Monitoring**: {{performance-monitoring}}

View File

@ -0,0 +1,159 @@
# <!-- Powered by BMAD™ Core -->
name: java-web-project-tmpl
version: 1.0.0
title: Java Web Project Template
description: >-
Comprehensive template for Java web application projects using Java 21,
Spring Boot MVC, Maven, and AWS cloud platform. Includes project structure,
configuration, and deployment templates.
sections:
- name: Project Overview
description: Basic project information and configuration
fields:
- project-name: "Java Web Application"
- project-description: "Modern Java web application with Spring Boot MVC"
- java-version: "21"
- spring-boot-version: "3.2.x"
- maven-version: "3.9.x"
- aws-region: "us-east-1"
- aws-environment: "dev"
- name: Project Structure
description: Maven project structure and organization
fields:
- group-id: "com.company.project"
- artifact-id: "java-web-app"
- version: "1.0.0"
- packaging: "jar"
- source-directory: "src/main/java"
- resources-directory: "src/main/resources"
- test-directory: "src/test/java"
- test-resources-directory: "src/test/resources"
- name: Dependencies
description: Maven dependencies and Spring Boot starters
fields:
- spring-boot-starter-web: "Spring Boot Web Starter"
- spring-boot-starter-data-jpa: "Spring Boot Data JPA Starter"
- spring-boot-starter-security: "Spring Boot Security Starter"
- spring-boot-starter-thymeleaf: "Spring Boot Thymeleaf Starter"
- spring-boot-starter-test: "Spring Boot Test Starter"
- spring-boot-starter-actuator: "Spring Boot Actuator Starter"
- mysql-connector-java: "MySQL Connector"
- h2-database: "H2 Database (for testing)"
- name: Database Configuration
description: Database setup and configuration
fields:
- database-type: "MySQL"
- database-host: "localhost"
- database-port: "3306"
- database-name: "java_web_app"
- database-username: "app_user"
- database-password: "app_password"
- jpa-hibernate-ddl-auto: "update"
- jpa-show-sql: "true"
- name: Security Configuration
description: Spring Security setup and configuration
fields:
- security-strategy: "Form-based authentication"
- password-encoding: "BCrypt"
- session-management: "Stateless"
- csrf-protection: "Enabled"
- cors-configuration: "Configured"
- security-headers: "Configured"
- name: AWS Configuration
description: AWS cloud platform configuration
fields:
- aws-region: "us-east-1"
- aws-vpc-id: "vpc-xxxxxxxxx"
- aws-subnet-ids: "subnet-xxxxxxxxx,subnet-yyyyyyyyy"
- aws-security-group: "sg-xxxxxxxxx"
- aws-rds-instance: "java-web-app-db"
- aws-s3-bucket: "java-web-app-assets"
- aws-cloudwatch-log-group: "java-web-app-logs"
output-format: markdown
template-structure: |
# Java Web Project: {{project-name}}
## Project Overview
- **Project Name**: {{project-name}}
- **Description**: {{project-description}}
- **Java Version**: {{java-version}}
- **Spring Boot Version**: {{spring-boot-version}}
- **Maven Version**: {{maven-version}}
- **AWS Region**: {{aws-region}}
- **AWS Environment**: {{aws-environment}}
## Project Structure
```
{{artifact-id}}/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── {{group-id}}/
│ │ │ ├── {{artifact-id}}/
│ │ │ │ ├── Application.java
│ │ │ │ ├── config/
│ │ │ │ ├── controller/
│ │ │ │ ├── service/
│ │ │ │ ├── repository/
│ │ │ │ ├── entity/
│ │ │ │ └── security/
│ │ │ └── resources/
│ │ │ ├── application.yml
│ │ │ ├── application-dev.yml
│ │ │ ├── application-prod.yml
│ │ │ └── static/
│ │ └── resources/
│ │ ├── templates/
│ │ ├── static/
│ │ └── application.yml
│ └── test/
│ ├── java/
│ └── resources/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
└── README.md
```
## Dependencies
- **Spring Boot Web Starter**: {{spring-boot-starter-web}}
- **Spring Boot Data JPA Starter**: {{spring-boot-starter-data-jpa}}
- **Spring Boot Security Starter**: {{spring-boot-starter-security}}
- **Spring Boot Thymeleaf Starter**: {{spring-boot-starter-thymeleaf}}
- **Spring Boot Test Starter**: {{spring-boot-starter-test}}
- **Spring Boot Actuator Starter**: {{spring-boot-starter-actuator}}
- **MySQL Connector**: {{mysql-connector-java}}
- **H2 Database**: {{h2-database}}
## Database Configuration
- **Database Type**: {{database-type}}
- **Host**: {{database-host}}
- **Port**: {{database-port}}
- **Database Name**: {{database-name}}
- **Username**: {{database-username}}
- **Password**: {{database-password}}
- **JPA Hibernate DDL Auto**: {{jpa-hibernate-ddl-auto}}
- **JPA Show SQL**: {{jpa-show-sql}}
## Security Configuration
- **Security Strategy**: {{security-strategy}}
- **Password Encoding**: {{password-encoding}}
- **Session Management**: {{session-management}}
- **CSRF Protection**: {{csrf-protection}}
- **CORS Configuration**: {{cors-configuration}}
- **Security Headers**: {{security-headers}}
## AWS Configuration
- **AWS Region**: {{aws-region}}
- **VPC ID**: {{aws-vpc-id}}
- **Subnet IDs**: {{aws-subnet-ids}}
- **Security Group**: {{aws-security-group}}
- **RDS Instance**: {{aws-rds-instance}}
- **S3 Bucket**: {{aws-s3-bucket}}
- **CloudWatch Log Group**: {{aws-cloudwatch-log-group}}

View File

@ -0,0 +1,128 @@
# <!-- Powered by BMAD™ Core -->
name: maven-migration-tmpl
version: 1.0.0
title: Maven Migration Template
description: >-
Comprehensive template for Maven migration projects from older build systems
(Ant, Gradle, Ivy) to Maven. Includes migration planning, dependency management,
build automation, and CI/CD integration templates.
sections:
- name: Migration Overview
description: Basic migration information and configuration
fields:
- project-name: "Maven Migration"
- current-build-system: "Ant"
- target-build-system: "Maven"
- migration-strategy: "Gradual Migration"
- migration-timeline: "2 months"
- risk-level: "Low"
- rollback-plan: "Available"
- name: Current Build System Analysis
description: Current build system state and configuration
fields:
- build-scripts: "build.xml"
- dependency-management: "Manual JAR management"
- build-profiles: "None"
- ci-cd-integration: "Jenkins with Ant"
- team-expertise: "Limited Maven experience"
- build-performance: "Slow builds"
- dependency-conflicts: "Manual resolution"
- name: Maven Configuration
description: Maven setup and configuration
fields:
- maven-version: "3.9.x"
- java-version: "21"
- group-id: "com.company.project"
- artifact-id: "maven-migration-project"
- version: "1.0.0"
- packaging: "jar"
- parent-pom: "Spring Boot Parent"
- name: Dependency Migration
description: Dependency management and migration
fields:
- total-dependencies: "30"
- maven-central-dependencies: "25"
- private-repository-dependencies: "5"
- dependency-conflicts: "2"
- transitive-dependencies: "150"
- dependency-scopes: "compile, test, provided"
- dependency-management: "BOM usage"
- name: Build Automation
description: Build automation and CI/CD integration
fields:
- maven-plugins: "Compiler, Surefire, Failsafe, Spring Boot"
- build-profiles: "dev, test, prod"
- ci-cd-platform: "Jenkins"
- build-triggers: "Git push, scheduled builds"
- artifact-publishing: "Nexus Repository"
- deployment-automation: "AWS CodeDeploy"
- name: AWS Integration
description: AWS services integration with Maven
fields:
- aws-codebuild: "Maven build configuration"
- aws-codepipeline: "Maven integration"
- aws-artifacts: "S3 artifact storage"
- aws-deployment: "ECS deployment"
- aws-monitoring: "CloudWatch integration"
- aws-security: "IAM roles and policies"
output-format: markdown
template-structure: |
# Maven Migration: {{project-name}}
## Migration Overview
- **Project Name**: {{project-name}}
- **Current Build System**: {{current-build-system}}
- **Target Build System**: {{target-build-system}}
- **Migration Strategy**: {{migration-strategy}}
- **Migration Timeline**: {{migration-timeline}}
- **Risk Level**: {{risk-level}}
- **Rollback Plan**: {{rollback-plan}}
## Current Build System Analysis
- **Build Scripts**: {{build-scripts}}
- **Dependency Management**: {{dependency-management}}
- **Build Profiles**: {{build-profiles}}
- **CI/CD Integration**: {{ci-cd-integration}}
- **Team Expertise**: {{team-expertise}}
- **Build Performance**: {{build-performance}}
- **Dependency Conflicts**: {{dependency-conflicts}}
## Maven Configuration
- **Maven Version**: {{maven-version}}
- **Java Version**: {{java-version}}
- **Group ID**: {{group-id}}
- **Artifact ID**: {{artifact-id}}
- **Version**: {{version}}
- **Packaging**: {{packaging}}
- **Parent POM**: {{parent-pom}}
## Dependency Migration
- **Total Dependencies**: {{total-dependencies}}
- **Maven Central Dependencies**: {{maven-central-dependencies}}
- **Private Repository Dependencies**: {{private-repository-dependencies}}
- **Dependency Conflicts**: {{dependency-conflicts}}
- **Transitive Dependencies**: {{transitive-dependencies}}
- **Dependency Scopes**: {{dependency-scopes}}
- **Dependency Management**: {{dependency-management}}
## Build Automation
- **Maven Plugins**: {{maven-plugins}}
- **Build Profiles**: {{build-profiles}}
- **CI/CD Platform**: {{ci-cd-platform}}
- **Build Triggers**: {{build-triggers}}
- **Artifact Publishing**: {{artifact-publishing}}
- **Deployment Automation**: {{deployment-automation}}
## AWS Integration
- **AWS CodeBuild**: {{aws-codebuild}}
- **AWS CodePipeline**: {{aws-codepipeline}}
- **AWS Artifacts**: {{aws-artifacts}}
- **AWS Deployment**: {{aws-deployment}}
- **AWS Monitoring**: {{aws-monitoring}}
- **AWS Security**: {{aws-security}}

View File

@ -0,0 +1,130 @@
# <!-- Powered by BMAD™ Core -->
name: application-server-to-container
version: 1.0.0
title: Application Server to Container Migration
description: >-
Complete workflow for migrating Java applications from traditional application
servers (WebLogic, JBoss, Tomcat) to containerized deployment using Docker
and AWS cloud platform. Covers containerization, orchestration, and cloud-native deployment.
phases:
- name: Application Server Assessment
description: Analyze current application server and containerization requirements
tasks:
- application-server-analysis
- containerization-feasibility-assessment
- migration-strategy-planning
- aws-container-platform-selection
agent: java-architect
deliverables:
- Application Server Analysis Report
- Containerization Feasibility Assessment
- Migration Strategy Document
- AWS Container Platform Selection
- name: Application Modernization
description: Modernize application for containerized deployment
tasks:
- application-server-dependency-removal
- spring-boot-embedded-server-setup
- configuration-externalization
- stateless-application-preparation
agent: spring-boot-developer
deliverables:
- Application Server Dependencies Removed
- Spring Boot Embedded Server Setup
- Externalized Configuration
- Stateless Application Preparation
- name: Containerization
description: Create Docker containers for application deployment
tasks:
- dockerfile-creation
- docker-image-optimization
- multi-stage-build-setup
- container-security-hardening
agent: aws-cloud-engineer
deliverables:
- Dockerfile Configuration
- Optimized Docker Images
- Multi-stage Build Setup
- Container Security Configuration
- name: Orchestration Setup
description: Set up container orchestration and management
tasks:
- kubernetes-manifest-creation
- aws-eks-cluster-setup
- service-deployment-configuration
- load-balancing-setup
agent: aws-cloud-engineer
deliverables:
- Kubernetes Manifests
- AWS EKS Cluster Setup
- Service Deployment Configuration
- Load Balancing Setup
- name: Cloud Deployment
description: Deploy containerized application to AWS cloud
tasks:
- aws-container-registry-setup
- aws-deployment-automation
- monitoring-and-logging-setup
- backup-and-disaster-recovery
agent: aws-cloud-engineer
deliverables:
- AWS Container Registry Setup
- AWS Deployment Automation
- Monitoring and Logging Configuration
- Backup and Disaster Recovery Setup
decision-points:
- name: Container Platform
description: Choose container orchestration platform
options:
- AWS EKS (Kubernetes)
- AWS ECS (Container Service)
- AWS Fargate (Serverless Containers)
- Docker Swarm
criteria:
- Application complexity
- Team expertise
- Cost considerations
- AWS integration preferences
- name: Application Server Migration
description: Select application server migration approach
options:
- Direct Spring Boot Migration
- Gradual Migration with Compatibility Layer
- Complete Rewrite
- Hybrid Approach
criteria:
- Application complexity
- Business continuity requirements
- Risk tolerance
- Available resources
- name: Deployment Strategy
description: Choose deployment strategy for containers
options:
- Blue-Green Deployment
- Rolling Deployment
- Canary Deployment
- A/B Testing Deployment
criteria:
- Application criticality
- Downtime tolerance
- Risk tolerance
- Monitoring capabilities
success-criteria:
- Application successfully migrated from application server to containers
- Docker containers created and optimized
- Container orchestration platform configured
- Application deployed to AWS cloud platform
- Monitoring and logging configured
- Backup and disaster recovery implemented
- Performance maintained or improved
- Security requirements met
- Documentation updated with container procedures
- Team trained on container and cloud practices

View File

@ -0,0 +1,127 @@
# <!-- Powered by BMAD™ Core -->
name: build-system-modernization
version: 1.0.0
title: Build System Modernization
description: >-
Complete workflow for modernizing Java project build systems to Maven.
Covers build system migration, dependency management, build automation,
and CI/CD integration for modern Java development practices.
phases:
- name: Build System Assessment
description: Analyze current build system and Maven migration requirements
tasks:
- current-build-system-analysis
- maven-migration-planning
- dependency-mapping
- build-automation-assessment
agent: java-architect
deliverables:
- Current Build System Analysis
- Maven Migration Plan
- Dependency Mapping Document
- Build Automation Assessment
- name: Maven Project Setup
description: Initialize Maven project structure and configuration
tasks:
- maven-project-structure-setup
- pom-xml-configuration
- maven-plugin-configuration
- build-profile-setup
agent: spring-boot-developer
deliverables:
- Maven Project Structure
- POM.xml Configuration
- Maven Plugin Setup
- Build Profile Configuration
- name: Dependency Migration
description: Migrate dependencies to Maven dependency management
tasks:
- dependency-migration-to-maven
- maven-repository-configuration
- dependency-version-management
- transitive-dependency-resolution
agent: spring-boot-developer
deliverables:
- Maven Dependency Configuration
- Repository Configuration
- Dependency Version Management
- Transitive Dependency Resolution
- name: Build Automation
description: Implement Maven build automation and CI/CD integration
tasks:
- maven-build-automation
- ci-cd-pipeline-setup
- automated-testing-integration
- build-artifact-management
agent: spring-boot-developer
deliverables:
- Maven Build Automation
- CI/CD Pipeline Configuration
- Automated Testing Integration
- Build Artifact Management
- name: AWS Integration
description: Integrate Maven build with AWS services
tasks:
- aws-codebuild-integration
- aws-artifacts-storage
- aws-deployment-automation
- aws-monitoring-setup
agent: aws-cloud-engineer
deliverables:
- AWS CodeBuild Integration
- AWS Artifacts Storage
- AWS Deployment Automation
- AWS Monitoring Setup
decision-points:
- name: Maven Version
description: Choose Maven version for migration
options:
- Maven 3.8.x (Stable)
- Maven 3.9.x (Latest Stable)
- Maven 3.10.x (Latest)
criteria:
- Java version compatibility
- Feature requirements
- Stability requirements
- Team expertise
- name: Repository Strategy
description: Select Maven repository approach
options:
- Maven Central Only
- Private Maven Repository
- AWS CodeArtifact
- Hybrid Repository Strategy
criteria:
- Dependency requirements
- Security requirements
- Cost considerations
- AWS integration preferences
- name: CI/CD Platform
description: Choose CI/CD platform for Maven integration
options:
- GitHub Actions
- AWS CodePipeline
- Jenkins
- GitLab CI
criteria:
- Platform preferences
- Integration requirements
- Cost considerations
- Team expertise
success-criteria:
- Build system successfully migrated to Maven
- All dependencies managed through Maven
- Build automation working correctly
- CI/CD pipeline integrated with Maven
- AWS services integrated with Maven build
- Build performance optimized
- Documentation updated with Maven procedures
- Team trained on Maven best practices

View File

@ -0,0 +1,131 @@
# <!-- Powered by BMAD™ Core -->
name: cloud-migration
version: 1.0.0
title: Cloud Migration
description: >-
Complete workflow for migrating Java applications to AWS cloud platform.
Covers cloud architecture design, infrastructure migration, application
modernization, and cloud-native deployment strategies.
phases:
- name: Cloud Strategy Planning
description: Define cloud migration strategy and architecture
tasks:
- cloud-migration-assessment
- aws-architecture-design
- migration-strategy-planning
- cost-optimization-planning
agent: java-architect
deliverables:
- Cloud Migration Assessment
- AWS Architecture Design
- Migration Strategy Document
- Cost Optimization Plan
- name: Application Cloud Preparation
description: Prepare application for cloud deployment
tasks:
- cloud-native-patterns-implementation
- configuration-management-setup
- secrets-management-setup
- monitoring-instrumentation
agent: spring-boot-developer
deliverables:
- Cloud-Native Patterns Implementation
- Configuration Management Setup
- Secrets Management Configuration
- Monitoring Instrumentation
- name: AWS Infrastructure Setup
description: Set up AWS infrastructure and services
tasks:
- aws-infrastructure-provisioning
- aws-services-configuration
- networking-setup
- security-configuration
agent: aws-cloud-engineer
deliverables:
- AWS Infrastructure Provisioned
- AWS Services Configured
- Networking Setup
- Security Configuration
- name: Data Migration
description: Migrate data to AWS cloud services
tasks:
- data-migration-planning
- aws-database-setup
- data-migration-execution
- data-validation
agent: aws-cloud-engineer
deliverables:
- Data Migration Plan
- AWS Database Setup
- Data Migration Execution
- Data Validation Report
- name: Application Deployment
description: Deploy application to AWS cloud platform
tasks:
- aws-deployment-automation
- load-balancing-setup
- auto-scaling-configuration
- disaster-recovery-setup
agent: aws-cloud-engineer
deliverables:
- AWS Deployment Automation
- Load Balancing Configuration
- Auto-scaling Setup
- Disaster Recovery Configuration
decision-points:
- name: AWS Database Service
description: Choose AWS database service
options:
- Amazon RDS (Relational)
- Amazon Aurora (MySQL/PostgreSQL)
- Amazon DynamoDB (NoSQL)
- Amazon DocumentDB (MongoDB)
criteria:
- Data requirements
- Performance needs
- Scalability requirements
- Cost considerations
- name: Compute Service
description: Select AWS compute service
options:
- Amazon EC2 (Virtual Machines)
- AWS Lambda (Serverless)
- Amazon ECS (Container Service)
- Amazon EKS (Kubernetes)
criteria:
- Application architecture
- Performance requirements
- Cost optimization
- Operational complexity
- name: Migration Strategy
description: Choose cloud migration approach
options:
- Lift and Shift (Rehost)
- Replatform (Lift and Reshape)
- Refactor (Cloud-Native)
- Hybrid Approach
criteria:
- Application complexity
- Business requirements
- Risk tolerance
- Available resources
success-criteria:
- Application successfully migrated to AWS cloud
- AWS infrastructure properly configured
- Data migration completed successfully
- Application deployed and running on AWS
- Monitoring and observability configured
- Security and compliance requirements met
- Cost optimization implemented
- Disaster recovery and backup configured
- Performance maintained or improved
- Documentation updated with cloud procedures
- Team trained on AWS cloud practices

View File

@ -0,0 +1,142 @@
# <!-- Powered by BMAD™ Core -->
name: java-api-project-greenfield
version: 1.0.0
title: Java API Project - Greenfield
description: >-
Complete workflow for creating new Java REST API applications from scratch using
Java 21, Spring Boot Web, Maven, and AWS cloud platform. Covers API design,
RESTful services, documentation, testing, and cloud deployment.
phases:
- name: API Planning
description: Define REST API requirements and design
tasks:
- api-requirements-analysis
- rest-api-design
- data-model-design
- api-documentation-planning
agent: java-architect
deliverables:
- API Requirements Document
- REST API Design Specification
- Data Model Design
- API Documentation Plan
- name: Project Setup
description: Initialize Java 21 API project with Spring Boot Web and Maven
tasks:
- maven-project-setup
- spring-boot-web-configuration
- java-21-configuration
- api-project-structure
agent: spring-boot-developer
deliverables:
- Maven Project Structure
- Spring Boot Web Configuration
- Java 21 API Project Setup
- API Project Structure
- name: API Development
description: Implement REST API with Spring Boot Web
tasks:
- rest-controller-implementation
- request-response-models
- validation-implementation
- error-handling-setup
agent: spring-boot-developer
deliverables:
- REST Controllers
- Request/Response Models
- Validation Implementation
- Error Handling Setup
- name: Data & Security
description: Implement data persistence and API security
tasks:
- spring-data-jpa-implementation
- database-integration
- api-security-setup
- authentication-authorization
agent: spring-boot-developer
deliverables:
- Spring Data JPA Implementation
- Database Integration
- API Security Configuration
- Authentication & Authorization
- name: Documentation & Testing
description: Implement API documentation and testing
tasks:
- openapi-swagger-setup
- api-documentation-generation
- unit-testing-implementation
- integration-testing-setup
agent: spring-boot-developer
deliverables:
- OpenAPI/Swagger Documentation
- API Documentation
- Unit Test Suite
- Integration Test Suite
- name: AWS Deployment
description: Deploy API to AWS cloud platform
tasks:
- aws-infrastructure-setup
- containerization-setup
- aws-api-gateway-setup
- monitoring-setup
agent: aws-cloud-engineer
deliverables:
- AWS Infrastructure
- Docker Configuration
- AWS API Gateway Setup
- Cloud Monitoring
decision-points:
- name: API Documentation
description: Choose API documentation approach
options:
- OpenAPI 3.0 with Swagger UI
- Spring REST Docs
- Manual Documentation
- AWS API Gateway Documentation
criteria:
- Documentation requirements
- Team preferences
- Integration needs
- Maintenance considerations
- name: Database Strategy
description: Select database approach
options:
- PostgreSQL with Spring Data JPA
- MySQL with Spring Data JPA
- Amazon RDS
- Amazon DynamoDB
criteria:
- Data requirements
- Performance needs
- Scalability requirements
- Cost considerations
- name: Authentication Method
description: Choose API authentication approach
options:
- JWT with Spring Security
- OAuth2 with Spring Security
- AWS Cognito Integration
- API Key Authentication
criteria:
- Security requirements
- Client integration needs
- Scalability requirements
- AWS integration preferences
success-criteria:
- Java 21 REST API successfully created
- Spring Boot Web application running locally
- Complete API documentation generated
- Security and authentication implemented
- Database integration working
- Comprehensive test suite implemented
- API deployed to AWS with monitoring
- Documentation complete and accessible

View File

@ -0,0 +1,141 @@
# <!-- Powered by BMAD™ Core -->
name: java-microservice-greenfield
version: 1.0.0
title: Java Microservice Project - Greenfield
description: >-
Complete workflow for creating new Java microservice applications from scratch using
Java 21, Spring Boot, Spring Cloud, Maven, and AWS cloud platform. Covers microservice
design, service communication, service discovery, and cloud-native deployment.
phases:
- name: Microservice Planning
description: Define microservice architecture and design
tasks:
- microservice-requirements-analysis
- service-boundary-definition
- inter-service-communication-design
- data-ownership-planning
agent: java-architect
deliverables:
- Microservice Requirements Document
- Service Boundary Map
- Inter-Service Communication Design
- Data Ownership Matrix
- name: Infrastructure Setup
description: Set up microservice infrastructure and tooling
tasks:
- spring-cloud-setup
- service-discovery-configuration
- api-gateway-setup
- configuration-management-setup
agent: spring-boot-developer
deliverables:
- Spring Cloud Configuration
- Service Discovery Setup
- API Gateway Configuration
- Configuration Management Setup
- name: Microservice Development
description: Implement individual microservices
tasks:
- microservice-implementation
- rest-api-implementation
- data-persistence-setup
- business-logic-implementation
agent: spring-boot-developer
deliverables:
- Microservice Implementation
- REST API Implementation
- Data Persistence Layer
- Business Logic Implementation
- name: Service Integration
description: Implement inter-service communication and integration
tasks:
- service-communication-implementation
- circuit-breaker-setup
- load-balancing-configuration
- distributed-tracing-setup
agent: spring-boot-developer
deliverables:
- Service Communication Implementation
- Circuit Breaker Configuration
- Load Balancing Setup
- Distributed Tracing Configuration
- name: AWS Cloud Deployment
description: Deploy microservices to AWS cloud platform
tasks:
- aws-microservice-infrastructure
- containerization-setup
- aws-eks-setup
- service-mesh-configuration
agent: aws-cloud-engineer
deliverables:
- AWS Microservice Infrastructure
- Docker Configuration
- AWS EKS Setup
- Service Mesh Configuration
decision-points:
- name: Service Communication Pattern
description: Choose inter-service communication approach
options:
- Synchronous REST APIs
- Asynchronous Message Queues (SQS/SNS)
- Event-Driven Architecture
- GraphQL Federation
criteria:
- Performance requirements
- Data consistency needs
- Team expertise
- AWS service integration
- name: Data Management Strategy
description: Select data management approach
options:
- Database per Service
- Shared Database (Anti-pattern)
- Event Sourcing
- CQRS Pattern
criteria:
- Data consistency requirements
- Service independence needs
- Team expertise
- Complexity tolerance
- name: Service Discovery
description: Choose service discovery mechanism
options:
- Spring Cloud Netflix Eureka
- AWS Service Discovery
- Kubernetes Service Discovery
- Consul Service Discovery
criteria:
- Platform choice
- Team expertise
- Operational complexity
- AWS integration preferences
- name: API Gateway
description: Select API gateway solution
options:
- Spring Cloud Gateway
- AWS API Gateway
- Kong API Gateway
- Zuul API Gateway
criteria:
- Feature requirements
- Performance needs
- Cost considerations
- AWS integration preferences
success-criteria:
- Java 21 microservice architecture successfully implemented
- All microservices communicating properly
- Service discovery and API gateway configured
- Inter-service communication working
- Circuit breaker and resilience patterns implemented
- Microservices deployed to AWS EKS
- Monitoring and observability configured
- Documentation complete and accessible

View File

@ -0,0 +1,127 @@
# <!-- Powered by BMAD™ Core -->
name: java-version-modernization
version: 1.0.0
title: Java Version Modernization
description: >-
Complete workflow for modernizing Java applications from older versions to Java 21.
Covers version upgrade planning, dependency analysis, code modernization,
testing validation, and deployment for Java version migrations.
phases:
- name: Version Assessment
description: Analyze current Java version and upgrade requirements
tasks:
- current-java-version-analysis
- target-java-21-assessment
- compatibility-analysis
- upgrade-impact-assessment
agent: java-architect
deliverables:
- Current Java Version Analysis
- Java 21 Compatibility Assessment
- Upgrade Impact Analysis
- Migration Strategy Document
- name: Dependency Modernization
description: Update dependencies for Java 21 compatibility
tasks:
- dependency-compatibility-check
- maven-dependency-update
- framework-version-upgrade
- security-vulnerability-assessment
agent: spring-boot-developer
deliverables:
- Dependency Compatibility Report
- Updated Maven Dependencies
- Framework Version Upgrades
- Security Assessment Report
- name: Code Modernization
description: Modernize code for Java 21 features and best practices
tasks:
- java-21-features-adoption
- deprecated-api-replacement
- code-pattern-modernization
- performance-optimization
agent: spring-boot-developer
deliverables:
- Java 21 Features Implementation
- Deprecated API Replacements
- Modernized Code Patterns
- Performance Optimizations
- name: Testing & Validation
description: Validate Java 21 upgrade with comprehensive testing
tasks:
- compatibility-testing
- performance-testing
- regression-testing
- security-validation
agent: spring-boot-developer
deliverables:
- Compatibility Test Results
- Performance Test Results
- Regression Test Results
- Security Validation Report
- name: AWS Deployment
description: Deploy modernized application to AWS with Java 21
tasks:
- aws-java-21-infrastructure
- containerization-update
- aws-deployment-validation
- monitoring-setup
agent: aws-cloud-engineer
deliverables:
- AWS Java 21 Infrastructure
- Updated Container Configuration
- AWS Deployment Validation
- Cloud Monitoring Setup
decision-points:
- name: Java Version Target
description: Choose target Java version for upgrade
options:
- Java 17 (LTS - Conservative)
- Java 21 (LTS - Recommended)
- Java 23 (Latest Features)
criteria:
- Long-term support requirements
- Feature requirements
- Team expertise level
- Enterprise policies
- name: Migration Strategy
description: Select migration approach
options:
- Big Bang Migration
- Incremental Migration
- Parallel Run Strategy
- Blue-Green Deployment
criteria:
- Application complexity
- Business continuity requirements
- Risk tolerance
- Available resources
- name: Testing Approach
description: Choose testing strategy for validation
options:
- Comprehensive Test Suite
- Regression Testing Focus
- Performance Testing Priority
- User Acceptance Testing
criteria:
- Application criticality
- Available testing resources
- Quality requirements
- Time constraints
success-criteria:
- Java application successfully upgraded to Java 21
- All dependencies updated and compatible
- Code modernized with Java 21 features
- Comprehensive testing completed
- Performance maintained or improved
- Security vulnerabilities addressed
- Application deployed to AWS successfully
- Documentation updated and complete

View File

@ -0,0 +1,127 @@
# <!-- Powered by BMAD™ Core -->
name: java-web-project-greenfield
version: 1.0.0
title: Java Web Project - Greenfield
description: >-
Complete workflow for creating new Java web applications from scratch using
Java 21, Spring Boot MVC, Maven, and AWS cloud platform. Covers project setup,
web development, security, database integration, and cloud deployment.
phases:
- name: Project Planning
description: Define web application requirements and architecture
tasks:
- web-requirements-analysis
- ui-ux-planning
- database-design
- security-requirements
agent: java-architect
deliverables:
- Web Application Requirements
- UI/UX Design Plan
- Database Schema Design
- Security Requirements Document
- name: Project Setup
description: Initialize Java 21 web project with Spring Boot and Maven
tasks:
- maven-project-setup
- spring-boot-web-configuration
- java-21-configuration
- development-environment-setup
agent: spring-boot-developer
deliverables:
- Maven Project Structure
- Spring Boot Web Configuration
- Java 21 Project Setup
- Development Environment Guide
- name: Web Development
description: Implement web application with Spring Boot MVC
tasks:
- spring-mvc-implementation
- thymeleaf-templates
- static-resources-setup
- form-handling-implementation
agent: spring-boot-developer
deliverables:
- Spring MVC Controllers
- Thymeleaf Templates
- Static Resources
- Form Handling Implementation
- name: Security & Data
description: Implement security and data persistence
tasks:
- spring-security-setup
- spring-data-jpa-implementation
- database-integration
- authentication-authorization
agent: spring-boot-developer
deliverables:
- Spring Security Configuration
- Spring Data JPA Implementation
- Database Integration
- Authentication & Authorization
- name: AWS Deployment
description: Deploy web application to AWS cloud platform
tasks:
- aws-infrastructure-setup
- containerization-setup
- aws-deployment-configuration
- monitoring-setup
agent: aws-cloud-engineer
deliverables:
- AWS Infrastructure
- Docker Configuration
- AWS Deployment Setup
- Cloud Monitoring
decision-points:
- name: Frontend Technology
description: Choose frontend technology approach
options:
- Thymeleaf (Server-side rendering)
- React with Spring Boot API
- Vue.js with Spring Boot API
- Angular with Spring Boot API
criteria:
- Team expertise
- Application complexity
- Performance requirements
- Development timeline
- name: Database Selection
description: Select database technology
options:
- PostgreSQL (Recommended)
- MySQL
- Amazon RDS
- Amazon Aurora
criteria:
- Data requirements
- Performance needs
- Cost considerations
- AWS integration
- name: Authentication Strategy
description: Choose authentication approach
options:
- Spring Security (Form-based)
- OAuth2 with Spring Security
- JWT with Spring Security
- AWS Cognito Integration
criteria:
- Security requirements
- User management needs
- Integration requirements
- Scalability needs
success-criteria:
- Java 21 web application successfully created
- Spring Boot MVC application running locally
- Security and authentication implemented
- Database integration working
- Application deployed to AWS
- Monitoring and logging configured
- Documentation complete