Skip to content

docs: add an "Installing with CommandBox" support-tier page to the v4 guides — ForgeBox packages are published but completely undocumented #3183

Description

@bpamiri

Gap

The v4-0-0 guides tree contains zero box install instructions. ForgeBox is mentioned only in passing (s3sdk community package, LuCLI deps sources) and command-line-tools/commands/packages/index.mdx explicitly says "There is no ForgeBox and no CommandBox" (about the Wheels packages registry — correct in context, but it's the only definitive-sounding statement a searching CommandBox user will find). Meanwhile .github/workflows/release.yml:151-175 publishes four ForgeBox packages on every stable release: wheels-base-template, wheels-core, wheels-cli, wheels-starter-app — all current at 4.0.3.

The 3.x docs' entire getting-started spine was CommandBox-based (66 files in the v3-0-0 tree reference box workflows: box install wheels-cli, wheels generate app pulling the template + core from ForgeBox, box server start, ForgeBox plugin install/publish). 4.0 dropped all of it with only the 3x-to-4x.mdx wheels-cli deprecation note as acknowledgment. A CommandBox-centric 2.x/3.x team gets no answer to "what is my supported workflow now?"

Verified behavior to ground the page (2026-06-12, CommandBox 6.3.3)

  • box install wheels-base-template works: resolves 4.0.3, pulls wheels-core 4.0.3 into vendor/wheels/ per installPaths, modern app layout, server.json present (webroot public, urlrewrite).
  • Caveat: the zip ships raw template placeholders — server.json has "name":"|appName|" and "cfengine":"|cfmlEngine|"; config/settings.cfm has |datasourceName| and |reloadPassword|. Substitution is the installer's job (wheels new does it), so a raw box install needs manual edits before box server start can boot.
  • box install cfwheels-base-template (legacy) is broken — see the companion legacy-slug issue.

Proposed page outline — v4-0-0/start-here/installing-with-commandbox.mdx (or under command-line-tools/)

  1. Where CommandBox fits in Wheels 4 — supported as a server manager and package fetcher, not as the Wheels developer CLI. Link to cfml-engines.mdx (this page already documents box server start cfengine=adobe@2025 / boxlang@latest).
  2. Supported: install the framework via ForgeBox
    • box install wheels-base-template → full app skeleton + wheels-core in vendor/wheels/.
    • Required post-install edits (the placeholder list above): set app name + cfengine in server.json, datasource + reload password in config/settings.cfm.
    • box install wheels-core alone → vendoring the framework into an existing app.
  3. Supported: servebox server start (server.json ships in the template), reload via ?reload=true&password=..., pinning engines via cfengine=.
  4. Not supported via CommandBox: the wheels CLI feature set — generators, wheels migrate, wheels test, wheels console, MCP server, packages registry (wheels packages ... — explicitly no ForgeBox), deploy. These require the LuCLI-based wheels binary (brew/scoop/apt/yum/manual JAR). The legacy CommandBox wheels-cli module is deprecated, does not know 4.0+, removal in v5 (per 3x-to-4x.mdx).
  5. Coming from 2.x/3.x box workflows — short mapping table: box install wheels-cli → install the wheels binary; wheels g appwheels new; box server start → still fine, or wheels start; ForgeBox plugins → wheels packages registry.

Also fix while in there

  • Either make the template zips placeholder-free (defaults instead of |tokens|) so raw box install boots, or document the manual edits as above — today's behavior is a silent foot-gun (journeys 1-2 of this audit have the placeholder finding in detail).
  • Cross-link from start-here/installing.mdx and cfml-engines.mdx.

Acceptance criteria

  • Searching the v4 guides for "CommandBox" or "box install" lands on a page that states the support tier explicitly.
  • A user following the page goes from empty dir → running app via only box commands plus the documented edits.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions