Either it needs a configuration language like Cisco/Juniper than can be dumped/imported/configured over SSH, or a web API (supposedly on the roadmap for pfsense 3.0 ... ?). I can't say I'm too familiar with the project, but it feels like it's just not a priority and that it's is going to remain very web UI focussed.