I’ll get the ball rolling here. While I currently work for TestPlant, if you check my posts from around the forum, you’ll see that I used to work with another company using eggPlant. Our ultimate goal (and they’re still working this way) is to have a keyword framework for expressing their tests in eggPlant.
Having been expanding my knowledge over the years, here’s how I think you should set these things up. Have a suite (or several) that contain of just all of your keywords either as called scripts or SenseTalk handlers. I went the ST handler route (I needed some additional flexibility), but it might be a little easier if you do called scripts.
If you’re in a cross-platform situation, utilize the TIG as much as possible, and create your own text styles and platforms. You can create these in preferences and switch between various text platforms on the fly by detecting your Operating System and setting the currentTextPlatform property at script run time. So for example, instead of capturing images for clicking a menu item:
click "file_menu" -- need an image for each OS
click (text:"File", TextStyle:"Menu")
The beauty here, is it uses the platform that you’ve chosen when you set the CurrentTextPlatform property. The even bigger time saver, is if you change the font that your menus are in, you can simply go to preferences, change it there, and every single script in your list picks up the change.
Also in your cross-platform world, put as much of your “IF OS is Windows do this else if Linux do that else do this other thing” logic inside your keyword functions as possible.
On top of all that, use image collections. As much as possible. It makes your cross-platform life much easier to deal with since you can keep all images for one thing in a collection and eggPlant does the heavy lifting.
Lastly, come up with a naming convention for your scripts and images. There’s a good one in the Using Eggplant section of the documentation.
Hope this helps!