[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-flutter-dart-run-static-analysis":3,"mdc--u1f2a5-key":32,"related-org-flutter-dart-run-static-analysis":1209,"related-repo-flutter-dart-run-static-analysis":1339},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":30,"mdContent":31},"dart-run-static-analysis","run static analysis and apply fixes","Execute `dart analyze` to identify warnings and errors, and use `dart fix --apply` to automatically resolve mechanical lint issues. Use during development to ensure code quality and before committing changes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"flutter","Flutter (Google)","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fflutter.png",[12,16,19],{"name":13,"slug":14,"type":15},"Dart","dart","tag",{"name":17,"slug":18,"type":15},"Code Analysis","code-analysis",{"name":20,"slug":21,"type":15},"Debugging","debugging",2664,"https:\u002F\u002Fgithub.com\u002Fflutter\u002Fagent-plugins","2026-07-15T05:22:23.861119",null,155,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":25},[],"https:\u002F\u002Fgithub.com\u002Fflutter\u002Fagent-plugins\u002Ftree\u002FHEAD\u002Fskills\u002Fdart-run-static-analysis","---\nname: dart-run-static-analysis\ndescription: Execute `dart analyze` to identify warnings and errors, and use `dart fix --apply` to automatically resolve mechanical lint issues. Use during development to ensure code quality and before committing changes.\nmetadata:\n  model: models\u002Fgemini-3.1-pro-preview\n  last_modified: Fri, 24 Apr 2026 15:09:34 GMT\n---\n# Analyzing and Fixing Dart Code\n\n## Contents\n- [Analysis Configuration](#analysis-configuration)\n- [Diagnostic Suppression](#diagnostic-suppression)\n- [Workflow: Executing Static Analysis](#workflow-executing-static-analysis)\n- [Workflow: Applying Automated Fixes](#workflow-applying-automated-fixes)\n- [Examples](#examples)\n\n## Analysis Configuration\n\nConfigure the Dart analyzer using the `analysis_options.yaml` file located at the package root.\n\n- **Base Configuration:** Always include a standard rule set (e.g., `package:lints\u002Frecommended.yaml` or `package:flutter_lints\u002Fflutter.yaml`) using the `include:` directive.\n- **Strict Type Checks:** Enable strict type checks under the `analyzer: language:` node to prevent implicit downcasts and dynamic inferences. Set `strict-casts: true`, `strict-inference: true`, and `strict-raw-types: true`.\n- **Linter Rules:** Explicitly enable or disable specific rules under the `linter: rules:` node. Use a key-value map (`rule_name: true\u002Ffalse`) when overriding included rules, or a list (`- rule_name`) when defining a fresh set. Do not mix list and map syntax in the same `rules` block.\n- **Formatter Configuration:** Configure `dart format` behavior under the `formatter:` node. Set `page_width` (default 80) and `trailing_commas` (`automate` or `preserve`).\n- **Analyzer Plugins:** Enable custom diagnostics by adding plugins under the `analyzer: plugins:` node. Ensure the plugin package is added as a `dev_dependency` in `pubspec.yaml`.\n\n## Diagnostic Suppression\n\nWhen a diagnostic (lint or warning) yields a false positive or applies to generated code, suppress it explicitly.\n\n- **File-level Exclusion:** Use the `analyzer: exclude:` node in `analysis_options.yaml` to exclude entire files or directories (e.g., `**\u002F*.g.dart`) using glob patterns.\n- **File-level Suppression:** Add `\u002F\u002F ignore_for_file: \u003Cdiagnostic_code>` at the top of a Dart file to suppress specific diagnostics for the entire file. Use `\u002F\u002F ignore_for_file: type=lint` to suppress all linter rules.\n- **Line-level Suppression:** Add `\u002F\u002F ignore: \u003Cdiagnostic_code>` on the line directly above the offending code, or appended to the end of the offending line.\n- **Pubspec Suppression:** Add `# ignore: \u003Cdiagnostic_code>` above the offending line in `pubspec.yaml` files (e.g., `# ignore: sort_pub_dependencies`).\n- **Plugin Diagnostics:** Prefix the diagnostic code with the plugin name when suppressing plugin-specific issues (e.g., `\u002F\u002F ignore: some_plugin\u002Fsome_code`).\n\n## Workflow: Executing Static Analysis\n\nUse this workflow to identify type-related bugs, style violations, and potential runtime errors.\n\n**Task Progress:**\n- [ ] 1. Verify `analysis_options.yaml` exists at the project root.\n- [ ] 2. Run the analyzer using the `analyze_files` MCP tool (if available) or the CLI command `dart analyze \u003Ctarget_directory>`.\n- [ ] 3. Review the diagnostic output.\n- [ ] 4. If info-level issues must be treated as failures, append the `--fatal-infos` flag.\n- [ ] 5. Resolve reported errors manually or proceed to the Automated Fixes workflow.\n\n## Workflow: Applying Automated Fixes\n\nUse this workflow to resolve outdated API usages, apply quick fixes, and migrate code (e.g., Dart 3 migrations).\n\n**Task Progress:**\n- [ ] 1. Execute a dry run to preview proposed changes using the `dart_fix` MCP tool or CLI command `dart fix --dry-run`.\n- [ ] 2. Review the proposed fixes to ensure they align with the intended architecture.\n- [ ] 3. If additional fixes are required, verify that the corresponding linter rules are enabled in `analysis_options.yaml`.\n- [ ] 4. Apply the fixes using the `dart_fix` MCP tool or CLI command `dart fix --apply`.\n- [ ] 5. Format the modified code using the `dart_format` MCP tool or CLI command `dart format .`.\n- [ ] 6. Run the static analysis workflow to verify all diagnostics are resolved.\n\n## Examples\n\n### Comprehensive `analysis_options.yaml`\n\n```yaml\ninclude: package:flutter_lints\u002Frecommended.yaml\n\nanalyzer:\n  exclude:\n    - \"**\u002F*.g.dart\"\n    - \"lib\u002Fgenerated\u002F**\"\n  language:\n    strict-casts: true\n    strict-inference: true\n    strict-raw-types: true\n  errors:\n    todo: ignore\n    invalid_assignment: warning\n    missing_return: error\n\nlinter:\n  rules:\n    avoid_shadowing_type_parameters: false\n    await_only_futures: true\n    use_super_parameters: true\n\nformatter:\n  page_width: 100\n  trailing_commas: preserve\n```\n\n### Inline Diagnostic Suppression\n\n```dart\n\u002F\u002F Suppress for the entire file\n\u002F\u002F ignore_for_file: unused_local_variable, dead_code\n\nvoid processData() {\n  \u002F\u002F Suppress for a specific line\n  \u002F\u002F ignore: invalid_assignment\n  int x = '';\n  \n  const y = 10; \u002F\u002F ignore: constant_identifier_names\n}\n```\n",{"data":33,"body":37},{"name":4,"description":6,"metadata":34},{"model":35,"last_modified":36},"models\u002Fgemini-3.1-pro-preview","Fri, 24 Apr 2026 15:09:34 GMT",{"type":38,"children":39},"root",[40,49,56,107,112,127,339,344,349,476,481,486,494,578,583,588,595,701,706,718,1110,1116,1203],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"analyzing-and-fixing-dart-code",[46],{"type":47,"value":48},"text","Analyzing and Fixing Dart Code",{"type":41,"tag":50,"props":51,"children":53},"h2",{"id":52},"contents",[54],{"type":47,"value":55},"Contents",{"type":41,"tag":57,"props":58,"children":59},"ul",{},[60,71,80,89,98],{"type":41,"tag":61,"props":62,"children":63},"li",{},[64],{"type":41,"tag":65,"props":66,"children":68},"a",{"href":67},"#analysis-configuration",[69],{"type":47,"value":70},"Analysis Configuration",{"type":41,"tag":61,"props":72,"children":73},{},[74],{"type":41,"tag":65,"props":75,"children":77},{"href":76},"#diagnostic-suppression",[78],{"type":47,"value":79},"Diagnostic Suppression",{"type":41,"tag":61,"props":81,"children":82},{},[83],{"type":41,"tag":65,"props":84,"children":86},{"href":85},"#workflow-executing-static-analysis",[87],{"type":47,"value":88},"Workflow: Executing Static Analysis",{"type":41,"tag":61,"props":90,"children":91},{},[92],{"type":41,"tag":65,"props":93,"children":95},{"href":94},"#workflow-applying-automated-fixes",[96],{"type":47,"value":97},"Workflow: Applying Automated Fixes",{"type":41,"tag":61,"props":99,"children":100},{},[101],{"type":41,"tag":65,"props":102,"children":104},{"href":103},"#examples",[105],{"type":47,"value":106},"Examples",{"type":41,"tag":50,"props":108,"children":110},{"id":109},"analysis-configuration",[111],{"type":47,"value":70},{"type":41,"tag":113,"props":114,"children":115},"p",{},[116,118,125],{"type":47,"value":117},"Configure the Dart analyzer using the ",{"type":41,"tag":119,"props":120,"children":122},"code",{"className":121},[],[123],{"type":47,"value":124},"analysis_options.yaml",{"type":47,"value":126}," file located at the package root.",{"type":41,"tag":57,"props":128,"children":129},{},[130,165,207,249,306],{"type":41,"tag":61,"props":131,"children":132},{},[133,139,141,147,149,155,157,163],{"type":41,"tag":134,"props":135,"children":136},"strong",{},[137],{"type":47,"value":138},"Base Configuration:",{"type":47,"value":140}," Always include a standard rule set (e.g., ",{"type":41,"tag":119,"props":142,"children":144},{"className":143},[],[145],{"type":47,"value":146},"package:lints\u002Frecommended.yaml",{"type":47,"value":148}," or ",{"type":41,"tag":119,"props":150,"children":152},{"className":151},[],[153],{"type":47,"value":154},"package:flutter_lints\u002Fflutter.yaml",{"type":47,"value":156},") using the ",{"type":41,"tag":119,"props":158,"children":160},{"className":159},[],[161],{"type":47,"value":162},"include:",{"type":47,"value":164}," directive.",{"type":41,"tag":61,"props":166,"children":167},{},[168,173,175,181,183,189,191,197,199,205],{"type":41,"tag":134,"props":169,"children":170},{},[171],{"type":47,"value":172},"Strict Type Checks:",{"type":47,"value":174}," Enable strict type checks under the ",{"type":41,"tag":119,"props":176,"children":178},{"className":177},[],[179],{"type":47,"value":180},"analyzer: language:",{"type":47,"value":182}," node to prevent implicit downcasts and dynamic inferences. Set ",{"type":41,"tag":119,"props":184,"children":186},{"className":185},[],[187],{"type":47,"value":188},"strict-casts: true",{"type":47,"value":190},", ",{"type":41,"tag":119,"props":192,"children":194},{"className":193},[],[195],{"type":47,"value":196},"strict-inference: true",{"type":47,"value":198},", and ",{"type":41,"tag":119,"props":200,"children":202},{"className":201},[],[203],{"type":47,"value":204},"strict-raw-types: true",{"type":47,"value":206},".",{"type":41,"tag":61,"props":208,"children":209},{},[210,215,217,223,225,231,233,239,241,247],{"type":41,"tag":134,"props":211,"children":212},{},[213],{"type":47,"value":214},"Linter Rules:",{"type":47,"value":216}," Explicitly enable or disable specific rules under the ",{"type":41,"tag":119,"props":218,"children":220},{"className":219},[],[221],{"type":47,"value":222},"linter: rules:",{"type":47,"value":224}," node. Use a key-value map (",{"type":41,"tag":119,"props":226,"children":228},{"className":227},[],[229],{"type":47,"value":230},"rule_name: true\u002Ffalse",{"type":47,"value":232},") when overriding included rules, or a list (",{"type":41,"tag":119,"props":234,"children":236},{"className":235},[],[237],{"type":47,"value":238},"- rule_name",{"type":47,"value":240},") when defining a fresh set. Do not mix list and map syntax in the same ",{"type":41,"tag":119,"props":242,"children":244},{"className":243},[],[245],{"type":47,"value":246},"rules",{"type":47,"value":248}," block.",{"type":41,"tag":61,"props":250,"children":251},{},[252,257,259,265,267,273,275,281,283,289,291,297,298,304],{"type":41,"tag":134,"props":253,"children":254},{},[255],{"type":47,"value":256},"Formatter Configuration:",{"type":47,"value":258}," Configure ",{"type":41,"tag":119,"props":260,"children":262},{"className":261},[],[263],{"type":47,"value":264},"dart format",{"type":47,"value":266}," behavior under the ",{"type":41,"tag":119,"props":268,"children":270},{"className":269},[],[271],{"type":47,"value":272},"formatter:",{"type":47,"value":274}," node. Set ",{"type":41,"tag":119,"props":276,"children":278},{"className":277},[],[279],{"type":47,"value":280},"page_width",{"type":47,"value":282}," (default 80) and ",{"type":41,"tag":119,"props":284,"children":286},{"className":285},[],[287],{"type":47,"value":288},"trailing_commas",{"type":47,"value":290}," (",{"type":41,"tag":119,"props":292,"children":294},{"className":293},[],[295],{"type":47,"value":296},"automate",{"type":47,"value":148},{"type":41,"tag":119,"props":299,"children":301},{"className":300},[],[302],{"type":47,"value":303},"preserve",{"type":47,"value":305},").",{"type":41,"tag":61,"props":307,"children":308},{},[309,314,316,322,324,330,332,338],{"type":41,"tag":134,"props":310,"children":311},{},[312],{"type":47,"value":313},"Analyzer Plugins:",{"type":47,"value":315}," Enable custom diagnostics by adding plugins under the ",{"type":41,"tag":119,"props":317,"children":319},{"className":318},[],[320],{"type":47,"value":321},"analyzer: plugins:",{"type":47,"value":323}," node. Ensure the plugin package is added as a ",{"type":41,"tag":119,"props":325,"children":327},{"className":326},[],[328],{"type":47,"value":329},"dev_dependency",{"type":47,"value":331}," in ",{"type":41,"tag":119,"props":333,"children":335},{"className":334},[],[336],{"type":47,"value":337},"pubspec.yaml",{"type":47,"value":206},{"type":41,"tag":50,"props":340,"children":342},{"id":341},"diagnostic-suppression",[343],{"type":47,"value":79},{"type":41,"tag":113,"props":345,"children":346},{},[347],{"type":47,"value":348},"When a diagnostic (lint or warning) yields a false positive or applies to generated code, suppress it explicitly.",{"type":41,"tag":57,"props":350,"children":351},{},[352,385,411,428,459],{"type":41,"tag":61,"props":353,"children":354},{},[355,360,362,368,370,375,377,383],{"type":41,"tag":134,"props":356,"children":357},{},[358],{"type":47,"value":359},"File-level Exclusion:",{"type":47,"value":361}," Use the ",{"type":41,"tag":119,"props":363,"children":365},{"className":364},[],[366],{"type":47,"value":367},"analyzer: exclude:",{"type":47,"value":369}," node in ",{"type":41,"tag":119,"props":371,"children":373},{"className":372},[],[374],{"type":47,"value":124},{"type":47,"value":376}," to exclude entire files or directories (e.g., ",{"type":41,"tag":119,"props":378,"children":380},{"className":379},[],[381],{"type":47,"value":382},"**\u002F*.g.dart",{"type":47,"value":384},") using glob patterns.",{"type":41,"tag":61,"props":386,"children":387},{},[388,393,395,401,403,409],{"type":41,"tag":134,"props":389,"children":390},{},[391],{"type":47,"value":392},"File-level Suppression:",{"type":47,"value":394}," Add ",{"type":41,"tag":119,"props":396,"children":398},{"className":397},[],[399],{"type":47,"value":400},"\u002F\u002F ignore_for_file: \u003Cdiagnostic_code>",{"type":47,"value":402}," at the top of a Dart file to suppress specific diagnostics for the entire file. Use ",{"type":41,"tag":119,"props":404,"children":406},{"className":405},[],[407],{"type":47,"value":408},"\u002F\u002F ignore_for_file: type=lint",{"type":47,"value":410}," to suppress all linter rules.",{"type":41,"tag":61,"props":412,"children":413},{},[414,419,420,426],{"type":41,"tag":134,"props":415,"children":416},{},[417],{"type":47,"value":418},"Line-level Suppression:",{"type":47,"value":394},{"type":41,"tag":119,"props":421,"children":423},{"className":422},[],[424],{"type":47,"value":425},"\u002F\u002F ignore: \u003Cdiagnostic_code>",{"type":47,"value":427}," on the line directly above the offending code, or appended to the end of the offending line.",{"type":41,"tag":61,"props":429,"children":430},{},[431,436,437,443,445,450,452,458],{"type":41,"tag":134,"props":432,"children":433},{},[434],{"type":47,"value":435},"Pubspec Suppression:",{"type":47,"value":394},{"type":41,"tag":119,"props":438,"children":440},{"className":439},[],[441],{"type":47,"value":442},"# ignore: \u003Cdiagnostic_code>",{"type":47,"value":444}," above the offending line in ",{"type":41,"tag":119,"props":446,"children":448},{"className":447},[],[449],{"type":47,"value":337},{"type":47,"value":451}," files (e.g., ",{"type":41,"tag":119,"props":453,"children":455},{"className":454},[],[456],{"type":47,"value":457},"# ignore: sort_pub_dependencies",{"type":47,"value":305},{"type":41,"tag":61,"props":460,"children":461},{},[462,467,469,475],{"type":41,"tag":134,"props":463,"children":464},{},[465],{"type":47,"value":466},"Plugin Diagnostics:",{"type":47,"value":468}," Prefix the diagnostic code with the plugin name when suppressing plugin-specific issues (e.g., ",{"type":41,"tag":119,"props":470,"children":472},{"className":471},[],[473],{"type":47,"value":474},"\u002F\u002F ignore: some_plugin\u002Fsome_code",{"type":47,"value":305},{"type":41,"tag":50,"props":477,"children":479},{"id":478},"workflow-executing-static-analysis",[480],{"type":47,"value":88},{"type":41,"tag":113,"props":482,"children":483},{},[484],{"type":47,"value":485},"Use this workflow to identify type-related bugs, style violations, and potential runtime errors.",{"type":41,"tag":113,"props":487,"children":488},{},[489],{"type":41,"tag":134,"props":490,"children":491},{},[492],{"type":47,"value":493},"Task Progress:",{"type":41,"tag":57,"props":495,"children":498},{"className":496},[497],"contains-task-list",[499,519,543,552,569],{"type":41,"tag":61,"props":500,"children":503},{"className":501},[502],"task-list-item",[504,510,512,517],{"type":41,"tag":505,"props":506,"children":509},"input",{"disabled":507,"type":508},true,"checkbox",[],{"type":47,"value":511}," 1. Verify ",{"type":41,"tag":119,"props":513,"children":515},{"className":514},[],[516],{"type":47,"value":124},{"type":47,"value":518}," exists at the project root.",{"type":41,"tag":61,"props":520,"children":522},{"className":521},[502],[523,526,528,534,536,542],{"type":41,"tag":505,"props":524,"children":525},{"disabled":507,"type":508},[],{"type":47,"value":527}," 2. Run the analyzer using the ",{"type":41,"tag":119,"props":529,"children":531},{"className":530},[],[532],{"type":47,"value":533},"analyze_files",{"type":47,"value":535}," MCP tool (if available) or the CLI command ",{"type":41,"tag":119,"props":537,"children":539},{"className":538},[],[540],{"type":47,"value":541},"dart analyze \u003Ctarget_directory>",{"type":47,"value":206},{"type":41,"tag":61,"props":544,"children":546},{"className":545},[502],[547,550],{"type":41,"tag":505,"props":548,"children":549},{"disabled":507,"type":508},[],{"type":47,"value":551}," 3. Review the diagnostic output.",{"type":41,"tag":61,"props":553,"children":555},{"className":554},[502],[556,559,561,567],{"type":41,"tag":505,"props":557,"children":558},{"disabled":507,"type":508},[],{"type":47,"value":560}," 4. If info-level issues must be treated as failures, append the ",{"type":41,"tag":119,"props":562,"children":564},{"className":563},[],[565],{"type":47,"value":566},"--fatal-infos",{"type":47,"value":568}," flag.",{"type":41,"tag":61,"props":570,"children":572},{"className":571},[502],[573,576],{"type":41,"tag":505,"props":574,"children":575},{"disabled":507,"type":508},[],{"type":47,"value":577}," 5. Resolve reported errors manually or proceed to the Automated Fixes workflow.",{"type":41,"tag":50,"props":579,"children":581},{"id":580},"workflow-applying-automated-fixes",[582],{"type":47,"value":97},{"type":41,"tag":113,"props":584,"children":585},{},[586],{"type":47,"value":587},"Use this workflow to resolve outdated API usages, apply quick fixes, and migrate code (e.g., Dart 3 migrations).",{"type":41,"tag":113,"props":589,"children":590},{},[591],{"type":41,"tag":134,"props":592,"children":593},{},[594],{"type":47,"value":493},{"type":41,"tag":57,"props":596,"children":598},{"className":597},[497],[599,623,632,647,669,692],{"type":41,"tag":61,"props":600,"children":602},{"className":601},[502],[603,606,608,614,616,622],{"type":41,"tag":505,"props":604,"children":605},{"disabled":507,"type":508},[],{"type":47,"value":607}," 1. Execute a dry run to preview proposed changes using the ",{"type":41,"tag":119,"props":609,"children":611},{"className":610},[],[612],{"type":47,"value":613},"dart_fix",{"type":47,"value":615}," MCP tool or CLI command ",{"type":41,"tag":119,"props":617,"children":619},{"className":618},[],[620],{"type":47,"value":621},"dart fix --dry-run",{"type":47,"value":206},{"type":41,"tag":61,"props":624,"children":626},{"className":625},[502],[627,630],{"type":41,"tag":505,"props":628,"children":629},{"disabled":507,"type":508},[],{"type":47,"value":631}," 2. Review the proposed fixes to ensure they align with the intended architecture.",{"type":41,"tag":61,"props":633,"children":635},{"className":634},[502],[636,639,641,646],{"type":41,"tag":505,"props":637,"children":638},{"disabled":507,"type":508},[],{"type":47,"value":640}," 3. If additional fixes are required, verify that the corresponding linter rules are enabled in ",{"type":41,"tag":119,"props":642,"children":644},{"className":643},[],[645],{"type":47,"value":124},{"type":47,"value":206},{"type":41,"tag":61,"props":648,"children":650},{"className":649},[502],[651,654,656,661,662,668],{"type":41,"tag":505,"props":652,"children":653},{"disabled":507,"type":508},[],{"type":47,"value":655}," 4. Apply the fixes using the ",{"type":41,"tag":119,"props":657,"children":659},{"className":658},[],[660],{"type":47,"value":613},{"type":47,"value":615},{"type":41,"tag":119,"props":663,"children":665},{"className":664},[],[666],{"type":47,"value":667},"dart fix --apply",{"type":47,"value":206},{"type":41,"tag":61,"props":670,"children":672},{"className":671},[502],[673,676,678,684,685,691],{"type":41,"tag":505,"props":674,"children":675},{"disabled":507,"type":508},[],{"type":47,"value":677}," 5. Format the modified code using the ",{"type":41,"tag":119,"props":679,"children":681},{"className":680},[],[682],{"type":47,"value":683},"dart_format",{"type":47,"value":615},{"type":41,"tag":119,"props":686,"children":688},{"className":687},[],[689],{"type":47,"value":690},"dart format .",{"type":47,"value":206},{"type":41,"tag":61,"props":693,"children":695},{"className":694},[502],[696,699],{"type":41,"tag":505,"props":697,"children":698},{"disabled":507,"type":508},[],{"type":47,"value":700}," 6. Run the static analysis workflow to verify all diagnostics are resolved.",{"type":41,"tag":50,"props":702,"children":704},{"id":703},"examples",[705],{"type":47,"value":106},{"type":41,"tag":707,"props":708,"children":710},"h3",{"id":709},"comprehensive-analysis_optionsyaml",[711,713],{"type":47,"value":712},"Comprehensive ",{"type":41,"tag":119,"props":714,"children":716},{"className":715},[],[717],{"type":47,"value":124},{"type":41,"tag":719,"props":720,"children":725},"pre",{"className":721,"code":722,"language":723,"meta":724,"style":724},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","include: package:flutter_lints\u002Frecommended.yaml\n\nanalyzer:\n  exclude:\n    - \"**\u002F*.g.dart\"\n    - \"lib\u002Fgenerated\u002F**\"\n  language:\n    strict-casts: true\n    strict-inference: true\n    strict-raw-types: true\n  errors:\n    todo: ignore\n    invalid_assignment: warning\n    missing_return: error\n\nlinter:\n  rules:\n    avoid_shadowing_type_parameters: false\n    await_only_futures: true\n    use_super_parameters: true\n\nformatter:\n  page_width: 100\n  trailing_commas: preserve\n","yaml","",[726],{"type":41,"tag":119,"props":727,"children":728},{"__ignoreMap":724},[729,753,762,776,789,812,833,846,865,882,899,912,930,948,966,974,987,1000,1018,1035,1052,1060,1073,1092],{"type":41,"tag":730,"props":731,"children":734},"span",{"class":732,"line":733},"line",1,[735,741,747],{"type":41,"tag":730,"props":736,"children":738},{"style":737},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[739],{"type":47,"value":740},"include",{"type":41,"tag":730,"props":742,"children":744},{"style":743},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[745],{"type":47,"value":746},":",{"type":41,"tag":730,"props":748,"children":750},{"style":749},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[751],{"type":47,"value":752}," package:flutter_lints\u002Frecommended.yaml\n",{"type":41,"tag":730,"props":754,"children":756},{"class":732,"line":755},2,[757],{"type":41,"tag":730,"props":758,"children":759},{"emptyLinePlaceholder":507},[760],{"type":47,"value":761},"\n",{"type":41,"tag":730,"props":763,"children":765},{"class":732,"line":764},3,[766,771],{"type":41,"tag":730,"props":767,"children":768},{"style":737},[769],{"type":47,"value":770},"analyzer",{"type":41,"tag":730,"props":772,"children":773},{"style":743},[774],{"type":47,"value":775},":\n",{"type":41,"tag":730,"props":777,"children":779},{"class":732,"line":778},4,[780,785],{"type":41,"tag":730,"props":781,"children":782},{"style":737},[783],{"type":47,"value":784},"  exclude",{"type":41,"tag":730,"props":786,"children":787},{"style":743},[788],{"type":47,"value":775},{"type":41,"tag":730,"props":790,"children":792},{"class":732,"line":791},5,[793,798,803,807],{"type":41,"tag":730,"props":794,"children":795},{"style":743},[796],{"type":47,"value":797},"    -",{"type":41,"tag":730,"props":799,"children":800},{"style":743},[801],{"type":47,"value":802}," \"",{"type":41,"tag":730,"props":804,"children":805},{"style":749},[806],{"type":47,"value":382},{"type":41,"tag":730,"props":808,"children":809},{"style":743},[810],{"type":47,"value":811},"\"\n",{"type":41,"tag":730,"props":813,"children":815},{"class":732,"line":814},6,[816,820,824,829],{"type":41,"tag":730,"props":817,"children":818},{"style":743},[819],{"type":47,"value":797},{"type":41,"tag":730,"props":821,"children":822},{"style":743},[823],{"type":47,"value":802},{"type":41,"tag":730,"props":825,"children":826},{"style":749},[827],{"type":47,"value":828},"lib\u002Fgenerated\u002F**",{"type":41,"tag":730,"props":830,"children":831},{"style":743},[832],{"type":47,"value":811},{"type":41,"tag":730,"props":834,"children":836},{"class":732,"line":835},7,[837,842],{"type":41,"tag":730,"props":838,"children":839},{"style":737},[840],{"type":47,"value":841},"  language",{"type":41,"tag":730,"props":843,"children":844},{"style":743},[845],{"type":47,"value":775},{"type":41,"tag":730,"props":847,"children":849},{"class":732,"line":848},8,[850,855,859],{"type":41,"tag":730,"props":851,"children":852},{"style":737},[853],{"type":47,"value":854},"    strict-casts",{"type":41,"tag":730,"props":856,"children":857},{"style":743},[858],{"type":47,"value":746},{"type":41,"tag":730,"props":860,"children":862},{"style":861},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[863],{"type":47,"value":864}," true\n",{"type":41,"tag":730,"props":866,"children":868},{"class":732,"line":867},9,[869,874,878],{"type":41,"tag":730,"props":870,"children":871},{"style":737},[872],{"type":47,"value":873},"    strict-inference",{"type":41,"tag":730,"props":875,"children":876},{"style":743},[877],{"type":47,"value":746},{"type":41,"tag":730,"props":879,"children":880},{"style":861},[881],{"type":47,"value":864},{"type":41,"tag":730,"props":883,"children":885},{"class":732,"line":884},10,[886,891,895],{"type":41,"tag":730,"props":887,"children":888},{"style":737},[889],{"type":47,"value":890},"    strict-raw-types",{"type":41,"tag":730,"props":892,"children":893},{"style":743},[894],{"type":47,"value":746},{"type":41,"tag":730,"props":896,"children":897},{"style":861},[898],{"type":47,"value":864},{"type":41,"tag":730,"props":900,"children":902},{"class":732,"line":901},11,[903,908],{"type":41,"tag":730,"props":904,"children":905},{"style":737},[906],{"type":47,"value":907},"  errors",{"type":41,"tag":730,"props":909,"children":910},{"style":743},[911],{"type":47,"value":775},{"type":41,"tag":730,"props":913,"children":915},{"class":732,"line":914},12,[916,921,925],{"type":41,"tag":730,"props":917,"children":918},{"style":737},[919],{"type":47,"value":920},"    todo",{"type":41,"tag":730,"props":922,"children":923},{"style":743},[924],{"type":47,"value":746},{"type":41,"tag":730,"props":926,"children":927},{"style":749},[928],{"type":47,"value":929}," ignore\n",{"type":41,"tag":730,"props":931,"children":933},{"class":732,"line":932},13,[934,939,943],{"type":41,"tag":730,"props":935,"children":936},{"style":737},[937],{"type":47,"value":938},"    invalid_assignment",{"type":41,"tag":730,"props":940,"children":941},{"style":743},[942],{"type":47,"value":746},{"type":41,"tag":730,"props":944,"children":945},{"style":749},[946],{"type":47,"value":947}," warning\n",{"type":41,"tag":730,"props":949,"children":951},{"class":732,"line":950},14,[952,957,961],{"type":41,"tag":730,"props":953,"children":954},{"style":737},[955],{"type":47,"value":956},"    missing_return",{"type":41,"tag":730,"props":958,"children":959},{"style":743},[960],{"type":47,"value":746},{"type":41,"tag":730,"props":962,"children":963},{"style":749},[964],{"type":47,"value":965}," error\n",{"type":41,"tag":730,"props":967,"children":969},{"class":732,"line":968},15,[970],{"type":41,"tag":730,"props":971,"children":972},{"emptyLinePlaceholder":507},[973],{"type":47,"value":761},{"type":41,"tag":730,"props":975,"children":977},{"class":732,"line":976},16,[978,983],{"type":41,"tag":730,"props":979,"children":980},{"style":737},[981],{"type":47,"value":982},"linter",{"type":41,"tag":730,"props":984,"children":985},{"style":743},[986],{"type":47,"value":775},{"type":41,"tag":730,"props":988,"children":990},{"class":732,"line":989},17,[991,996],{"type":41,"tag":730,"props":992,"children":993},{"style":737},[994],{"type":47,"value":995},"  rules",{"type":41,"tag":730,"props":997,"children":998},{"style":743},[999],{"type":47,"value":775},{"type":41,"tag":730,"props":1001,"children":1003},{"class":732,"line":1002},18,[1004,1009,1013],{"type":41,"tag":730,"props":1005,"children":1006},{"style":737},[1007],{"type":47,"value":1008},"    avoid_shadowing_type_parameters",{"type":41,"tag":730,"props":1010,"children":1011},{"style":743},[1012],{"type":47,"value":746},{"type":41,"tag":730,"props":1014,"children":1015},{"style":861},[1016],{"type":47,"value":1017}," false\n",{"type":41,"tag":730,"props":1019,"children":1021},{"class":732,"line":1020},19,[1022,1027,1031],{"type":41,"tag":730,"props":1023,"children":1024},{"style":737},[1025],{"type":47,"value":1026},"    await_only_futures",{"type":41,"tag":730,"props":1028,"children":1029},{"style":743},[1030],{"type":47,"value":746},{"type":41,"tag":730,"props":1032,"children":1033},{"style":861},[1034],{"type":47,"value":864},{"type":41,"tag":730,"props":1036,"children":1038},{"class":732,"line":1037},20,[1039,1044,1048],{"type":41,"tag":730,"props":1040,"children":1041},{"style":737},[1042],{"type":47,"value":1043},"    use_super_parameters",{"type":41,"tag":730,"props":1045,"children":1046},{"style":743},[1047],{"type":47,"value":746},{"type":41,"tag":730,"props":1049,"children":1050},{"style":861},[1051],{"type":47,"value":864},{"type":41,"tag":730,"props":1053,"children":1055},{"class":732,"line":1054},21,[1056],{"type":41,"tag":730,"props":1057,"children":1058},{"emptyLinePlaceholder":507},[1059],{"type":47,"value":761},{"type":41,"tag":730,"props":1061,"children":1063},{"class":732,"line":1062},22,[1064,1069],{"type":41,"tag":730,"props":1065,"children":1066},{"style":737},[1067],{"type":47,"value":1068},"formatter",{"type":41,"tag":730,"props":1070,"children":1071},{"style":743},[1072],{"type":47,"value":775},{"type":41,"tag":730,"props":1074,"children":1076},{"class":732,"line":1075},23,[1077,1082,1086],{"type":41,"tag":730,"props":1078,"children":1079},{"style":737},[1080],{"type":47,"value":1081},"  page_width",{"type":41,"tag":730,"props":1083,"children":1084},{"style":743},[1085],{"type":47,"value":746},{"type":41,"tag":730,"props":1087,"children":1089},{"style":1088},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1090],{"type":47,"value":1091}," 100\n",{"type":41,"tag":730,"props":1093,"children":1095},{"class":732,"line":1094},24,[1096,1101,1105],{"type":41,"tag":730,"props":1097,"children":1098},{"style":737},[1099],{"type":47,"value":1100},"  trailing_commas",{"type":41,"tag":730,"props":1102,"children":1103},{"style":743},[1104],{"type":47,"value":746},{"type":41,"tag":730,"props":1106,"children":1107},{"style":749},[1108],{"type":47,"value":1109}," preserve\n",{"type":41,"tag":707,"props":1111,"children":1113},{"id":1112},"inline-diagnostic-suppression",[1114],{"type":47,"value":1115},"Inline Diagnostic Suppression",{"type":41,"tag":719,"props":1117,"children":1120},{"className":1118,"code":1119,"language":14,"meta":724,"style":724},"language-dart shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Suppress for the entire file\n\u002F\u002F ignore_for_file: unused_local_variable, dead_code\n\nvoid processData() {\n  \u002F\u002F Suppress for a specific line\n  \u002F\u002F ignore: invalid_assignment\n  int x = '';\n  \n  const y = 10; \u002F\u002F ignore: constant_identifier_names\n}\n",[1121],{"type":41,"tag":119,"props":1122,"children":1123},{"__ignoreMap":724},[1124,1132,1140,1147,1155,1163,1171,1179,1187,1195],{"type":41,"tag":730,"props":1125,"children":1126},{"class":732,"line":733},[1127],{"type":41,"tag":730,"props":1128,"children":1129},{},[1130],{"type":47,"value":1131},"\u002F\u002F Suppress for the entire file\n",{"type":41,"tag":730,"props":1133,"children":1134},{"class":732,"line":755},[1135],{"type":41,"tag":730,"props":1136,"children":1137},{},[1138],{"type":47,"value":1139},"\u002F\u002F ignore_for_file: unused_local_variable, dead_code\n",{"type":41,"tag":730,"props":1141,"children":1142},{"class":732,"line":764},[1143],{"type":41,"tag":730,"props":1144,"children":1145},{"emptyLinePlaceholder":507},[1146],{"type":47,"value":761},{"type":41,"tag":730,"props":1148,"children":1149},{"class":732,"line":778},[1150],{"type":41,"tag":730,"props":1151,"children":1152},{},[1153],{"type":47,"value":1154},"void processData() {\n",{"type":41,"tag":730,"props":1156,"children":1157},{"class":732,"line":791},[1158],{"type":41,"tag":730,"props":1159,"children":1160},{},[1161],{"type":47,"value":1162},"  \u002F\u002F Suppress for a specific line\n",{"type":41,"tag":730,"props":1164,"children":1165},{"class":732,"line":814},[1166],{"type":41,"tag":730,"props":1167,"children":1168},{},[1169],{"type":47,"value":1170},"  \u002F\u002F ignore: invalid_assignment\n",{"type":41,"tag":730,"props":1172,"children":1173},{"class":732,"line":835},[1174],{"type":41,"tag":730,"props":1175,"children":1176},{},[1177],{"type":47,"value":1178},"  int x = '';\n",{"type":41,"tag":730,"props":1180,"children":1181},{"class":732,"line":848},[1182],{"type":41,"tag":730,"props":1183,"children":1184},{},[1185],{"type":47,"value":1186},"  \n",{"type":41,"tag":730,"props":1188,"children":1189},{"class":732,"line":867},[1190],{"type":41,"tag":730,"props":1191,"children":1192},{},[1193],{"type":47,"value":1194},"  const y = 10; \u002F\u002F ignore: constant_identifier_names\n",{"type":41,"tag":730,"props":1196,"children":1197},{"class":732,"line":884},[1198],{"type":41,"tag":730,"props":1199,"children":1200},{},[1201],{"type":47,"value":1202},"}\n",{"type":41,"tag":1204,"props":1205,"children":1206},"style",{},[1207],{"type":47,"value":1208},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1210,"total":1338},[1211,1222,1233,1245,1254,1263,1275,1287,1293,1305,1319,1329],{"slug":1212,"name":1212,"fn":1213,"description":1214,"org":1215,"tags":1216,"stars":22,"repoUrl":23,"updatedAt":1221},"dart-add-unit-test","write unit tests for Dart code","Write and organize unit tests for functions, methods, and classes using `package:test`. Use when creating new logic or fixing bugs to ensure code remains correct and regression-free.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1217,1218],{"name":13,"slug":14,"type":15},{"name":1219,"slug":1220,"type":15},"Testing","testing","2026-07-15T05:22:40.104823",{"slug":1223,"name":1223,"fn":1224,"description":1225,"org":1226,"tags":1227,"stars":22,"repoUrl":23,"updatedAt":1232},"dart-build-cli-app","build Dart command line applications","Entrypoint structure, exit codes, cross-platform scripts. Use when building command line utilities, scripts, or applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1228,1231],{"name":1229,"slug":1230,"type":15},"CLI","cli",{"name":13,"slug":14,"type":15},"2026-07-15T05:22:18.863572",{"slug":1234,"name":1234,"fn":1235,"description":1236,"org":1237,"tags":1238,"stars":22,"repoUrl":23,"updatedAt":1244},"dart-collect-coverage","collect Dart test coverage reports","Collect coverage using the coverage packge and create an LCOV report",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1239,1240,1243],{"name":13,"slug":14,"type":15},{"name":1241,"slug":1242,"type":15},"Reporting","reporting",{"name":1219,"slug":1220,"type":15},"2026-07-15T05:22:21.38636",{"slug":1246,"name":1246,"fn":1247,"description":1248,"org":1249,"tags":1250,"stars":22,"repoUrl":23,"updatedAt":1253},"dart-fix-runtime-errors","debug and fix Dart runtime errors","Uses get_runtime_errors and lsp to fetch an active stack trace, locate the failing line, apply a fix, and verify resolution via hot_reload.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1251,1252],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},"2026-07-15T05:22:22.622501",{"slug":1255,"name":1255,"fn":1256,"description":1257,"org":1258,"tags":1259,"stars":22,"repoUrl":23,"updatedAt":1262},"dart-generate-test-mocks","generate mock objects for Dart tests","Define and generate mock objects for external dependencies using `package:mockito` and `build_runner`. Use when unit testing classes that depend on complex external services like APIs or databases.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1260,1261],{"name":13,"slug":14,"type":15},{"name":1219,"slug":1220,"type":15},"2026-07-15T05:22:42.607449",{"slug":1264,"name":1264,"fn":1265,"description":1266,"org":1267,"tags":1268,"stars":22,"repoUrl":23,"updatedAt":1274},"dart-migrate-to-checks-package","migrate test matchers to checks package","Replace the usage of `expect` and similar functions from `package:matcher`\nto `package:checks` equivalents.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1269,1270,1273],{"name":13,"slug":14,"type":15},{"name":1271,"slug":1272,"type":15},"Migration","migration",{"name":1219,"slug":1220,"type":15},"2026-07-15T05:22:31.276564",{"slug":1276,"name":1276,"fn":1277,"description":1278,"org":1279,"tags":1280,"stars":22,"repoUrl":23,"updatedAt":1286},"dart-resolve-package-conflicts","resolve Dart package version conflicts","Workflow for fixing package version conflicts. Use this when `pub get` fails due to incompatible package versions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1281,1282,1283],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":1284,"slug":1285,"type":15},"Engineering","engineering","2026-07-15T05:22:30.059335",{"slug":4,"name":4,"fn":5,"description":6,"org":1288,"tags":1289,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1290,1291,1292],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"slug":1294,"name":1294,"fn":1295,"description":1296,"org":1297,"tags":1298,"stars":22,"repoUrl":23,"updatedAt":1304},"dart-setup-ffi-assets","package C\u002FC++ assets for Dart","Guides agents in compiling and packaging C\u002FC++ source code into dynamic or static libraries (Code Assets) using Dart's Native Assets hook system (via hook\u002Fbuild.dart and hook\u002Flink.dart utilizing package:hooks and package:native_toolchain_c). Use when a user asks to: 'setup native assets', 'compile C\u002FC++ source code', 'bundle dynamic libraries', 'build native C code', 'link native assets', 'implement build.dart or link.dart hooks', or 'integrate C\u002FC++ interop in Dart\u002FFlutter'. Helps agents avoid manual toolchain orchestration and configures secure hash-validated binary downloads or advanced linker tree-shaking with package:record_use mapping.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1299,1300,1303],{"name":13,"slug":14,"type":15},{"name":1301,"slug":1302,"type":15},"Deployment","deployment",{"name":1284,"slug":1285,"type":15},"2026-07-15T05:22:20.138636",{"slug":1306,"name":1306,"fn":1307,"description":1308,"org":1309,"tags":1310,"stars":22,"repoUrl":23,"updatedAt":1318},"dart-skills-lint-setup","configure dart_skills_lint for Dart projects","Use this skill when you need to set up validation for AI agent skills in a Dart project for the first time.\nAdds the linter as a dev_dependency, creates a configuration file, and generates a baseline for legacy repos.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1311,1312,1315],{"name":13,"slug":14,"type":15},{"name":1313,"slug":1314,"type":15},"Plugin Development","plugin-development",{"name":1316,"slug":1317,"type":15},"QA","qa","2026-07-15T05:22:47.488998",{"slug":1320,"name":1320,"fn":1321,"description":1322,"org":1323,"tags":1324,"stars":22,"repoUrl":23,"updatedAt":1328},"dart-skills-lint-validation","validate agent skills with dart_skills_lint","Use this skill when you need to validate AI agent skills with dart_skills_lint — running the linter, interpreting failures, fixing violations, and authoring custom rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1325,1326,1327],{"name":13,"slug":14,"type":15},{"name":1313,"slug":1314,"type":15},{"name":1316,"slug":1317,"type":15},"2026-07-21T05:38:34.451024",{"slug":1330,"name":1330,"fn":1331,"description":1332,"org":1333,"tags":1334,"stars":22,"repoUrl":23,"updatedAt":1337},"dart-use-ffigen","generate FFI bindings with ffigen","Guide agents to use `package:ffigen` to automatically generate FFI bindings instead of writing them manually. Use this skill when a task involves writing new FFI bindings, extending C\u002FObjective-C\u002FSwift integrations, or replacing hand-crafted `dart:ffi` setups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1335,1336],{"name":13,"slug":14,"type":15},{"name":1284,"slug":1285,"type":15},"2026-07-15T05:22:17.592351",27,{"items":1340,"total":1094},[1341,1346,1351,1357,1362,1367,1373],{"slug":1212,"name":1212,"fn":1213,"description":1214,"org":1342,"tags":1343,"stars":22,"repoUrl":23,"updatedAt":1221},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1344,1345],{"name":13,"slug":14,"type":15},{"name":1219,"slug":1220,"type":15},{"slug":1223,"name":1223,"fn":1224,"description":1225,"org":1347,"tags":1348,"stars":22,"repoUrl":23,"updatedAt":1232},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1349,1350],{"name":1229,"slug":1230,"type":15},{"name":13,"slug":14,"type":15},{"slug":1234,"name":1234,"fn":1235,"description":1236,"org":1352,"tags":1353,"stars":22,"repoUrl":23,"updatedAt":1244},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1354,1355,1356],{"name":13,"slug":14,"type":15},{"name":1241,"slug":1242,"type":15},{"name":1219,"slug":1220,"type":15},{"slug":1246,"name":1246,"fn":1247,"description":1248,"org":1358,"tags":1359,"stars":22,"repoUrl":23,"updatedAt":1253},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1360,1361],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"slug":1255,"name":1255,"fn":1256,"description":1257,"org":1363,"tags":1364,"stars":22,"repoUrl":23,"updatedAt":1262},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1365,1366],{"name":13,"slug":14,"type":15},{"name":1219,"slug":1220,"type":15},{"slug":1264,"name":1264,"fn":1265,"description":1266,"org":1368,"tags":1369,"stars":22,"repoUrl":23,"updatedAt":1274},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1370,1371,1372],{"name":13,"slug":14,"type":15},{"name":1271,"slug":1272,"type":15},{"name":1219,"slug":1220,"type":15},{"slug":1276,"name":1276,"fn":1277,"description":1278,"org":1374,"tags":1375,"stars":22,"repoUrl":23,"updatedAt":1286},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1376,1377,1378],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":1284,"slug":1285,"type":15}]