The open-source project generator for the Operaton BPM ecosystem — hosted at start.operaton.org.
Bootstrap Operaton-based projects as downloadable, ready-to-build, immediately runnable archives. Like Spring Initializr, but for Operaton.
| Project Type | Description |
|---|---|
| Process Application | Spring Boot application embedding the Operaton engine; skeleton BPMN + Java delegate stub |
| Process Archive | Engine-agnostic WAR/JAR for deployment to a Standalone Engine or Tomcat |
Build systems: Maven · Gradle (Groovy DSL) · Gradle (Kotlin DSL)
Every generated project:
- Compiles and starts on first run — no manual configuration required
- Targets the current stable Operaton release (auto-updated via Renovate)
- Includes a GitHub Actions CI/CD skeleton that passes green on first push
- Propagates Group ID, Artifact ID, and project name into BPMN process IDs, Java packages, and
spring.application.name - Includes a purposeful README with next-step instructions and troubleshooting
The web UI includes a curated Examples Gallery showcasing runnable Operaton examples from trusted repositories. Each example is a complete, ready-to-build project demonstrating specific patterns (approval workflows, event-driven processing, embedded engines) across different runtimes (Spring Boot, Quarkus, plain Java) and build systems (Maven, Gradle).
Users can browse, filter, and download examples directly from the gallery, jumpstarting their Operaton journey.
Web UI — start.operaton.org
Browser-based generator with a project gallery (Explorer path) and a configuration form (Practitioner path). Live file tree preview, IDE deep-links, shareable config URLs.
CLI
npx operaton-starter \
--groupId com.example \
--artifactId my-process \
--projectName "My Process" \
--projectType PROCESS_APPLICATION \
--buildSystem GRADLE_KOTLIN \
> my-process.zipcurl
curl -X POST https://start.operaton.org/api/v1/generate \
-H "Content-Type: application/json" \
-d '{"projectType":"PROCESS_APPLICATION","buildSystem":"MAVEN","groupId":"com.example","artifactId":"my-process","projectName":"My Process","javaVersion":17}' \
-o my-process.zipMCP — operaton-starter-mcp npm package
Exposes a generate_project tool callable by AI assistants (Claude, GitHub Copilot, Cursor) during development conversations.
Run your own instance with Docker:
docker run -p 8080:8080 \
-e STARTER_DEFAULTS_GROUP_ID=com.myorg \
docker.io/operaton/operaton-starter:latestThe image starts with zero external network calls. All configuration is via environment variables.
| Variable | Description |
|---|---|
STARTER_DEFAULTS_GROUP_ID |
Pre-fills the Group ID field |
STARTER_DEFAULTS_MAVEN_REGISTRY |
Maven repository URL for generated projects |
STARTER_DEFAULTS_OPERATON_VERSION |
Pin Operaton version (self-hosted only) |
STARTER_CORS_ALLOWED_ORIGINS |
Comma-separated CORS allowlist for /api/** |
Connect the operaton-starter-mcp AI tool to your private instance so AI assistants generate projects against your internal deployment.
Build and start the server:
# 1. Build the fat JAR (required before docker build)
./mvnw verify -pl starter-templates,starter-server -am
# 2. Build the Docker image
docker build -t operaton-starter:local .
# 3. Start the server
docker run -p 8080:8080 operaton-starter:localOr with docker compose (development):
./mvnw verify -pl starter-templates,starter-server -am
docker compose -f docker-compose.dev.yml upConfigure Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"operaton-starter": {
"command": "npx",
"args": ["-y", "operaton-starter-mcp"],
"env": {
"OPERATON_STARTER_URL": "http://localhost:8080"
}
}
}
}Configure VS Code / GitHub Copilot (.vscode/mcp.json or user settings):
{
"servers": {
"operaton-starter": {
"command": "npx",
"args": ["-y", "operaton-starter-mcp"],
"env": {
"OPERATON_STARTER_URL": "http://localhost:8080"
}
}
}
}The OPERATON_STARTER_URL variable tells the MCP package which backend to call. Omitting it falls back to https://start.operaton.org.
operaton-starter is a 6-module Maven monorepo:
operaton-starter/
├── starter-templates/ Pure-Java generation engine (zero Spring dependency)
├── starter-server/ Spring Boot REST API
├── starter-archetypes/ GenerationClient interface + mvn archetype:generate integration
├── starter-web/ Vue 3 SPA
├── starter-mcp/ MCP npm package (operaton-starter-mcp)
└── starter-cli/ CLI npm package (operaton-starter)
All channels invoke the same GenerationEngine.generate(ProjectConfig) → byte[] — identical output guaranteed by a 6-combination CI test matrix (2 project types × 3 build systems).
See docs/arc42/ for full architecture documentation.
Want to share your Operaton example with the community?
- Author a new repository with your example(s) and a
.operaton-starter.ymlmanifest - Read the format guide:
docs/examples-repository-format.mddocuments the schema, repository structure, and registration process - Register your repository either via environment variable (self-hosted) or by opening a PR to add it to the default configuration
- Your examples appear in the public Examples Gallery once deployed
See the seed repository for a complete example.
See CONTRIBUTING.md for setup instructions and contribution guidelines.
See docs/release.md for the release procedure, required GitHub Actions secrets, and troubleshooting guide.
Apache 2.0