The practical move is to encode as much of this as your tool allows: net classes for power (wider traces, larger vias), clearance rules from the fab, courtyard-overlap and silk-over-pad checks on, and — in tools that support it — custom rules for differential-pair gap and length matching. Then run DRC to zero errors, read every warning, and do a last human pass over the guidelines DRC cannot see: decoupling loops, return paths, and the 3D view for mechanical collisions.
In ProtoFlow, DRC runs against the fab limits you enter in board setup, the AI placement pass keeps decoupling near pins by default, and the manufacturing export flags rule violations before Gerbers are generated; KiCad enforces the same categories through board setup, net classes, and custom design rules. Either way, the rules are only as good as the numbers you gave them.