Closed (fixed)
Project:
Drupal core
Version:
main
Component:
meetings
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
29 Jul 2026 at 11:22 UTC
Updated:
12 Aug 2026 at 12:40 UTC
Jump to comment: Most recent
Hello, everyone. Welcome to the ✨ CLI in Core Initiative ✨ Meeting! 📅 This meeting:
➤ Usually happens weekly either at Wednesday 14:00 UTC.
➤ Will use Slack threads to continue discussions.
➤ Please comment on the roll call thread throughout the day.
| mradcliffe | Matthew here (mradcliffe). I'm running late today. |
| bircher | :wave: currently on vacation |
| mradcliffe | I need to create an issue for the meeting last week still. |
| mradcliffe | Command issues need issue summaries updated to link to testing and porting documentation. |
| joachim | Needs a docs page here: drupal.org/docs/develop/development-tools |
| mradcliffe | - #3587722: Consider what `dr` CLI command should do if it cannot bootstrap Core - #3587723: Consider a specific logger channel for CLI commands - #3594184: CLI cannot discover commands in subdirectories that have a period in the name - #3606744: Invokable commands dont show their usages in help - #3607060: ConsoleCompilerPass incompatible with symfony/console ≥ 8.1 - #3607072: Unable to use recipe commands on 11.4 |
| mradcliffe | Any suggestions on an issue tag to use to group these other than the meta issue? |
| mradcliffe | - #3606744: Invokable commands dont show their usages in help |
| balsama | Before I work on a MR, I'm curious if an option to bypass the isDrupalInstalled check in the install command would be considered? Or if that's been discussed already. (edited) |
| rfay | And, of course, to use a better technique to determine if installed. Drush uses content in database, current dr uses sites/default/files, etc. Pretty ugly |
| balsama | That's actually what's getting in my way. So maybe just switching to checking to see if the DB is empty is what I should do. |
| mradcliffe | I was thinking of fixing that directly in #3594342: Update install command to allow installing using any database driver , but there's also #3594320: Allow `dr install` to install when database is already configured |
| rfay | Yes, it should also be able to force, even if db has content |
| balsama | Thanks. #3594320 looks like a good fit for my MR |
| rfay | IMO these two are the most important feature-bugs ever addressed on this (in the history of the built-in installer, what always kept me from using it at all) |
| mradcliffe | I'm going to push some code up to the install with any db driver to handle existing connections if you wanted to compare @balsama |
| mradcliffe | One thing that probably needs to be kept is that the command succeeds if drupal is already installed based on existing command usage to install & server for quickstart. |
| balsama | Added an MR here: drupal.org/project/drupal/issues/3594320 |
| mradcliffe | @balsama were you intending to allow this to be used so that an existing database connection using mysql or pgsql would go through, or just an existing connection using sqlite? |
| balsama | My intention was to use whatever connection is defined. But I didn't realize that conflicts with help text. I'll push a commit with a tweak to that now. |
| rfay | The traditional way for this to work is using the settings.php/settings.ddev.php connection that are already established (if they are), otherwise adding them to settings.php. For DDEV it's important, because the correct db type is already configured |
| phenaproxima | Does dr have the ability for event subscribers to add additional options to commands, the way Drush does? |
| moshe | No. I'm not sure if core will go down that road. I kinda doubt symfony will. |
| phenaproxima | Huh. I am able to get it to work using the ConsoleCommandEvent |
| moshe | That doesnt work for adding options does it? Like, try to show the option in help and try to use it. |
| phenaproxima | It does work although it doesn't show the added option in the help |
| moshe | yeah in drush 14 i had to add a custom event for the help alter |
| phenaproxima | Does dr have the ability for event subscribers to add additional options to commands, the way Drush does? |
| moshe | No. I'm not sure if core will go down that road. I kinda doubt symfony will. |
| phenaproxima | Huh. I am able to get it to work using the ConsoleCommandEvent |
| moshe | That doesnt work for adding options does it? Like, try to show the option in help and try to use it. |
| phenaproxima | It does work although it doesn't show the added option in the help |
| moshe | yeah in drush 14 i had to add a custom event for the help alter |
| joachim | Does dr detect command classes that are in packages, rather than modules? |
| joachim | This says ‘modules’ - drupal.org/docs/…/cli-api-overview But if that is the case, it would be useful for that page & code docs to say explicitly that packages are not supported (since Drush does support them) |
| bircher | if it doesn't, then it should support them. |
| joachim | That would be nice 🙂 |
| moshe | You need a glue module that declares the services (via yml or serviceProvider) or you have to get your package to be named in $container->getParameter('container.namespaces'). See ConsoleCompilerPass::process().Are there examples of the comntainer discovering controllers, plugins etc. from /vendor? If not, this is unlikely to be added to dr. |
| bircher | yea I have this idea of a new type of drupal extension that would take care of that. But I need to write it up properly. |
| joachim | If that’s the design decision, then fair enough — it does make things simpler. needs docs though |
| moshe | You might be able to hack in a service provider by adding an item to $GLOBALS['conf']['container_service_providers']. See discoverServiceProviders(). You'd need to get your code to load during runtime. One way is via your package's composer.json
(edited) |
| moshe | yea I have this idea of a new type of drupal extension that would take care of that. But I need to write it up properly.I'm curious. Seems like a great spot for innovation. |
| bircher | yes I never have time to write it up. I am drafting an issue and I plan to propose a BOF in Rotterdam |
| bircher | the tldr is: a drupal extension that is more like a php library/package but can do some things a module can do, with some restrictions. |
| moshe | Why restrictions? Seems like a module that lives in vendor would be a great solution |
| bircher | restrictions because it would not have a "installed" or "uninstalled" state, it would just be there when it is there and not when it's not |
| bircher | so oop hooks but no install uninstall schema etc |
| bircher | autowired services and event subscribers and dr commands even before drupal is installed |
| moshe | I;'m not sure its worth creating a new extension type just for having the feature of 'can't be inactive in the codebase'. |
| joachim | Allowing modules in /vendor has previously been suggested as a long-term goal |
| moshe | For sure. So long I've given up on core actually doing it. (edited) |
Participants:
mradcliffe, bircher, joachim, rfay, balsama, phenaproxima, moshe
Comments
Comment #2
smustgrave commentedCredited the users mentioned.