Where are rake tasks defined?
If by described you mean defined, rake -W is your friend. Example:
$ rake -W db:create
=>
rake db:create /path/to/ruby/gems/1.9.1/gems/activerecord-3.1.11/lib/active_record/railties/databases.rake:39:in `block in <top (required)>'
Just found this out today :)
Rake tasks are automatically loaded from the folder structure lib/tasks/*.rake
When we are talking about the task db:migrate for example, it is located within the rails gem in lib/tasks/databases.rake
So for a specific project, you will always have the tasks within the project folder structure as well as all tasks within the specified gems.