In its rule-based BGC detection mode, antiSMASH first runs a set of BGC-related HMM profiles on the input data and then uses manually curated rules to identify the BGCs.
The currently used rules can be found at GitHub, and a summary is available here