UPDATE - Added Bear rotation and next skill prediction. Fixed RIP count for shred.
Feral Druid module for Faceroller.
Faceroller is required to use this.
For Kitty:
The rotation is based on SimulationCraft results for highest DPS discussed at Elitistjerks. The rotation prioritizes keeping SR, Rip, Mangle, Rake up with shred as a filler (mostly in that order). It will tell you when to use Tiger's Fury, and it also will at times flash Berserk - but it's very hard to really hit it at the exact moment you're "supposed" to, so my recommendation is when Berserk is up - use it.
This will also tell when it's appropriate to Ferocious Bite or not.
Faceroller: Feral Druid, like Faceroller itself, is entirely meant for single target DPS (ie: bosses). For trash/multi-mob situations you're going to want to follow the first few guidelines up to SR (essentially, FFF if you have it enabled, Mangle, SR) - and then just swipe. Keep this in mind regarding my Berserk suggestion up top.
For the new prediction, it's very flakey. I strongly recommend you see it as more of a suggestion than 100% "wait 5 seconds". It's there more to let you prepare for the next skill to use, but, that skill changes constantly based on Time to Die, Clearcast, etc.
This isn't perfect by any means, and any suggestions or blatant problems with it please let me know in the comments.
For Bear:
This is extremely basic. Essentially: Mangle if it's not up, Lacerate to 5 stacks, swipe until Lacerate is about to run out and lacerate again. I personally have Maul macro'd to all of the above skills so that it's always being used.
This is, obviously, again centered around single target threat. With multiple mobs you're probably going to want to throw in swipes in between your lacerates - and for more than 3 mobs you're just going to want to tab through everything and swipe constantly (which includes mauling, if you have it macro'd - to make sure you're keeping aggro on everything properly.)
Options
This module allows you to enable or disable Berserk, Feral Faerie Fire, and Mangle suggestions. Type:
/fr opt
After the profile is loaded for the list of commands. I coded in a Time to Die function to determine how long till a mob dies in order to accommodate the Ferocious Bite requirements (and some various others). Credit goes to rTimeToDie module as I used their logic and some code for this.
Known Bugs:
Please Report any.