boxlang-application-descriptor

Define per-app lifecycle and isolation for BoxLang applications using Application.bx.

16|78|Updated Nov 28, 2014
One-click install
npx skills add https://github.com/ortus-docs/coldbox-docs --skill boxlang-application-descriptor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: boxlang-application-descriptor
Source: https://github.com/ortus-docs/coldbox-docs/tree/main/.agents/skills/boxlang-application-descriptor
Command: npx skills add https://github.com/ortus-docs/coldbox-docs --skill boxlang-application-descriptor

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Managing multiple BoxLang applications in a single server or runtime while keeping their configurations, lifecycles, and resources isolated can be complex. This skill provides structured guidance for per-app discovery, naming, and lifecycle handling using Application.bx to ensure clean boundaries between apps and predictable behavior.

Core Features & Use Cases

  • Per-app lifecycle management with onApplicationStart/onApplicationEnd hooks and per-app configuration using this.* properties.
  • Multi-application isolation enabling parallel hosting of distinct sites (e.g., public, admin, API) in one runtime.
  • Clear guidelines for app-scoped schedulers and watchers, app naming, and runtime configuration differences (boxlang.json vs Application.bx).

Quick Start

Create an Application.bx for a new app named MyApp with the required lifecycle callbacks and app-scoped settings.

Frequently Asked Questions about boxlang-application-descriptor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I isolate multiple BoxLang applications in a single runtime?

Per-app isolation in a single BoxLang runtime is achieved by defining an Application.bx file for each application. This enforces clean boundaries, unique app naming, and isolated lifecycle management.

What is the difference between boxlang.json and Application.bx configuration?

Application.bx manages per-app configuration using this.* properties and lifecycle callbacks, while boxlang.json handles broader global runtime configuration for the entire BoxLang environment.

How do I manage application lifecycle callbacks in BoxLang?

You manage BoxLang application lifecycles by implementing onApplicationStart and onApplicationEnd hooks inside Application.bx. These callbacks control predictable startup and shutdown behavior for isolated apps.

Can I run nested apps with isolated schedulers and watchers in BoxLang?

Yes, BoxLang supports nested apps within one runtime. The skill provides guidelines for app-scoped schedulers and watchers, ensuring resources remain isolated across parallel hosted sites like public, admin, or API.

Does a BoxLang application require an Application.bx file for bootstrapping?

Yes, Application.bx is required for proper bootstrapping. It ensures the runtime correctly discovers the application, applies per-app settings, and initializes necessary lifecycle callbacks for isolated execution.