CtrlK
BlogDocsLog inGet started
Tessl Logo

dpearson2699/swift-ios-skills

Agent skills for iOS, iPadOS, Swift, SwiftUI, and modern Apple framework development.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

rule-reference.mdskills/swiftlint/references/

Bundled Rule Index

This file is an exhaustive local index of SwiftLint rule identifiers grouped by the official rule-directory categories. Use it to avoid leaving a rule out when working offline or scanning the repo quickly.

Treat the official rule directory and swiftlint rules <identifier> as the source of truth for current descriptions, configuration keys, autocorrect support, and future rule additions or reclassifications.

Contents

  • Default Rules
  • Opt-in Rules
  • Analyzer Rules

Default Rules

These rules are enabled automatically. Disable specific ones via disabled_rules in .swiftlint.yml.

attribute_name_spacing, blanket_disable_command, block_based_kvo, class_delegate_protocol, closing_brace, closure_parameter_position, colon, comma, comment_spacing, compiler_protocol_init, computed_accessors_order, control_statement, custom_rules, cyclomatic_complexity, deployment_target, discouraged_direct_init, duplicate_conditions, duplicate_enum_cases, duplicate_imports, duplicated_key_in_dictionary_literal, dynamic_inline, empty_enum_arguments, empty_parameters, empty_parentheses_with_trailing_closure, file_length, for_where, force_cast, force_try, function_body_length, function_name_whitespace, function_parameter_count, generic_type_name, identifier_name, implicit_getter, implicit_optional_initialization, inclusive_language, invalid_swiftlint_command, invisible_character, is_disjoint, large_tuple, leading_whitespace, legacy_cggeometry_functions, legacy_constant, legacy_constructor, legacy_hashing, legacy_nsgeometry_functions, legacy_random, line_length, mark, multiple_closures_with_trailing_closure, nesting, no_fallthrough_only, no_space_in_method_call, non_optional_string_data_conversion, notification_center_detachment, ns_number_init_as_function_reference, nsobject_prefer_isequal, opening_brace, optional_data_string_conversion, orphaned_doc_comment, prefer_type_checking, private_over_fileprivate, private_unit_test, protocol_property_accessors_order, reduce_boolean, redundant_discardable_let, redundant_objc_attribute, redundant_sendable, redundant_set_access_control, redundant_string_enum_value, redundant_void_return, return_arrow_whitespace, self_in_property_initialization, shorthand_operator, statement_position, static_over_final_class, superfluous_disable_command, switch_case_alignment, syntactic_sugar, todo, trailing_comma, trailing_newline, trailing_semicolon, trailing_whitespace, type_body_length, type_name, unavailable_condition, unneeded_break_in_switch, unneeded_override, unneeded_synthesized_initializer, unused_closure_parameter, unused_control_flow_label, unused_enumerated, unused_optional_binding, unused_setter_value, valid_ibinspectable, vertical_parameter_alignment, vertical_whitespace, void_function_in_ternary, void_return, xctfail_message


Opt-in Rules

These rules are disabled by default. Enable selectively via opt_in_rules in .swiftlint.yml.

accessibility_label_for_image, accessibility_trait_for_button, anonymous_argument_in_multiline_closure, array_init, async_without_await, attributes, balanced_xctest_lifecycle, closure_body_length, closure_end_indentation, closure_spacing, collection_alignment, comma_inheritance, conditional_returns_on_newline, contains_over_filter_count, contains_over_filter_is_empty, contains_over_first_not_nil, contains_over_range_nil_comparison, contrasted_opening_brace, convenience_type, direct_return, discarded_notification_center_observer, discouraged_assert, discouraged_default_parameter, discouraged_none_name, discouraged_object_literal, discouraged_optional_boolean, discouraged_optional_collection, empty_collection_literal, empty_count, empty_string, empty_xctest_method, enum_case_associated_values_count, expiring_todo, explicit_acl, explicit_enum_raw_value, explicit_init, explicit_top_level_acl, explicit_type_interface, extension_access_modifier, fallthrough, fatal_error_message, file_header, file_name, file_name_no_space, file_types_order, final_test_case, first_where, flatmap_over_map_reduce, force_unwrapping, function_default_parameter_at_end, ibinspectable_in_extension, identical_operands, implicit_return, implicitly_unwrapped_optional, incompatible_concurrency_annotation, indentation_width, joined_default_parameter, last_where, legacy_multiple, legacy_objc_type, legacy_uigraphics_function, let_var_whitespace, literal_expression_end_indentation, local_doc_comment, lower_acl_than_parent, missing_docs, modifier_order, multiline_arguments, multiline_arguments_brackets, multiline_call_arguments, multiline_function_chains, multiline_literal_brackets, multiline_parameters, multiline_parameters_brackets, nimble_operator, no_empty_block, no_extension_access_modifier, no_grouping_extension, no_magic_numbers, non_overridable_class_declaration, nslocalizedstring_key, nslocalizedstring_require_bundle, number_separator, object_literal, one_declaration_per_file, operator_usage_whitespace, optional_enum_case_matching, overridden_super_call, override_in_extension, pattern_matching_keywords, period_spacing, prefer_asset_symbols, prefer_condition_list, prefer_key_path, prefer_nimble, prefer_self_in_static_references, prefer_self_type_over_type_of_self, prefer_zero_over_explicit_init, prefixed_toplevel_constant, private_action, private_outlet, private_subject, private_swiftui_state, prohibited_interface_builder, prohibited_super_call, quick_discouraged_call, quick_discouraged_focused_test, quick_discouraged_pending_test, raw_value_for_camel_cased_codable_enum, reduce_into, redundant_final, redundant_nil_coalescing, redundant_self, redundant_type_annotation, required_deinit, required_enum_case, return_value_from_void_function, self_binding, shorthand_argument, shorthand_optional_binding, single_test_class, sorted_enum_cases, sorted_first_last, sorted_imports, static_operator, strict_fileprivate, strong_iboutlet, superfluous_else, switch_case_on_newline, test_case_accessibility, toggle_bool, trailing_closure, type_contents_order, unavailable_function, unhandled_throwing_task, unneeded_escaping, unneeded_parentheses_in_closure_argument, unneeded_throws_rethrows, unowned_variable_capture, untyped_error_in_catch, unused_parameter, variable_shadowing, vertical_parameter_alignment_on_call, vertical_whitespace_between_cases, vertical_whitespace_closing_braces, vertical_whitespace_opening_braces, weak_delegate, xct_specific_matcher, yoda_condition


Analyzer Rules

These rules require the Swift compiler's type-checked AST. Run via swiftlint analyze --compiler-log-path <log>. See the custom rules and analyze reference for the full workflow.

capture_variable, explicit_self, typesafe_array_init, unused_declaration, unused_import

skills

.mcp.json

README.md

tile.json