Skip to content

wheels --version output mismatches docs and exposes LuCLI branding through the Wheels wrapper #58

Description

@bpamiri

Filing this upstream because the version-output behavior is in LuCLI itself, not in the Wheels module that wraps it.

Context

Wheels distributes its CLI by bundling LuCLI plus a Wheels-specific module. The Wheels documentation tells users to run `wheels --version` to verify the install, and shows expected output in two different formats across two pages of the guide (https://guides.wheels.dev/v4-0-0-snapshot/start-here/installing/ vs https://guides.wheels.dev/v4-0-0-snapshot/command-line-tools/installation/). Neither matches what `wheels --version` actually prints today.

What `wheels --version` currently prints

```
Wheels Version: 0.3.7


\ \ / / |__ ___ | |
\ \ /\ / /| '_ \ / _ / _ \ / |
\ V V / | | | | / / _
_/_/ || ||_
|_
||
_/

Lucee Version: 7.0.4.18-SNAPSHOT

Copyright (c) Mark Drew https://github.com/cybersonic
Repository: https://github.com/cybersonic/lucli
```

What's wrong from the Wheels-user perspective

  1. The number labelled "Wheels Version" is actually the LuCLI launcher version (0.3.7), not the Wheels framework version. A user running `wheels --version` to confirm they got Wheels 4.0 sees "0.3.7" and is confused.
  2. The ASCII banner and the `Copyright (c) Mark Drew … Repository: cybersonic/lucli` lines reveal LuCLI branding, which contradicts the Wheels guide's "the wheels CLI is the only tool you need" framing. (LuCLI absolutely deserves credit — but on `--version` of a wrapping tool, it's surprising.)
  3. The output is not machine-readable. Most CI tooling, IDE plugins, and `wheels doctor` would prefer one fact per line.

Suggested fix (in LuCLI)

Two ideas, take whichever fits LuCLI's design philosophy:

Option A — let modules customize `--version` output. A registered module can publish a "version manifest" (label, version string) that LuCLI prints alongside (or in place of) its own version when invoked through that module's wrapper script. The Wheels wrapper sets `LUCLI_HOME=~/.wheels` and could similarly opt into a Wheels-branded `--version`.

Option B — keep LuCLI's output minimal and machine-friendly by default. Remove the ASCII banner from `--version` (move it to `--about` or the top of `--help`). Use a three-line format:

```
LuCLI
Lucee
Java
```

Wheels can then prepend its own line in the wrapper:

```
Wheels
LuCLI
Lucee
Java
```

This matches the format already advertised at https://guides.wheels.dev/v4-0-0-snapshot/command-line-tools/installation/ — Wheels would then be telling the truth about what `--version` prints.

Source

Discovered during a fresh-VM Wheels onboarding test. The Wheels-side companion fixes (release workflow + Homebrew formula) are at wheels-dev/wheels#2294 and wheels-dev/homebrew-wheels#5.

Activity

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions