STRUCTURE Here is an example revised plugin directory structure for the hypothetical plugin 'WildChicken'. vendor/ plugins/ plugin_name/ init.rb install.rb lib/ wild_chicken.rb Rakefile README tasks/ wild_chicken_tasks.rake test/ app/ chicken_controller.rb chicken.rb config/ database.yml fixtures/ chickens.yml functional/ chicken_controller_test.rb helpers/ wild_chicken_test_helper.rb ptk_helper.rb integration/ chicken_integration_test.rb mocks/ mock_chicken.rb performance/ fast_chicken.rb unit/ plugin_name_test.rb views/ GEM Rails Plugin Development Kit * generator for out-of-application plugin generation * generators: generator_plugin, model_plugin, controller_plugin, external_plugin, monkey_patch * test development kit: require_library, require_suite, require_environment, require_application * test development suites & libraries: - gems: activerecord, actionpack, actionmailer, rails (dispatcher, etc.) - assertions: difference, change, keys, flash, cookies, sessions - dependencies: plugins, gems, load paths - performance: benchmarks, stress tests