Why not to depend on YaST
There is nothing that does what YaST does for non-SUSE distros. There are little tools here and there but nothing as comprehensive. It's a blessing and a curse. People that come to depend on YaST miss out on how things under the hood actually work.
I would take the time to actually "learn" how things work rather than looking for another crutch. I'm not saying this to be mean, I used to use YaST in my day job and appreciate what it provides but it's a crutch.
If you're truly motivated I did come across this project which appears to be on hold but might be a good code base for you to pick up if you're truly looking for developing something like YaST for other distros.
2. YaST in Ruby
Also it looks like the upcoming version of YaST for SuSE 13.1 was ported to a Ruby implementation, so it might be easier to port thanks to this effort.
3. Yast for Enterprise Linux (RHEL + Unbreakable)
Why did you want to port YaST to Ruby?
YaST was developed in YCP — a custom, simple, inflexible language. For a long time, many YaST developers felt that it slowed them down. It didn’t support many useful concepts like OOP or exception handling, code written in it was hard to test, there were some annoying features (like a tendency to be “robust”, which really means hiding errors). However, original YCP developers moved on to other projects and there wasn’t anyone willing to step in and improve the language.
It was obvious that the only way out of this situation is to change the implementation to some other widely used language (most people were thinking about scripting languages, like Ruby or Python, which offer great flexibility and shorter code compared to e.g. C++ or Java). Such a change would mean we wouldn’t need to maintain our own custom language. It would also allow us to use many third-party libraries and make contributing to the project much easier for outsiders. People wouldn’t have to learn a whole new language just because of YaST.
Changing the implementation language of such a big codebase as YaST is a huge effort, so it’s no wonder that developers mostly only talked about it — for years. It required someone external to the team (David) to decide that’s talking isn’t enough and we should just do it :-)
How were the results?
Good :-) We translated 96 YaST modules in total and currently there is no YCP code used in YaST except few obscure places like examples in the documentation (which need to be manually rewritten to reflect current best practices). YCP is also still used as a serialization format for some data files and for communicating between YaST components, but this does not affect development and we will probably get rid of that too over time.
Oracle has this hosted project which looks to be a modified version of YaST that's specifically for use on RHEL + Unbreakable Linux. I would assume that you could then use it for CentOS and possibly Fedora too.
I'm not sure of its status but might be worth a look. Though it's likely developed in the original YaST codebase, so you might want to take a look at the Ruby implementation first.