cli icon indicating copy to clipboard operation
cli copied to clipboard

Add note about different commands within and outside of app

Open cllns opened this issue 3 years ago • 6 comments

We only allow hanami new outside of existing Hanami projects, and only allow almost all the other commands inside a Hanami 2 project (version is rightfully allowed in both).

For example:

% hanami version
v2.0.0.beta3
% hanami help
Commands:
  hanami new APP
  hanami version
% hanami new beta_three
% cd beta_three
% hanami help
Commands:
  hanami console                              # App REPL
  hanami generate [SUBCOMMAND]
  hanami install
  hanami middlewares                          # List all the registered middlewares
  hanami routes                               # Inspect application
  hanami server
  hanami version

Something like: "There are more commands available when you're inside of an app, but we've detected that you're not in a Hanami 2 folder". We could even list them (on one line, without descriptions) too. And when inside an app something like "hanami new is also available when you're outside of an existing Hanami project folder."

I think this could be a "good first issue" for newcomers who'd like to contribute to the Hanami 2 effort.

cllns avatar Sep 21 '22 16:09 cllns

@cllns

Something like: ...

What do you mean? To print a warning message?

jodosha avatar Sep 23 '22 10:09 jodosha

Yes, sorry that wasn't clear. The command behave differently in different context, so we should let the users know which context they're in. Otherwise I expect people may think "Huh? I don't see a hanami generate command, it must not have generators" when they first install the gem.

cllns avatar Sep 23 '22 15:09 cllns

@cllns Sorry for asking the question again: do you want a warning message? Isn't warning a signal of something wrong that the user did? Why we should warn on default usage?

jodosha avatar Dec 02 '22 08:12 jodosha

No, not a warning. For example, when outside of an existing Hanami folder:

% hanami help
Commands:
  hanami new APP
  hanami version

Other commands available within a Hanami app:
  hanami console                              # App REPL
  hanami generate [SUBCOMMAND]
  hanami install
  hanami middlewares                          # List all the registered middlewares
  hanami routes                               # Inspect application
  hanami server

cllns avatar Dec 02 '22 21:12 cllns

This isn't possible.

We register at the runtime two different command registries.

jodosha avatar Dec 03 '22 12:12 jodosha

Gotcha. What about something generic like

% hanami help
Commands:
  hanami new APP
  hanami version

Other commands are available within a Hanami project's folder

cllns avatar Dec 03 '22 19:12 cllns