Thanks for the contribution, @adamralph!
I think we might be better off defining behavior rather than defining a type or mode. Does "dev" simply mean "don't include this as a dependency when packing?" If there is only one behavior as a result, I would rather have something like ignoreDependency=true. That way, if another "dev" behavior is identified, we can add another attribute and leave this behavior alone, as people will certainly want to be able to control each switch individually. My concern is that as soon as a second behavior is added into the existing"dev" setting, we will inevitably break someone who doesn't want the second behavior. If we can never add a se one behavior to it, then why name it generically?
Thoughts?