StrayDragon / tweedle

:zap: A bundle of useful script : help you to finish the daily repetitive boring operations, automatic project configs generation, etc
MIT License
3 stars 1 forks source link

[Feature Request] A sub-command named `config` to handle configurations #2

Open StrayDragon opened 4 years ago

StrayDragon commented 4 years ago

Is your feature request related to a problem? Please describe.

Yes, recently, I am falling in love with (Neo)Vim / tmux/ i3wm / ranger / etc , and a ton of configs make me feel hard to control manually, so I want to add this new feature to solve the management of these configs.

Describe the solution you'd like

I hope this sub-command could fire target config to the host environment, reversely, retrieve the host environment's target config to the remote repo(i.e. the place which stores configs), and list or get config briefly, look like that:

$ # `td` is alias of `tweedle`
$ td config list
$ td config get # get config from somewhere
$ td config push vim # .vimrc -> host .vimrc
$ td config pull vim # host .vimrc -> .vimrc

Notes

Some verb maybe replace by other words, but I consider about a best Intuitive way to solve it.

StrayDragon commented 4 years ago

Maybe merge some examples as part of #6

And I think the secondary command 'config' more for its own configuration, it may be possible to use 'self' as own configuration command, but the current implementation use 'manage' as a secondary command to manage items that should be managed.

For instance:

$ tweedle manage appconfig --OPTION ARGUMENTS   # manage config transaction
$ tweedle config XXX.XXX true                   # manage self configs

is more extensible and intuitive than

$ tweedle config --OPTION ARGUMENTS             # manage config transaction
$ tweedle self config XXX.XXX true              # manage self configs