Feature request: rethink cms command line interface
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1k
- Forks
- 412
- Avg merge
- 6d 10h
- Merged PRs (30d)
- 3
Description
Right now there are many different scripts, like:
cmsAdminWebServer
cmsContestWebServer
cmsImporter
cmsMake
...
An idea to make the command line interface easier and more accessible is to use a "git-like" syntax:
cms admin-web-server
cms contest-web-server
cms importer
cms make
...
(commands like cms admin-web-server could be aliased to cms aws, for example)
There are several advantages with this approach:
- by calling just
cmsyou get a nice and welcoming usage screen (likegit) - tab-autocompletion is preserved if it is delegated to bash completion (which is even better)
- when packaging cms for some distro which requires to specify a "provides" field, only the
cmsbinary will be specified (thus packaging scripts will need less maintenance).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing cmsAdminWebServer, cmsContestWebServer, cmsImporter, and cmsMake entry points and the packaging and bash-completion setup. Compare their current invocation paths with the proposed cms subcommands and aliases. Done means the commands are dispatched through a single cms interface, provide a welcoming default usage screen, preserve completion, and reduce packaging entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100