Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
21 changes: 11 additions & 10 deletions .github/prompts/maven-upgrade-java-spring-boot.prompt.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
---
name: "maven-upgrade-java-spring-boot"
description: "GitHub copilot prompt to upgrade java and spring-boot"
# argument-hint: "Optional arguments (for example: name=Paul)"
argument-hint: "application-id (required), module-name (optional), java-version (optional), spring-boot-version (optional)"
agent: agent
model: gpt-5.3-codex
tools: ['editFiles']
model: GPT-5.3-Codex (copilot)
tools: ['codebase', 'search', 'editFiles', 'runCommands']
authors: ["paul58914080@gmail.com"]
---

[//]: # (todo: Describe the persona and goal of this prompt)
You are a Maven Java and Spring Boot upgrade automation agent. Your goal is to
validate upgrade inputs, orchestrate a safe and traceable pre-flight and
OpenRewrite execution workflow, and produce run artifacts under a single
timestamped directory per invocation.

## Execution order

[//]: # (todo: Describe the execution order of the prompt, for example: "The agent will first do X, then Y, and finally Z.")
1. Start the skill `.github/skills/maven-upgrade-java-spring-boot/SKILL.md`. Do not block waiting for completion of any scripts. The skill will manage the overall workflow and timing.
2. Once the orchestrator command returns successfully after pre-flight, stop immediately and exit. Do not run any additional commands.

## Hard constraints

[//]: # (todo: Describe the hard constraints of the prompt, for example: "The agent must always do X, and never do Y.")

## Output expectations

[//]: # (todo: Describe the output expectations of the prompt, for example: "The agent should output X, and never output Y.")
1. All scripts must be executed in the context of the root directory.
2. Do not inspect logs, artifacts, process status, or repository status after the orchestrator returns.
Comment on lines +11 to +24
48 changes: 48 additions & 0 deletions .github/skills/maven-upgrade-java-spring-boot/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
name: "maven-upgrade-java-spring-boot"
description: "Skill to upgrade java and spring-boot"
argument-hint: "application-id (required), module-name (optional), java-version (optional), spring-boot-version (optional)"
---

# Maven Upgrade Java Spring Boot Skill

This skill orchestrates Maven-based Java and Spring Boot upgrades with
validated inputs, timestamped run artifacts, and non-blocking OpenRewrite
execution.

## Inputs

- `application-id` (required)
- `module-name` (optional, defaults to `.`)
- `java-version` (optional, defaults to `25`)
- `spring-boot-version` (optional, defaults to `4.0`)
- `timestamp` (optional externally, otherwise computed once by orchestrator in
format `yyyyMMdd-HHmmss`)

## Execution

Run this from the repository root after replacing the placeholders with your actual values:

```bash
bash .github/skills/maven-upgrade-java-spring-boot/scripts/orchestrator.sh \
--application-id "<application-id>" \
--module-name "<module-name>" \
--java-version "<java-version>" \
--spring-boot-version "<spring-boot-version>"
```

## Suggested Invocation

```bash
bash .github/skills/maven-upgrade-java-spring-boot/scripts/orchestrator.sh \
--application-id "my-app" \
--module-name "." \
--java-version "25" \
--spring-boot-version "4.0"
```

## Hard constraints

Strict mode: execute only requested Execution, no extra validation, no assumptions, no follow-up actions without my explicit go-ahead.

Post-execution stop rule: once the orchestrator command returns, exit immediately. Do not run artifact checks, log reads, process polling, or any additional commands unless explicitly requested.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
org.openrewrite.recipe:rewrite-migrate-java:3.36.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
type: specs.openrewrite.org/v1beta/recipe
name: org.cortexaidevkit.java.UpgradeJava17
displayName: Upgrade Java to 17
recipeList:
- org.openrewrite.java.migrate.UpgradeToJava17
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
org.openrewrite.recipe:rewrite-migrate-java:3.36.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
type: specs.openrewrite.org/v1beta/recipe
name: org.cortexaidevkit.java.UpgradeJava21
displayName: Upgrade Java to 21
recipeList:
- org.openrewrite.java.migrate.UpgradeToJava21
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
org.openrewrite.recipe:rewrite-migrate-java:3.36.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
type: specs.openrewrite.org/v1beta/recipe
name: org.cortexaidevkit.java.UpgradeJava25
displayName: Upgrade Java to 25
recipeList:
- org.openrewrite.java.migrate.UpgradeToJava25
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
org.openrewrite.recipe:rewrite-spring:6.32.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
type: specs.openrewrite.org/v1beta/recipe
name: org.cortexaidevkit.spring.boot.UpgradeSpringBoot_4_0
displayName: Migrate to Spring Boot 4.0
recipeList:
- org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0
Comment on lines +3 to +6
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
org.openrewrite.recipe:rewrite-spring:6.32.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
type: specs.openrewrite.org/v1beta/recipe
name: org.cortexaidevkit.spring.boot.UpgradeSpringBoot_4_0
displayName: Migrate to Spring Boot 4.0
recipeList:
- org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0
Loading