Folder structure¶
mule-build/
├── src/
│ ├── api/ public orchestration functions
│ ├── bin/ installed executable entry point
│ ├── config/ defaults, schema loading, readiness checks
│ ├── engine/ Maven, POM, XML, runtime, and output logic
│ ├── mcp/ MCP tools, prompts, resources, stdio transport
│ ├── types/ public contracts and Result helpers
│ ├── utils/ process, git, and logging helpers
│ ├── cli.ts Commander adapter
│ ├── index.ts package exports
│ └── version.ts package version source
├── test/ unit and MCP protocol integration tests
├── docs/ packaged MCP documentation resources
├── scripts/ packed-package verification
├── dist/ generated JavaScript and declarations
├── mule-build.yaml.example
├── package.json
└── tsconfig.json
Mule project expectations¶
The default project shape is:
my-mule-app/
├── .classpath optional Studio runtime requirement
├── mule-build.yaml optional build/runtime policy
├── pom.xml required
└── src/main/mule/ required Mule XML sources
Maven owns target/. For a strip build, mule-build creates a temporary copy excluding .git, target, node_modules, and .mule, runs Maven there, copies the resulting artifact to the requested output directory, and removes the staging directory.