freezed-patterns — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited freezed-patterns (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
import 'package:freezed_annotation/freezed_annotation.dart';
part 'user_model.freezed.dart';
part 'user_model.g.dart';
@freezed
abstract class UserModel with _$UserModel {
const factory UserModel({
required String id,
required String name,
required String email,
@Default('') String avatarUrl,
@JsonKey(name: 'created_at') DateTime? createdAt,
}) = _UserModel;
factory UserModel.fromJson(Map<String, dynamic> json) => _$UserModelFromJson(json);
}@freezed
abstract class User with _$User {
const factory User({
required String id,
required String name,
required String email,
}) = _User;
}@freezed
sealed class AuthState with _$AuthState {
const factory AuthState.initial() = _Initial;
const factory AuthState.authenticated(User user) = _Authenticated;
const factory AuthState.unauthenticated() = _Unauthenticated;
const factory AuthState.error(String message) = _Error;
}
// Kullanim:
authState.when(
initial: () => const SplashScreen(),
authenticated: (user) => HomeScreen(user: user),
unauthenticated: () => const LoginScreen(),
error: (msg) => ErrorScreen(message: msg),
);dart run build_runner build --delete-conflicting-outputs
# veya watch mode:
dart run build_runner watch --delete-conflicting-outputs~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.