bx-compat-cfml

Migrate CFML applications to BoxLang with engine-specific compatibility configuration.

Updated Apr 10, 2026
One-click install
npx skills add https://github.com/ortus-boxlang/skills --skill bx-compat-cfml
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bx-compat-cfml
Source: https://github.com/ortus-boxlang/skills/tree/main/boxlang-modules/bx-compat-cfml
Command: npx skills add https://github.com/ortus-boxlang/skills --skill bx-compat-cfml

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

CFML teams often face heavy lift migrating applications between CFML engines and BoxLang, battling divergent null handling, type coercion rules, server scope semantics, and JSON parsing quirks. This skill provides a near-zero-code migration path by aligning BoxLang's runtime behavior with the source engine and surfacing incompatibilities early.

Core Features & Use Cases

  • Engine-aware compatibility layer for null handling, JSON parsing, and BIF behavior to minimize code changes.
  • Server scope population and component lifecycle compatibility to preserve application semantics.
  • Incremental migration guidance from CFML components (.cfc/.cfm) to BoxLang components (.bx/.bxm) with upgrade planning.

Quick Start

Install the bx-compat-cfml module and configure the source engine (Adobe or Lucee) in boxlang.json to begin migrating CFML applications to BoxLang.

Frequently Asked Questions about bx-compat-cfml

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

FAQPage Schema
How do I migrate a CFML application to BoxLang without rewriting code?

Migrate CFML applications to BoxLang with near-zero-code changes by using an engine-aware compatibility layer that aligns runtime behavior for null handling, type coercion, and server scope population from Adobe ColdFusion or Lucee.

What causes JSON parsing and null handling differences when switching ColdFusion engines?

Divergent JSON parsing quirks and null handling rules across CFML engines cause migration friction. A compatibility layer maps BoxLang's runtime semantics to the source engine, preventing unexpected type coercion and null evaluation errors during execution.

How do I configure boxlang.json for an Adobe ColdFusion to BoxLang migration?

Configure boxlang.json by specifying your source CFML engine, Adobe ColdFusion or Lucee, to activate the corresponding compatibility layer for BIF behavior and component lifecycle preservation during the migration process.

Does BoxLang support Lucee server scope semantics and component lifecycle behavior?

BoxLang supports Lucee server scope population and component lifecycle compatibility through its engine mapping configuration, ensuring application semantics are preserved without requiring manual code modifications during the CFML migration.

When should I incrementally convert CFML components to native BoxLang files?

Incrementally convert CFML components to native BoxLang files after configuring the compatibility layer, allowing you to identify incompatibilities early and plan upgrades from .cfc and .cfm files to .bx and .bxm files gradually.

What are the limitations of using a compatibility layer for CFML engine mapping?

The compatibility layer minimizes code changes by aligning runtime behavior, but it primarily serves as a bridge. Complex incompatibilities may still require manual intervention to fully convert CFML projects to native BoxLang components.