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?

Reply via email to