Repository navigation
fix(cli): hints name the binary the user ran - #27
Conversation
Hints such as "Use 'lucli server new' to create a new lucee.json" were hard-coded to 'lucli', also under an aliased binary like 'wheels'. LuCLI.cliName() returns the active profile's name (default 'lucli'), and the 27 hard-coded hint strings in 14 files use it. picocli @command help text is an annotation constant and is left as is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Peter Amiri <peter@alurium.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Peter Amiri <peter@alurium.com>
|
rev1-r3 review @ 3c46be2: CHANGES (one missed hint in a block this PR edits) End to end: JDK 21 jars, isolated
Needs a fix
Optional, and fine to leave as a follow-up: the built-in Everything else (27 strings in 14 files, no import churn, the CHANGELOG entry and FORK.md row 14) is fine. Re-review is quick once the one line is in. |
The unknown-command message said "run 'wheels modules list'" and then "Run 'lucli --help'": the hint with a flag after 'lucli' was missed. Review follow-up on #27. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Peter Amiri <peter@alurium.com>
Eight writeOutput() help strings in modules/lang/Module.cfc contained a
lone '#' ('# e.g., ...'), which CFML parses as an expression delimiter:
the module failed to compile ('Invalid identifier' at line 121) and was
unusable. Escaped as '##'. Also: the module's unknown-command hint now
names the active binary (LuCLI.cliName()), as requested on #27.
The same unescaped '#' is on upstream main.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Peter Amiri <peter@alurium.com>
…essages Signed-off-by: Peter Amiri <peter@alurium.com> # Conflicts: # CHANGELOG.md # FORK.md
…bersonic#147 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Peter Amiri <peter@alurium.com>
Unit Tests (ubuntu-latest, Java 21) 65 files 65 suites 2m 31s ⏱️ Results for commit ced9d1c. |
Integration Tests (ubuntu-latest, Java 21)78 tests 78 ✅ 2m 4s ⏱️ Results for commit ced9d1c. |
|
rev1-r3 review @ ced9d1c: APPROVE (final) Changes since my CHANGES at 3c46be2:
End to end (JDK 21 jars, isolated
The PR CI on this head: 8 pass (Build ×3, Unit ×3, Integration ×2); APT smoke skipped. mergeStateStatus is CLEAN. Ready to merge. |
Fork polish, queued after C3 (from the 2026-10-05 CLI docs sweep, C7's remaining part).
What
Under an aliased binary, error and next-step hints still told users to run
lucli. For example,wheels server edit -f nope.jsonprinted "Use 'lucli server new' to create a new lucee.json." Other examples: "Run 'lucli secrets init' …", "run 'lucli modules list' …", "Use 'lucli server list' …".How
LuCLI.cliName()returns the active profile'sname(), falling back tolucli.'lucli <command>hint strings in 14 files now concatenatecliName().LuCLI.javacalls it directly; the other files useorg.lucee.lucli.LuCLI.cliName(), so no imports change.@Commandhelp/footer text, e.g.RunCommand's examples. Annotation values must be constants.Tests
New:
CliNameTest. Thelucliprofile giveslucli; thewheelsprofile giveswheels.End to end (isolated home,
-Dlucli.binary.name=wheels,server edit -f nope.json):The plain
luclibinary still printslucli.Full suite (
-Duser.home=<empty dir>): 775 tests. The only failures are the 17 known clean-home failures (Test suite isn't isolated from the developer's LuCLI home: writes into ~/.lucli, fails in a clean home #25); none are new.Fork bookkeeping
CHANGELOG
## Unreleasedentry; FORK.md "Next queue" row 14 (fork-only polish). It will conflict on CHANGELOG/FORK.md with #23/#24/#26; I'll mergewheelsin at its turn.Upstream
Not filed separately. If wanted, it's a small upstream PR: upstream also has profiles, but its default alias handling differs.
🤖 Generated with Claude Code