← ClaudeAtlas

boxlang-application-descriptorlisted

Use this skill when designing or debugging Application.bx behavior: app discovery and nesting, multi-application isolation, lifecycle events, pseudo-constructor settings, session management, mappings/javaSettings resolution, and app-scoped schedulers/watchers via this.schedulers and this.watchers.
ortus-boxlang/skills · ★ 0 · AI & Automation · score 58
Install: claude install-skill ortus-boxlang/skills
# BoxLang Application Descriptor ## Overview `Application.bx` is BoxLang's application descriptor. It defines application-level settings and lifecycle callbacks, and it is the cornerstone for running multiple isolated applications in one BoxLang server/runtime. Use this skill whenever the question involves: - app bootstrapping and lifecycle events - per-app configuration in `this.*` - nested apps and scope isolation - app-scoped schedulers and watchers - differences between runtime config (`boxlang.json`) and app config (`Application.bx`) ## Core Model - BoxLang searches upward from the executing template/script location for the nearest `Application.bx`. - `Application.bx` is instantiated per request/execution context. - The `application` scope is persistent for that app name and survives across requests until timeout/stop. - Multiple unique app names create separate virtual applications in the same JVM. ## Multi-Application Isolation Each unique `this.name` maps to a unique application memory space: - isolated `application` scope - isolated session tracking/cache namespace - isolated app-level settings and listener behavior This enables running multiple apps side-by-side (public site, admin site, API site) in a single server process. ## App Name Rules ```boxlang class { this.name = "MyApp" } ``` Best practices: - Always set `this.name` explicitly. - Use stable names across deployments unless you intentionally want a new app memory space. - Avoid dynamic nam