← ClaudeAtlas

coldbox-dilisted

Use this skill when working with dependency injection inside a ColdBox application -- the ColdBox injection DSL namespaces (coldbox:, logbox:, cachebox:, wirebox:, model:), module settings injection, injecting ColdBox services (interceptors, flash, router, scheduler), configuring the WireBox binder in ColdBox context, the enhanced ColdBox binder helpers, or wiring handlers/interceptors/models via ColdBox-aware WireBox.
ColdBox/skills · ★ 0 · AI & Automation · score 61
Install: claude install-skill ColdBox/skills
# ColdBox — Dependency Injection ## When to Use This Skill Use this skill when working with DI **inside a ColdBox application**. It covers the ColdBox-specific injection DSL namespaces and integration features that are *not* available in standalone WireBox. For WireBox fundamentals (binder config, scopes, providers, lazy properties, child injectors, object populator), consult the `wirebox` skill first. ## Language Mode Reference Examples use **BoxLang (`.bx`)** syntax by default. | Concept | BoxLang (`.bx`) | CFML (`.cfc`) | |---------|-----------------|---------------| | Class declaration | `class [extends="..."] {` | `component [extends="..."] {` | | Property DI annotation | `@inject` above `property name="svc";` | `property name="svc" inject="svc";` | --- ## How WireBox Integrates with ColdBox ColdBox automatically bootstraps a WireBox injector at startup. Key integration points: - **Binder location**: `config/WireBox.cfc` (optional — ColdBox works without one and auto-maps `models/`) - **Injector access**: Available at `controller.getWireBox()` or via `inject="wirebox"` - **Auto-scan**: The `models/` folder is automatically registered; every CFC is accessible by its name - **ColdBox objects**: Handlers, interceptors, and scheduled tasks are automatically wired by the framework - **Module isolation**: Each ColdBox module gets its own WireBox namespace and can declare its own mappings --- ## ColdBox Binder ```cfscript // config/WireBox.bx (or .cfc) class exten