I have started writing a hammer prototype (next-gen foreman cli) that
doesn't do anything yet, but I decided to go ahead and put it in
github, since freezy and terrancecw have expressed an interest in
collaborating.
The URL is here, and pull requests are most welcome.
https://github.com/bgupta/foreman-hammer
Please note, I have recently made a relatively large change in plans,
in that I was planning to use gli as the CLI framework, but have
decided to give Clamp a try. (We can always switch if this looks like
the wrong decision.) gli-2 isn't quite as ready for use, and gli-1
doesn't support subcommands.
I am hoping to make decent progress this week, fleshing out the rest
of a skeleton to deal with syntax and CLI help. (I don't plan to have
it actually talk with foreman until this step is done.) Once the
skeleton is up, it should be easy for folks to fill in bits of
functionality as people need them. Here are the preliminary docs, if
people want to check out what I have in mind regarding hammer syntax:
http://theforeman.org/projects/foreman/wiki/Hammer
If anyone wants to help flesh out the skeleton, feel free to help… we
should coordinate though. (Freezy, I am not gonna touch the
params/smartvars stuff, since it isn't so you can feel free to provide
commits on that without coordination. Still awaiting a spec for those
in the wiki also.)
At this point, the way I am implementing this has very anti-DRY feel
to it, as a number of the collections are very similar, in what you
can do with them, but I don't want to get hung up on perfection, until
I have a (semi) working tool.
Cheers,
Brian