The best place to put these declarations is in a resource artefact. These have a filename ending in Resources.groovy and live in grails-app/conf.

Note that these are Groovy ConfigSlurper scripts that are therefore environment-aware, so you can declare different resources for e.g. dev, test and production.

Example grails-app/conf/MyAppResources.groovy:

{code:java}
modules = {
    core {
        dependsOn 'jquery, utils'
        defaultBundle 'ui'

        resource url:'/js/core.js', disposition: 'head'
        resource url:'/js/ui.js'
    }
    
    utils {
        dependsOn 'jquery'
        
        resource url:'/js/utils.js' 
    }

    forms {
        dependsOn 'core,utils'
        defaultBundle 'ui'
        
        resource url:'/css/forms.css'
        resource url:'/js/forms.js'
    }
}
{code}
