Feat: Centralized maintainer ownership for CLI help and docs #180
Merged
Feat: Centralized maintainer ownership for CLI help and docs #180
Conversation
Enovotny
approved these changes
Apr 8, 2026
Enovotny
pushed a commit
that referenced
this pull request
Apr 9, 2026
🤖 I have created a release *beep* *boop* --- ## [0.5.0](v0.4.0...v0.5.0) (2026-04-09) ### Features * Centralized maintainer ownership for CLI help and docs ([#180](#180)) ([ba722a1](ba722a1)) * Enhancements/clob ([#73](#73)) ([29f43dc](29f43dc)) * Timeseries Loader ([#137](#137)) ([9a120e3](9a120e3)) ### Bug Fixes * 184 blob list limit doesnt work ([#188](#188)) ([f1b631b](f1b631b)) * removed | operators ([#191](#191)) ([8092c4b](8092c4b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fishing for thoughts on this: Do it, part of it, none of it, tweak it?
Long-term I think we want to consider one or more DLL or mailing lists for this to help with turnover. Could even use CDA to query for a group of emails over a specific command.
Adds a centralized maintainer/ownership workflow for cwms-cli uses it to surface maintainers in both the CLI help output and the docs.
This adds a user-friendly contact path for issue reporting. It is optional where ownership is not yet defined, and is intended to encourage users to report issues. Issues should always be created for feature requests, bugs, etc. Having authors on sub commands helps provide this contact path where making an issue might otherwise go unreported. Having some email to report something would enable maintainers to create followup issues.
(Issues do report a link to the github issues page for cwms-cli!)
What this does
This introduces a single ownership source of truth in
cwms-cli/maintainers.toml.From that file, the repo now generates and maintains:
That generated data is then used in two user-facing places:
Maintainers:on help pagesEach command has author(s) associated
Implementation details
The sync flow is handled by cwms-cli/scripts/sync_ownership.py
Current command ownership mapping:
CLI help rendering was extended in
cwms-cli/cwmscli/utils/click_help.pyto show maintainers centrally, without hand-editing each command. Ownership lookup is handled bycwms-cli/cwmscli/ownership.py, and nested commands inherit from the nearest owned parent command.Docs were updated to include generated maintainer blocks on the
current command pages:
Contributing / maintenance
cwms-cli/CONTRIBUTING.md was updated to document the new workflow.
Contributors now have explicit guidance to:
There is also enforcement in both local hooks and CI:
(This is probably enough to make sure it is not forgotten)Benefits
This gives
cwms-clia clear ownership model with one place to maintain it.Benefits:
Alternatives considered
Git history / recent commits
This was considered but not used as the primary maintainer source.
Reason:
Manual per-command metadata in source files
This was also considered and partially existed already via author in csv2cwms.
Reason not chosen:
CI-only generation
Not chosen.
Reason:
Verification
Verified locally with:
Follow-up
This covers pages that already exist. For some of the sub commands they do not all have dedicated docs yet.