run method

  1. @override
Future<void> run()
override

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);
  }
}