← ClaudeAtlas

boxlang-core-dev-module-developmentlisted

Use this skill when creating a BoxLang module: ModuleConfig.bx structure, lifecycle methods (configure/onLoad/onUnload), module metadata, registering interceptors and BIFs, Gradle build setup, publishing to ForgeBox, or using the official module template.
ortus-boxlang/skills · ★ 0 · Data & Documents · score 58
Install: claude install-skill ortus-boxlang/skills
# BoxLang Module Development ## Overview A BoxLang module is a packaged unit of functionality that extends the runtime with new built-in functions (BIFs), components, interceptors, and Java libraries. Modules are auto-discovered by the runtime on startup and managed through the `ModuleService`. The [official module template](https://github.com/ortus-boxlang/boxlang-module-template) is the recommended starting point. ## Module Directory Structure ``` my-module/ ├── ModuleConfig.bx # Required: module descriptor and lifecycle ├── box.json # CommandBox/ForgeBox package manifest ├── build.gradle # Gradle build configuration ├── gradle/ │ └── wrapper/ ├── bifs/ # Custom built-in functions │ ├── MyFunction.bx # BoxLang BIF │ └── MyJavaFunction.java # Java BIF ├── components/ # Custom tags/components │ └── MyComponent.bx ├── interceptors/ # Event listeners │ └── MyInterceptor.bx ├── models/ # Supporting classes and services │ └── MyService.bx ├── libs/ # JAR dependencies (module-scoped) │ └── some-library.jar ├── src/ │ ├── main/ │ │ ├── bx/ # BoxLang source (mirrored into module root) │ │ └── java/ # Java source │ └── test/ │ ├── bx/ # BoxLang tests │ └── java/ # Java unit tests └── settings.gradle ``` ## `ModuleConfig.bx` The heart of every module. Must exist (can be em