For the moment, we are unable to register a rule only for programming stacks, or only for url based stacks. For example, we currently have the CiScripts rule that registers for all stacks, except for ElasticSearch, and Website stacks which are url based stacks. But what if the user adds some custom url based stacks, the CiScripts rule will be registered for those custom url based stacks because the CiScripts rule does not exclude those custom url based stacks. The user need to modify our code, which is bad.