run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<void> run() async {
stdout.writeln('🔍 Starting FSA Architectural Audit...');
final stopwatch = Stopwatch()..start();
var violations = 0;
violations += await _auditViewIsolation();
violations += await _auditNakedViews();
violations += await _auditPureDesign();
violations += await _auditRepositoryIntegrity();
violations += await _auditNotifierSideEffects();
stopwatch.stop();
stdout.writeln('\n----------------------------------------');
if (violations == 0) {
stdout.writeln('✅ Audit Passed! No architectural violations found. (${stopwatch.elapsedMilliseconds}ms)');
} else {
stdout.writeln('🛑 Audit Failed! Found $violations violations. (${stopwatch.elapsedMilliseconds}ms)');
exit(1);
}
}