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.