Problem/Motivation
As we make progress with #3582246: [meta] CLI in Core community initiative, and especially as phase 1 is close to being committed (#3453474: CLI entry point in Drupal Core), it would be good to make this a real Core subsystem with both an entry in MAINTAINERS.txt and a Component label.
Steps to reproduce
Proposed resolution
Add "Drupal Command Line Interface (CLI) - `dr`" section to MAINTAINERS.txt.
Add co-maintainers (TBD):
- moshe weitzman (confirmed via Slack)
- mradcliffe (TBD)
- dww (if needed)
Remaining tasks
- Finalize list of co-maintainers.
- Finalize wording.
- Create MR.
- Governance sign-off.
- Add component for d.o Core issue queue.
User interface changes
Introduced terminology
API changes
Data model changes
Release notes snippet
Issue fork drupal-3590536
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3590536-add-cli-maintainers
changes, plain diff MR !15792
Comments
Comment #2
moshe weitzman commentedI would be honored to serve, if the community desires that.
Comment #4
quietone commentedComment #5
mradcliffeI think it would be a good idea to add a CLI section to maintainers.txt.
Currently I think commands are maintained by their respective sub-systems. So Recipes maintainers have been maintaining their recipe commands. The other commands and CLI scripts seem to de facto maintained by core committers.
What is the scope for the CLI subsystem?
dr/drupalCLI, but separate. Should the subsystem be more general to include runtime decisions (opinion: probably not)?Comment #6
dwwMAINTAINERS.txt already has sections for each core module, and then a bunch of "systems" like "Form API" or "Routing". Most modules provide routes and have forms. While I might be the maintainer for "Update Status" module, a Form API subsystem maintainer is welcome to weigh in on an issue with a form inside Update Status.
I think there's a similar overlap here. The "CLI maintainers" understand the plumbing, the scripts for the "Application", the bootstrapping stuff, and (generally) the individual commands. We have an overview of the big picture. Specific commands are mostly going to be covered by the subsystem maintainers that added them (e.g. the recipe commands are under the recipe subsystem, as you point out). But also, the CLI maintainers are changing some of the details of those recipe commands based on the big picture. I don't think this needs to be formally explained in the MAINTAINERS.txt section. We can understand that the "CLI subsystem maintainers" are available for questions and reviews about the CLI system overall, and will be able to help specific issues correctly add new commands to various other subsystems. Generally, the "guts" of each command will be understood and maintained by the subsystem maintainer(s) for the module that's providing the command. But the CLI maintainers might have opinions on The Right Way(tm) to structure the command, how to write good tests for it, whatever.
Meanwhile, there's already this section:
so if someone (e.g. @kingdutch) wanted to put themselves forward as the "bootstrap subsystem maintainer", they'd be most welcome to do so. 😅
All that said, @mradcliffe: Do you want to be listed as a CLI subsystem maintainer? You've definitely been driving this effort in a lot of ways, and clearly understand the inner workings.
Comment #7
dwwSince #3453474: CLI entry point in Drupal Core is merged (🎉🙏), would be good to get this in, too.
Still happy for @mradcliffe to join. Based on Slack, they're still considering if they want to do it. We can always add them later. So for now, here's a rebase and non-draft MR with just Moshe and myself (for now).
Comment #8
smustgrave commentedIf I haven't said it before congrats on landing this and I personally have no objections.
oh man please! I don't think I've ever seen anyone even volunteer for that one.
Comment #9
mstrelan commentedWe also need a component for d.o issues
Comment #10
dwwRe #9 agreed. I assumed that was implied, but I just added it explicitly as a remaining task. Thanks!
Comment #11
alexpottCommitted and pushed a28906d2800 to main and ce2b0094e9c to 11.x and 770d98e44a8 to 11.4.x. Thanks!
Comment #16
dwwThanks!
We still need the
dr - CLI systemcomponent added to the core project. I don’t think I have perms / auth to do that myself.Comment #17
alexpottI'll do that. Fixing the status of this issue.
Comment #19
dwwSweet, thanks!