Skip to content

Running wheels cli without arguments results in error #2840

Closed

Description

@teleotic

Describe the bug
Running the wheels cli on Linux without arguments gives a Lucee error:

[ERROR] Error: lucee.runtime.exp.ExpressionException: Component [modules.wheels.Module] has no function with name [main]

To Reproduce
Steps to reproduce the behavior:

  1. Install wheels
  2. Run wheels command
  3. See error

Expected behavior
Help text or the opening of a CLI environment

Desktop (please complete the following information):

  • OS: Ubuntu 26.04 LTS

Activity

  1. wheels-bot commented on Jun 2, 2026

    @wheels-bot
    Contributor

    Wheels Bot — Triage

    Classified as bug.

    Suspected layer

    cli — see CLAUDE.md § "CLI / MCP" and cli/lucli/ARCHITECTURE.md. The error message names modules.wheels.Module, which is cli/lucli/Module.cfc.

    Fix sketch

    Running wheels with no arguments causes the LuCLI runtime to look for a main function on cli/lucli/Module.cfc, which doesn't exist (Module.cfc has showHelp() but no main). The likely fix is adding a public function main() to cli/lucli/Module.cfc that delegates to showHelp() (or returns it directly), so the no-args invocation produces help text instead of the dispatch error. An alternative shape would be runtime-level fallback in cli/lucli/lib/ — but the smaller, surgical fix lives in Module.cfc.

    Confidence: high

    The report is clear (clear expected vs. actual behavior, deterministic repro), the suspected layer is unambiguous from the error stack, the fix shape is mechanical (one file, no design decisions), and none of the auto-downgrade rules (security/middleware/migrations/deploy/DI/cross-engine) fire — the CLI dispatch issue is engine-agnostic at this layer.

    <!-- wheels-bot:triage:2840 -->
    <!-- wheels-bot:triage-class:bug -->
    <!-- wheels-bot:triage-confidence:high -->

  2. wheels-bot commented on Jun 2, 2026

    @wheels-bot
    Contributor

    Wheels Bot — Fix proposed

    Draft PR: #2842

    Spec: cli/lucli/tests/specs/commands/MainCommandSpec.cfc — failing → passing (source-level scan: without main() in Module.cfc the new bundle reports totalPass:0 totalFail:3; with main() it reports totalPass:3 totalFail:0).
    Implementation: cli/lucli/Module.cfc — adds public string function main() delegating to showHelp() and hides it from mcpHiddenTools().

    A human review is required before merge. Reviewer A and Reviewer B will weigh in shortly. Doc updates (MDX guides, .ai/wheels/, CLAUDE.md) are handled separately by bot-update-docs.yml.

  3. added 2 commits that reference this issue on Jun 3, 2026
  4. added 2 commits that reference this issue on Jun 5, 2026
    6318bee
    07842b2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions