# SwiftLint configuration adapted from Peekaboo defaults (Swift 6 friendly) included: - apps/macos/Sources excluded: - .build - DerivedData - "**/.build" - "**/.swiftpm" - "**/DerivedData" - "**/Generated" - "**/Resources" - "**/Package.swift" - "**/Tests/Resources" - node_modules - dist - coverage - "*.playground" # Generated (protocol-gen-swift.ts) - apps/macos/Sources/ClawdbotProtocol/GatewayModels.swift analyzer_rules: - unused_declaration - unused_import opt_in_rules: - array_init - closure_spacing - contains_over_first_not_nil - empty_count - empty_string - explicit_init - fallthrough - fatal_error_message - first_where - joined_default_parameter - last_where - literal_expression_end_indentation - multiline_arguments - multiline_parameters - operator_usage_whitespace - overridden_super_call - pattern_matching_keywords - private_outlet - prohibited_super_call - redundant_nil_coalescing - sorted_first_last - switch_case_alignment - unneeded_parentheses_in_closure_argument - vertical_parameter_alignment_on_call disabled_rules: # SwiftFormat handles these - trailing_whitespace - trailing_newline - trailing_comma - vertical_whitespace - indentation_width # Style exclusions - explicit_self - identifier_name - file_header - explicit_top_level_acl - explicit_acl - explicit_type_interface - missing_docs - required_deinit - prefer_nimble - quick_discouraged_call - quick_discouraged_focused_test - quick_discouraged_pending_test - anonymous_argument_in_multiline_closure - no_extension_access_modifier - no_grouping_extension - switch_case_on_newline - strict_fileprivate - extension_access_modifier - convenience_type - no_magic_numbers - one_declaration_per_file - vertical_whitespace_between_cases - vertical_whitespace_closing_braces - superfluous_else - number_separator - prefixed_toplevel_constant - opening_brace - trailing_closure - contrasted_opening_brace - sorted_imports - redundant_type_annotation - shorthand_optional_binding - untyped_error_in_catch - file_name - todo force_cast: warning force_try: warning type_name: min_length: warning: 2 error: 1 max_length: warning: 60 error: 80 function_body_length: warning: 150 error: 300 function_parameter_count: warning: 7 error: 10 file_length: warning: 1500 error: 2500 ignore_comment_only_lines: true type_body_length: warning: 800 error: 1200 cyclomatic_complexity: warning: 20 error: 120 large_tuple: warning: 4 error: 5 nesting: type_level: warning: 4 error: 6 function_level: warning: 5 error: 7 line_length: warning: 120 error: 250 ignores_comments: true ignores_urls: true reporter: "xcode"