| name | axon-ivy-init |
| description | Scaffold a new Axon Ivy project. Asks for project name, group ID, and artifact ID, then generates the project from the bundled template in this skill folder. |
Initialize Axon Ivy Project
Step 1 — Collect inputs
Infer reasonable default values from the user's request context (e.g. feature description, conversation history). Validate that each value contains no spaces. Project name and Artifact ID must use hyphens (e.g. invoice-parser), never PascalCase or underscores.
Present the proposed values in this exact format and wait for the user to confirm or override:
Here are the proposed project settings:
┌─────────────────┬──────────────────────────────┐
│ Field │ Value │
├─────────────────┼──────────────────────────────┤
│ Project name │ <proposed-project-name> │
│ Group ID │ <proposed-group-id> │
│ Artifact ID │ <proposed-artifact-id> │
│ Namespace │ <derived-namespace> │
│ Namespace path │ <derived-namespace-path> │
└─────────────────┴──────────────────────────────┘
Let me know if you'd like to change anything, or confirm to continue.
- Derive
namespace from the project name: hyphens → dots (e.g. my-new-app → my.new.app)
- Derive
namespacePath from the project name: hyphens → slashes (e.g. my-new-app → my/new/app)
- Accept any natural confirmation from the user (e.g. "ok", "looks good", "continue", "yes") to proceed
- If the user requests changes, update the table and re-display it, then wait again
- Generate a random 16-character hex string for
__PROCESS_ID__
Do not write any files until the user confirms.
Step 2 — Read the bundled template
Read every file under .claude/skill/axon-ivy-init/template/ — these are the exact files to create.
Skip src_generated/ and target/ — they are build outputs, not source files.
Step 3 — Scaffold the new project
Create <project-name>/ at the workspace root by copying every template file, applying these substitutions to both file paths and file contents:
| Placeholder | Replace with |
|---|
__PROJECT_NAME__ | project name |
__GROUP_ID__ | group ID |
__ARTIFACT_ID__ | artifact ID |
__NAMESPACE__ | namespace (dot-separated) |
__NAMESPACE_PATH__ | namespacePath (slash-separated) |
__PROCESS_ID__ | generated hex ID |
Step 4 — Create .ivyproject
Why manually: .ivyproject is intentionally excluded from the template because its presence triggers automatic deployment to the Axon Ivy Designer server when the project folder is opened. Create it only after the project is fully scaffolded.
Create <project-name>/.ivyproject with this content:
name=<project-name>
version=140011
name must match the project folder name exactly (the artifact ID value is fine here if they differ — use the project name).
version is the Ivy Designer format version — keep it as 140011 unless the user specifies otherwise.
Inform the user: opening this project in Axon Ivy Designer will now register and potentially deploy it to the connected server. Only add .ivyproject when ready to work with Designer.
Step 5 — Build the project
Run from the project root:
mvn clean install
Inform the user that the project built successfully.
Step 6 — Report
Print the created file tree to the user.