boxlang-core-dev-component-development

Create and test BoxLang components with ModuleConfig.bx registration.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides guidance for creating, registering, and testing BoxLang components (custom tags), covering file structure, attribute declarations, body/output handling, component-path registration in modules, and the distinction between components and classes.

Core Features & Use Cases

  • Learn component file structure, attribute declarations, and body/output handling for BoxLang components.
  • Understand how to register component paths in ModuleConfig.bx and how components are discovered at runtime.
  • See examples of component lifecycles (onStartTag, onEndTag), output buffering, and body processing in templates.

Quick Start

Create a basic BoxLang component in a module by placing a sample .bx component in components/, registering its path in ModuleConfig.bx, and running a simple test template.

Frequently Asked Questions about boxlang-core-dev-component-development

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

FAQPage Schema
How do I build and test BoxLang components for template-driven development?▼

BoxLang components are custom tags that require a .bx file in a components/ directory and modulePath registration in ModuleConfig.bx for runtime discovery. Unlike classes, they use template-driven lifecycles like onStartTag and onEndTag to handle attributes and body output.

How do I register component paths in a BoxLang module configuration?▼

Register component paths in BoxLang by adding modulePath declarations to ModuleConfig.bx. This configuration enables the runtime to discover and load custom tags from the components/ directory during template execution.

What is the difference between BoxLang components and classes?▼

BoxLang components are template-driven custom tags utilizing lifecycle events like onStartTag and onEndTag for body processing and output buffering. Classes follow standard object-oriented patterns without the template-specific lifecycle hooks inherent to components.

How do BoxLang component lifecycles handle body processing and output buffering?▼

BoxLang component lifecycles handle body processing and output buffering through onStartTag and onEndTag events. These lifecycle hooks manage attribute declarations, execute body content, and control output generation within template-driven workflows.

What file structure is required to create a custom tag in BoxLang?▼

Creating a custom tag in BoxLang requires a components/ directory containing your .bx component files and a ModuleConfig.bx file for modulePath registration. A SKILL.md frontmatter with name and description is also needed to validate component loading.