As many of you know, the old "Grails Shell CLI" (the grails executable distributed with SDKMAN up to Grails 5, also runnable via ./grailsw) has been restored in Grails 7. Meanwhile, the "Grails Forge CLI" (introduced and distributed via SDKMAN for Grails 6, and powering start.grails.org) remains the current grails CLI in Grails 7.0.0-M1.
Discussions are ongoing about how best to merge these tools to combine their strengths. In the last Weekly Meeting (2024-02-27), we considered generating a single "wrapper" executable that delegates to the appropriate CLI based on the provided arguments. After the meeting, one thought struck me: "forge" is both a noun and a verb. We could leverage this to differentiate between the two CLIs in a natural way: - grails vs. grails forge for interactive mode - grails create-app myApp vs. grails forge-app myApp - grails create-plugin myPlugin vs. grails forge-plugin myPlugin - grails create-controller myController vs. grails forge-controller myController ...and so on. Since "forging" is pretty much all that the "Grails Forge CLI" does, this could make the distinction intuitive for users. Of course, there may be caveats that I have not thought of, but I wanted to put this idea out there for brainstorming. Thoughts?