Comprehensive developer toolkit providing reusable skills for Java/Spring Boot, TypeScript/NestJS/React/Next.js, Python, PHP, AWS CloudFormation, AI/RAG, DevOps, and more.
90
90%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Risky
Do not use without reviewing
Plan and execute safe, incremental upgrades of Java project dependencies with minimal risk, proper testing, and clear migration paths for breaking changes.
Manages safe and incremental dependency upgrades for Java/Maven/Gradle projects with breaking change detection and migration guides. Use when upgrading project dependencies or migrating to new library versions.
/devkit.java.upgrade-dependencies $ARGUMENTS$1 specifies the scope (optional - defaults to all):
all - Analyze all dependenciesspring - Focus on Spring Boot and Spring Framework dependenciestesting - Focus on test dependencies (JUnit, Mockito, AssertJ, Testcontainers)security - Prioritize security vulnerabilitiesdirect - Only direct dependencies (not transitive)<groupId:artifactId> - Specific dependency (e.g., org.springframework.boot:spring-boot-starter-web)$2 specifies the strategy (optional - defaults to analyze):
analyze - Analyze and report available updates with risk assessmentplan - Create detailed upgrade plan with incremental stepsmigrate - Generate migration guide for major version upgradesexecute - Execute planned upgrades (requires confirmation)rollback - Create rollback strategy and backup current state$3 specifies target version for specific dependency upgrades (optional):
3.2.0, 5.3.31)latest - Latest stable releaselatest-minor - Latest minor versionlatest-patch - Latest patch versionAgent Selection: To execute this task, use the following agent with fallback:
java-security-expertdeveloper-kit:java-security-expert or fallback to general-purpose agent with
spring-boot-crud-patterns skillls -la | grep -E "(pom\.xml|build\.gradle|build\.gradle\.kts)"if [ -f pom.xml ]; then mvn dependency:tree | head -30; elif [ -f build.gradle ]; then ./gradlew dependencies --configuration compileClasspath | head -30; fiif [ -f pom.xml ]; then mvn versions:display-dependency-updates 2>/dev/null | grep -E "\\->" | head -20; elif [ -f build.gradle ]; then ./gradlew dependencyUpdates 2>/dev/null | grep -E "\\->" | head -20; fiAnalyze current state:
Categorize updates by risk level:
For each major version update:
When upgrading Spring Boot:
When upgrading JUnit:
@Test imports@Before/@After to @BeforeEach/@AfterEach@ExtendWith@RunWith(SpringRunner.class) with @ExtendWith(SpringExtension.class)When upgrading Mockito:
Check peer dependencies:
# Maven: Update all patch versions
mvn versions:use-latest-releases -DallowMajorUpdates=false -DallowMinorUpdates=false
# Gradle: Update patch versions
./gradlew useLatestVersions --update-dependency-locksTesting: Smoke tests + unit tests Risk: Very low Timeline: Same day
# Maven: Update minor versions
mvn versions:use-latest-releases -DallowMajorUpdates=false
# Gradle with version catalog
./gradlew versionCatalogUpdate --no-majorTesting: Full regression suite Risk: Low to medium Timeline: 1-2 days
Individual upgrade with migration:
Testing: Full test suite + manual QA Risk: Medium to high Timeline: 3-7 days per major dependency
# Check Spring Boot compatibility
curl -s https://spring.io/projects/spring-boot | grep -A 5 "supported versions"
# Incremental upgrade path
# Example: 2.7.x → 3.0.x → 3.1.x → 3.2.xTesting: Integration tests with Testcontainers Risk: High Timeline: 1-2 sprints
# Check for updates
mvn versions:display-dependency-updates
# Check for plugin updates
mvn versions:display-plugin-updates
# Security vulnerabilities
mvn org.owasp:dependency-check-maven:check
# Dependency tree
mvn dependency:tree -Dverbose# Update specific dependency
mvn versions:use-dep-version -Dincludes=groupId:artifactId -DdepVersion=1.2.3
# Update all dependencies to latest
mvn versions:use-latest-versions
# Update parent POM
mvn versions:update-parent
# Revert changes if needed
mvn versions:revert# Check for updates (with plugin)
./gradlew dependencyUpdates
# Show dependency tree
./gradlew dependencies --configuration compileClasspath
# Security scan
./gradlew dependencyCheckAnalyze# Update version catalog
./gradlew versionCatalogUpdate
# Refresh dependencies
./gradlew build --refresh-dependencies
# Clean and rebuild
./gradlew clean buildFor each major upgrade, generate:
## Migration: [Dependency] [Old Version] → [New Version]
### Breaking Changes
- API change 1: `oldMethod()` → `newMethod()`
- Removed class: `com.example.OldClass`
- Configuration change: `old.property` → `new.property`
### Migration Steps
#### Step 1: Update Dependency
```xml
<!-- Maven -->
<dependency>
<groupId>group.id</groupId>
<artifactId>artifact-id</artifactId>
<version>NEW_VERSION</version>
</dependency>git revert HEAD
mvn clean install## Post-Upgrade Validation
### Automated Checks
```bash
# Compile
mvn clean compile
./gradlew compileJava
# Run tests
mvn test
./gradlew test
# Integration tests
mvn verify
./gradlew integrationTest
# Code quality
mvn checkstyle:check spotbugs:check
./gradlew check
# Generate dependency report
mvn project-info-reports:dependencies# Git tag before upgrade
git tag -a "pre-upgrade-$(date +%Y%m%d)" -m "Pre-upgrade snapshot"
# Backup POM/Gradle files
cp pom.xml pom.xml.backup
cp build.gradle build.gradle.backup
cp gradle/libs.versions.toml gradle/libs.versions.toml.backup# Restore from backup
git checkout pom.xml build.gradle gradle/libs.versions.toml
# Or revert to tag
git reset --hard pre-upgrade-YYYYMMDD
# Clean rebuild
mvn clean install
./gradlew clean buildCheck Spring Boot Migration Guide
Based on the specified scope and strategy, provide:
Dependency Analysis Report
Prioritized Upgrade Plan
Migration Guides (for major upgrades)
Execution Commands
Timeline & Effort Estimation
Focus on safe, incremental upgrades that maintain system stability while keeping dependencies current and secure. Always provide rollback strategies and comprehensive testing approaches.
/devkit.java.upgrade-dependencies example-inputdocs
plugins
developer-kit-ai
developer-kit-aws
agents
docs
skills
aws
aws-cli-beast
aws-cost-optimization
aws-drawio-architecture-diagrams
aws-sam-bootstrap
aws-cloudformation
aws-cloudformation-auto-scaling
aws-cloudformation-bedrock
aws-cloudformation-cloudfront
aws-cloudformation-cloudwatch
aws-cloudformation-dynamodb
aws-cloudformation-ec2
aws-cloudformation-ecs
aws-cloudformation-elasticache
references
aws-cloudformation-iam
references
aws-cloudformation-lambda
aws-cloudformation-rds
aws-cloudformation-s3
aws-cloudformation-security
aws-cloudformation-task-ecs-deploy-gh
aws-cloudformation-vpc
references
developer-kit-core
agents
commands
skills
developer-kit-devops
developer-kit-java
agents
commands
docs
skills
aws-lambda-java-integration
aws-rds-spring-boot-integration
aws-sdk-java-v2-bedrock
aws-sdk-java-v2-core
aws-sdk-java-v2-dynamodb
aws-sdk-java-v2-kms
aws-sdk-java-v2-lambda
aws-sdk-java-v2-messaging
aws-sdk-java-v2-rds
aws-sdk-java-v2-s3
aws-sdk-java-v2-secrets-manager
clean-architecture
graalvm-native-image
langchain4j-ai-services-patterns
references
langchain4j-mcp-server-patterns
references
langchain4j-rag-implementation-patterns
references
langchain4j-spring-boot-integration
langchain4j-testing-strategies
langchain4j-tool-function-calling-patterns
langchain4j-vector-stores-configuration
references
qdrant
references
spring-ai-mcp-server-patterns
spring-boot-actuator
spring-boot-cache
spring-boot-crud-patterns
spring-boot-dependency-injection
spring-boot-event-driven-patterns
spring-boot-openapi-documentation
spring-boot-project-creator
spring-boot-resilience4j
spring-boot-rest-api-standards
spring-boot-saga-pattern
spring-boot-security-jwt
assets
references
scripts
spring-boot-test-patterns
spring-data-jpa
references
spring-data-neo4j
references
unit-test-application-events
unit-test-bean-validation
unit-test-boundary-conditions
unit-test-caching
unit-test-config-properties
references
unit-test-controller-layer
unit-test-exception-handler
references
unit-test-json-serialization
unit-test-mapper-converter
references
unit-test-parameterized
unit-test-scheduled-async
references
unit-test-service-layer
references
unit-test-utility-methods
unit-test-wiremock-rest-api
references
developer-kit-php
developer-kit-project-management
developer-kit-python
developer-kit-specs
commands
docs
hooks
test-templates
tests
skills
developer-kit-tools
developer-kit-typescript
agents
docs
hooks
rules
skills
aws-cdk
aws-lambda-typescript-integration
better-auth
clean-architecture
drizzle-orm-patterns
dynamodb-toolbox-patterns
references
nestjs
nestjs-best-practices
nestjs-code-review
nestjs-drizzle-crud-generator
nextjs-app-router
nextjs-authentication
nextjs-code-review
nextjs-data-fetching
nextjs-deployment
nextjs-performance
nx-monorepo
react-code-review
react-patterns
shadcn-ui
tailwind-css-patterns
tailwind-design-system
references
turborepo-monorepo
typescript-docs
typescript-security-review
zod-validation-utilities
references
github-spec-kit