@rosetears/aili-pi 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/THIRD_PARTY_NOTICES.md +64 -0
  4. package/extensions/index.ts +6 -0
  5. package/install.sh +5 -0
  6. package/manifests/adapter-evidence.json +45 -0
  7. package/manifests/capabilities.json +124 -0
  8. package/manifests/live-verification.json +26 -0
  9. package/manifests/provenance.json +71 -0
  10. package/manifests/roles.json +474 -0
  11. package/manifests/sbom.json +7797 -0
  12. package/manifests/skill-compatibility.json +8100 -0
  13. package/manifests/subagent-provenance.json +37 -0
  14. package/package.json +91 -0
  15. package/prompts/build.md +8 -0
  16. package/prompts/define.md +8 -0
  17. package/prompts/ideate.md +8 -0
  18. package/prompts/local-review.md +8 -0
  19. package/prompts/ship.md +8 -0
  20. package/roles/agent-evaluator.md +47 -0
  21. package/roles/ai-regression-scout.md +47 -0
  22. package/roles/browser-qa-runner.md +47 -0
  23. package/roles/code-reviewer.md +47 -0
  24. package/roles/code-scout.md +47 -0
  25. package/roles/convergence-reviewer.md +55 -0
  26. package/roles/doc-researcher.md +47 -0
  27. package/roles/e2e-artifact-runner.md +47 -0
  28. package/roles/implementer.md +47 -0
  29. package/roles/opensource-sanitizer.md +47 -0
  30. package/roles/plan-auditor.md +47 -0
  31. package/roles/pr-test-analyzer.md +47 -0
  32. package/roles/security-auditor.md +47 -0
  33. package/roles/silent-failure-reviewer.md +47 -0
  34. package/roles/spec-miner.md +47 -0
  35. package/roles/test-coverage-reviewer.md +47 -0
  36. package/roles/test-engineer.md +48 -0
  37. package/roles/web-performance-auditor.md +47 -0
  38. package/roles/web-researcher.md +47 -0
  39. package/scripts/apply-adapter-evidence.ts +73 -0
  40. package/scripts/bootstrap.sh +180 -0
  41. package/scripts/generate-provenance.ts +143 -0
  42. package/scripts/local-package-e2e.ts +51 -0
  43. package/scripts/sync-roles.ts +213 -0
  44. package/scripts/sync-skills.ts +356 -0
  45. package/scripts/validate-runtime.ts +11 -0
  46. package/skills/academic-paper-review/SKILL.md +81 -0
  47. package/skills/agents-md-initialization/SKILL.md +121 -0
  48. package/skills/agents-md-initialization/references/agents-template.md +83 -0
  49. package/skills/agents-md-initialization/references/agents_md.py +215 -0
  50. package/skills/ai-regression-scout/SKILL.md +24 -0
  51. package/skills/aili-delivery-flow/SKILL.md +125 -0
  52. package/skills/aili-delivery-flow/references/artifact-contracts.md +138 -0
  53. package/skills/aili-delivery-flow/references/backend-routing.md +40 -0
  54. package/skills/aili-delivery-flow/references/build-execution-loop.md +113 -0
  55. package/skills/aili-delivery-flow/references/build-goal-mode.md +3 -0
  56. package/skills/aili-delivery-flow/references/direct-vs-delegated-work.md +38 -0
  57. package/skills/aili-delivery-flow/references/implementation-packages.md +54 -0
  58. package/skills/aili-delivery-flow/references/lifecycle.md +127 -0
  59. package/skills/aili-delivery-flow/references/protocols/acceptance-test-plan.md +18 -0
  60. package/skills/aili-delivery-flow/references/protocols/alignment-questionnaire.md +10 -0
  61. package/skills/aili-delivery-flow/references/protocols/closeout-report.md +101 -0
  62. package/skills/aili-delivery-flow/references/protocols/compact-evidence-pack.md +46 -0
  63. package/skills/aili-delivery-flow/references/protocols/idea-brief.md +10 -0
  64. package/skills/aili-delivery-flow/references/protocols/implementation-package.md +53 -0
  65. package/skills/aili-delivery-flow/references/protocols/research-evidence-pack.md +19 -0
  66. package/skills/aili-delivery-flow/references/protocols/review-report.md +7 -0
  67. package/skills/aili-delivery-flow/references/protocols/spec-draft.md +12 -0
  68. package/skills/aili-delivery-flow/references/protocols/subagent-result.md +60 -0
  69. package/skills/aili-delivery-flow/references/protocols/subagent-task-packet.md +29 -0
  70. package/skills/aili-delivery-flow/references/protocols/worktree-context.md +109 -0
  71. package/skills/aili-delivery-flow/references/questionnaire-policy.md +62 -0
  72. package/skills/aili-delivery-flow/references/review-repair-loop.md +16 -0
  73. package/skills/aili-delivery-flow/references/test-document-policy.md +35 -0
  74. package/skills/android-native-dev/SKILL.md +722 -0
  75. package/skills/android-native-dev/references/accessibility.md +209 -0
  76. package/skills/android-native-dev/references/adaptive-screens.md +231 -0
  77. package/skills/android-native-dev/references/design-style-guide.md +365 -0
  78. package/skills/android-native-dev/references/functional-requirements.md +229 -0
  79. package/skills/android-native-dev/references/motion-system.md +203 -0
  80. package/skills/android-native-dev/references/performance-stability.md +223 -0
  81. package/skills/android-native-dev/references/privacy-security.md +244 -0
  82. package/skills/android-native-dev/references/testing.md +554 -0
  83. package/skills/android-native-dev/references/visual-design.md +246 -0
  84. package/skills/api-and-interface-design/SKILL.md +318 -0
  85. package/skills/browser-qa/SKILL.md +32 -0
  86. package/skills/browser-testing-with-devtools/SKILL.md +323 -0
  87. package/skills/build-failure-repair/SKILL.md +49 -0
  88. package/skills/chart-visualization/SKILL.md +73 -0
  89. package/skills/ci-cd-and-automation/SKILL.md +353 -0
  90. package/skills/code-review-and-quality/SKILL.md +375 -0
  91. package/skills/code-review-quality-gates/SKILL.md +132 -0
  92. package/skills/code-simplification/SKILL.md +371 -0
  93. package/skills/comment-accuracy-review/SKILL.md +37 -0
  94. package/skills/consulting-analysis/SKILL.md +69 -0
  95. package/skills/context-engineering/SKILL.md +375 -0
  96. package/skills/coverage-review/SKILL.md +24 -0
  97. package/skills/data-analysis/SKILL.md +74 -0
  98. package/skills/deprecation-and-migration/SKILL.md +222 -0
  99. package/skills/documentation-and-adrs/SKILL.md +330 -0
  100. package/skills/e2e-artifact-handling/SKILL.md +30 -0
  101. package/skills/evidence-scoped-retrospective/SKILL.md +156 -0
  102. package/skills/explain-by-allegory/SKILL.md +99 -0
  103. package/skills/flutter-dev/SKILL.md +162 -0
  104. package/skills/flutter-dev/references/animations.md +497 -0
  105. package/skills/flutter-dev/references/bloc-state.md +281 -0
  106. package/skills/flutter-dev/references/forms.md +656 -0
  107. package/skills/flutter-dev/references/gorouter-navigation.md +257 -0
  108. package/skills/flutter-dev/references/localization.md +510 -0
  109. package/skills/flutter-dev/references/networking.md +566 -0
  110. package/skills/flutter-dev/references/performance.md +305 -0
  111. package/skills/flutter-dev/references/platform-specific.md +417 -0
  112. package/skills/flutter-dev/references/project-structure.md +273 -0
  113. package/skills/flutter-dev/references/riverpod-state.md +232 -0
  114. package/skills/flutter-dev/references/testing.md +364 -0
  115. package/skills/flutter-dev/references/widget-patterns.md +233 -0
  116. package/skills/frontend-dev/SKILL.md +468 -0
  117. package/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  118. package/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  119. package/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  120. package/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt +93 -0
  121. package/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  122. package/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt +93 -0
  123. package/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf +0 -0
  124. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  125. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  126. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  127. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  128. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  129. package/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  130. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  131. package/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt +93 -0
  132. package/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf +0 -0
  133. package/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt +94 -0
  134. package/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf +0 -0
  135. package/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf +0 -0
  136. package/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt +93 -0
  137. package/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf +0 -0
  138. package/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt +93 -0
  139. package/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf +0 -0
  140. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  141. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  142. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  143. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  144. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  145. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  146. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  147. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  148. package/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  149. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  150. package/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  151. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  152. package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  153. package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  154. package/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt +93 -0
  155. package/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf +0 -0
  156. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  157. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  158. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  159. package/skills/frontend-dev/canvas-fonts/Jura-Light.ttf +0 -0
  160. package/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf +0 -0
  161. package/skills/frontend-dev/canvas-fonts/Jura-OFL.txt +93 -0
  162. package/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  163. package/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  164. package/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf +0 -0
  165. package/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  166. package/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf +0 -0
  167. package/skills/frontend-dev/canvas-fonts/Lora-OFL.txt +93 -0
  168. package/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf +0 -0
  169. package/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf +0 -0
  170. package/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt +93 -0
  171. package/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf +0 -0
  172. package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  173. package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  174. package/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf +0 -0
  175. package/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt +93 -0
  176. package/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf +0 -0
  177. package/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  178. package/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt +93 -0
  179. package/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt +93 -0
  180. package/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  181. package/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  182. package/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt +93 -0
  183. package/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  184. package/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt +93 -0
  185. package/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  186. package/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  187. package/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt +93 -0
  188. package/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf +0 -0
  189. package/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt +93 -0
  190. package/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf +0 -0
  191. package/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf +0 -0
  192. package/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  193. package/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf +0 -0
  194. package/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt +93 -0
  195. package/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf +0 -0
  196. package/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt +93 -0
  197. package/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  198. package/skills/frontend-dev/references/asset-prompt-guide.md +43 -0
  199. package/skills/frontend-dev/references/env-setup.md +33 -0
  200. package/skills/frontend-dev/references/minimax-cli-reference.md +133 -0
  201. package/skills/frontend-dev/references/minimax-image-guide.md +65 -0
  202. package/skills/frontend-dev/references/minimax-music-guide.md +216 -0
  203. package/skills/frontend-dev/references/minimax-tts-guide.md +78 -0
  204. package/skills/frontend-dev/references/minimax-video-guide.md +82 -0
  205. package/skills/frontend-dev/references/minimax-voice-catalog.md +685 -0
  206. package/skills/frontend-dev/references/motion-recipes.md +407 -0
  207. package/skills/frontend-dev/references/troubleshooting.md +85 -0
  208. package/skills/frontend-dev/scripts/minimax_image.py +137 -0
  209. package/skills/frontend-dev/scripts/minimax_music.py +157 -0
  210. package/skills/frontend-dev/scripts/minimax_tts.py +127 -0
  211. package/skills/frontend-dev/scripts/minimax_video.py +187 -0
  212. package/skills/frontend-dev/templates/generator_template.js +223 -0
  213. package/skills/frontend-dev/templates/viewer.html +599 -0
  214. package/skills/frontend-ui-engineering/SKILL.md +367 -0
  215. package/skills/fullstack-dev/SKILL.md +819 -0
  216. package/skills/fullstack-dev/references/api-design.md +444 -0
  217. package/skills/fullstack-dev/references/auth-flow.md +165 -0
  218. package/skills/fullstack-dev/references/db-schema.md +706 -0
  219. package/skills/fullstack-dev/references/django-best-practices.md +466 -0
  220. package/skills/fullstack-dev/references/environment-management.md +78 -0
  221. package/skills/fullstack-dev/references/release-checklist.md +278 -0
  222. package/skills/fullstack-dev/references/technology-selection.md +254 -0
  223. package/skills/fullstack-dev/references/testing-strategy.md +404 -0
  224. package/skills/git-workflow-and-versioning/SKILL.md +446 -0
  225. package/skills/github-evidence-triage/SKILL.md +115 -0
  226. package/skills/harness-evolution/SKILL.md +59 -0
  227. package/skills/harness-evolution/references/activation-matrix.md +13 -0
  228. package/skills/harness-evolution/references/approval-policy.md +20 -0
  229. package/skills/harness-evolution/references/change-report-template.md +33 -0
  230. package/skills/harness-evolution/references/component-taxonomy.md +19 -0
  231. package/skills/harness-evolution/references/verdict-policy.md +13 -0
  232. package/skills/harness-issue-triage/SKILL.md +72 -0
  233. package/skills/harness-issue-triage/references/component-diagnosis.md +25 -0
  234. package/skills/harness-issue-triage/references/triage-report-template.md +34 -0
  235. package/skills/harness-optimization-audit/SKILL.md +125 -0
  236. package/skills/idea-refine/SKILL.md +191 -0
  237. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
  238. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
  239. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/SKILL.upstream.md +178 -0
  240. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/examples.md +238 -0
  241. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/frameworks.md +99 -0
  242. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/refinement-criteria.md +113 -0
  243. package/skills/idea-refine/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/idea-refine/scripts/idea-refine.upstream.sh +15 -0
  244. package/skills/incremental-implementation/SKILL.md +252 -0
  245. package/skills/ios-application-dev/SKILL.md +212 -0
  246. package/skills/ios-application-dev/references/accessibility.md +259 -0
  247. package/skills/ios-application-dev/references/graphics-animation.md +350 -0
  248. package/skills/ios-application-dev/references/layout-system.md +199 -0
  249. package/skills/ios-application-dev/references/metal-shader.md +178 -0
  250. package/skills/ios-application-dev/references/navigation-patterns.md +175 -0
  251. package/skills/ios-application-dev/references/swift-coding-standards.md +757 -0
  252. package/skills/ios-application-dev/references/swiftui-design-guidelines.md +1167 -0
  253. package/skills/ios-application-dev/references/system-integration.md +401 -0
  254. package/skills/ios-application-dev/references/uikit-components.md +297 -0
  255. package/skills/local-review-gate/SKILL.md +207 -0
  256. package/skills/local-review-gate/references/addyosmani-code-review-rubric.md +33 -0
  257. package/skills/local-review-gate/references/codex-github-compatibility.md +26 -0
  258. package/skills/local-review-gate/references/ecc-code-review-adaptation.md +40 -0
  259. package/skills/local-review-gate/references/graphify-local-review.md +33 -0
  260. package/skills/local-review-gate/references/orchestration-adaptation.md +51 -0
  261. package/skills/local-review-gate/references/review-repair-lane-adaptation.md +46 -0
  262. package/skills/local-review-gate/references/upstream-provenance.md +61 -0
  263. package/skills/mature-project-pattern-research/SKILL.md +155 -0
  264. package/skills/mature-project-pattern-research/references/research-rubric.md +45 -0
  265. package/skills/minimax-docx/LICENSE +21 -0
  266. package/skills/minimax-docx/SKILL.md +273 -0
  267. package/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
  268. package/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
  269. package/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
  270. package/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
  271. package/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
  272. package/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
  273. package/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
  274. package/skills/minimax-docx/references/cjk_typography.md +357 -0
  275. package/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
  276. package/skills/minimax-docx/references/comments_guide.md +191 -0
  277. package/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
  278. package/skills/minimax-docx/references/design_principles.md +819 -0
  279. package/skills/minimax-docx/references/openxml_element_order.md +308 -0
  280. package/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
  281. package/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
  282. package/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
  283. package/skills/minimax-docx/references/openxml_namespaces.md +82 -0
  284. package/skills/minimax-docx/references/openxml_units.md +72 -0
  285. package/skills/minimax-docx/references/scenario_a_create.md +284 -0
  286. package/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
  287. package/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
  288. package/skills/minimax-docx/references/track_changes_guide.md +200 -0
  289. package/skills/minimax-docx/references/troubleshooting.md +506 -0
  290. package/skills/minimax-docx/references/typography_guide.md +294 -0
  291. package/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
  292. package/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
  293. package/skills/minimax-docx/scripts/docx_preview.sh +37 -0
  294. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  295. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  296. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  297. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  298. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  299. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  300. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  301. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  302. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  303. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  304. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  305. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  306. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  307. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  308. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  309. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  310. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  311. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  312. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  313. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  314. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  315. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  316. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  317. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  318. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  319. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  320. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  321. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  322. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  323. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  324. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  325. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  326. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  327. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  328. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  329. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  330. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  331. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  332. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  333. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  334. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  335. package/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  336. package/skills/minimax-docx/scripts/env_check.sh +196 -0
  337. package/skills/minimax-docx/scripts/setup.ps1 +274 -0
  338. package/skills/minimax-docx/scripts/setup.sh +504 -0
  339. package/skills/minimax-pdf/README.md +222 -0
  340. package/skills/minimax-pdf/SKILL.md +218 -0
  341. package/skills/minimax-pdf/design/design.md +381 -0
  342. package/skills/minimax-pdf/scripts/cover.py +1579 -0
  343. package/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
  344. package/skills/minimax-pdf/scripts/fill_write.py +242 -0
  345. package/skills/minimax-pdf/scripts/make.sh +491 -0
  346. package/skills/minimax-pdf/scripts/merge.py +112 -0
  347. package/skills/minimax-pdf/scripts/palette.py +521 -0
  348. package/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
  349. package/skills/minimax-pdf/scripts/render_body.py +1052 -0
  350. package/skills/minimax-pdf/scripts/render_cover.js +111 -0
  351. package/skills/minimax-xlsx/SKILL.md +156 -0
  352. package/skills/minimax-xlsx/references/create.md +691 -0
  353. package/skills/minimax-xlsx/references/edit.md +684 -0
  354. package/skills/minimax-xlsx/references/fix.md +37 -0
  355. package/skills/minimax-xlsx/references/format.md +768 -0
  356. package/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
  357. package/skills/minimax-xlsx/references/read-analyze.md +97 -0
  358. package/skills/minimax-xlsx/references/validate.md +772 -0
  359. package/skills/minimax-xlsx/scripts/formula_check.py +422 -0
  360. package/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
  361. package/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
  362. package/skills/minimax-xlsx/scripts/style_audit.py +575 -0
  363. package/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
  364. package/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
  365. package/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
  366. package/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
  367. package/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
  368. package/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
  369. package/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
  370. package/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
  371. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  372. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  373. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
  374. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
  375. package/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  376. package/skills/newsletter-generation/SKILL.md +71 -0
  377. package/skills/oss-release-readiness/SKILL.md +47 -0
  378. package/skills/parallel-subagent-dispatch/SKILL.md +58 -0
  379. package/skills/performance-optimization/SKILL.md +364 -0
  380. package/skills/planning-and-task-breakdown/SKILL.md +290 -0
  381. package/skills/pptx-generator/SKILL.md +275 -0
  382. package/skills/pptx-generator/references/design-system.md +392 -0
  383. package/skills/pptx-generator/references/editing.md +162 -0
  384. package/skills/pptx-generator/references/pitfalls.md +112 -0
  385. package/skills/pptx-generator/references/pptxgenjs.md +420 -0
  386. package/skills/pptx-generator/references/slide-types.md +413 -0
  387. package/skills/pr-test-analysis/SKILL.md +24 -0
  388. package/skills/react-native-dev/SKILL.md +180 -0
  389. package/skills/react-native-dev/references/animations.md +254 -0
  390. package/skills/react-native-dev/references/components.md +124 -0
  391. package/skills/react-native-dev/references/engineering.md +527 -0
  392. package/skills/react-native-dev/references/forms.md +300 -0
  393. package/skills/react-native-dev/references/native-capabilities.md +163 -0
  394. package/skills/react-native-dev/references/navigation.md +271 -0
  395. package/skills/react-native-dev/references/networking.md +346 -0
  396. package/skills/react-native-dev/references/performance.md +215 -0
  397. package/skills/react-native-dev/references/state-management.md +230 -0
  398. package/skills/react-native-dev/references/styling.md +117 -0
  399. package/skills/react-native-dev/references/testing.md +341 -0
  400. package/skills/requirements-grilling/SKILL.md +447 -0
  401. package/skills/requirements-grilling/references/ADR-FORMAT.md +46 -0
  402. package/skills/requirements-grilling/references/CONTEXT-FORMAT.md +41 -0
  403. package/skills/requirements-grilling/references/INTERVIEW-PACKET-FORMAT.md +62 -0
  404. package/skills/requirements-grilling/references/MIT-LICENSE-MATT-POCOCK.md +25 -0
  405. package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
  406. package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
  407. package/skills/requirements-grilling/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/interview-me/SKILL.upstream.md +225 -0
  408. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/LICENSE +21 -0
  409. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/NOTICE.md +12 -0
  410. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/batch-grill-me/SKILL.upstream.md +15 -0
  411. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grill-me/SKILL.upstream.md +7 -0
  412. package/skills/requirements-grilling/references/upstream/mattpocock-skills/9603c1cc8118d08bc1b3bf34cf714f62178dea3b/grilling/SKILL.upstream.md +12 -0
  413. package/skills/review-pipeline/SKILL.md +38 -0
  414. package/skills/rose-memory/SKILL.md +210 -0
  415. package/skills/rose-memory/references/README.md +48 -0
  416. package/skills/rose-memory/references/memory_cli.py +2384 -0
  417. package/skills/rose-memory/references/schema.sql +315 -0
  418. package/skills/security-and-hardening/SKILL.md +369 -0
  419. package/skills/session-handoff/SKILL.md +88 -0
  420. package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE +21 -0
  421. package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/NOTICE.md +9 -0
  422. package/skills/session-handoff/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/handoff/SKILL.upstream.md +16 -0
  423. package/skills/session-handoff/scripts/session_handoff.py +764 -0
  424. package/skills/shader-dev/SKILL.md +316 -0
  425. package/skills/shader-dev/reference/ambient-occlusion.md +382 -0
  426. package/skills/shader-dev/reference/analytic-ray-tracing.md +651 -0
  427. package/skills/shader-dev/reference/anti-aliasing.md +71 -0
  428. package/skills/shader-dev/reference/atmospheric-scattering.md +571 -0
  429. package/skills/shader-dev/reference/camera-effects.md +80 -0
  430. package/skills/shader-dev/reference/cellular-automata.md +635 -0
  431. package/skills/shader-dev/reference/color-palette.md +481 -0
  432. package/skills/shader-dev/reference/csg-boolean-operations.md +466 -0
  433. package/skills/shader-dev/reference/domain-repetition.md +436 -0
  434. package/skills/shader-dev/reference/domain-warping.md +419 -0
  435. package/skills/shader-dev/reference/fluid-simulation.md +425 -0
  436. package/skills/shader-dev/reference/fractal-rendering.md +525 -0
  437. package/skills/shader-dev/reference/lighting-model.md +639 -0
  438. package/skills/shader-dev/reference/matrix-transform.md +535 -0
  439. package/skills/shader-dev/reference/multipass-buffer.md +571 -0
  440. package/skills/shader-dev/reference/normal-estimation.md +418 -0
  441. package/skills/shader-dev/reference/particle-system.md +589 -0
  442. package/skills/shader-dev/reference/path-tracing-gi.md +602 -0
  443. package/skills/shader-dev/reference/polar-uv-manipulation.md +521 -0
  444. package/skills/shader-dev/reference/post-processing.md +375 -0
  445. package/skills/shader-dev/reference/procedural-2d-pattern.md +439 -0
  446. package/skills/shader-dev/reference/procedural-noise.md +551 -0
  447. package/skills/shader-dev/reference/ray-marching.md +396 -0
  448. package/skills/shader-dev/reference/sdf-2d.md +724 -0
  449. package/skills/shader-dev/reference/sdf-3d.md +805 -0
  450. package/skills/shader-dev/reference/sdf-tricks.md +63 -0
  451. package/skills/shader-dev/reference/shadow-techniques.md +476 -0
  452. package/skills/shader-dev/reference/simulation-physics.md +644 -0
  453. package/skills/shader-dev/reference/sound-synthesis.md +578 -0
  454. package/skills/shader-dev/reference/terrain-rendering.md +839 -0
  455. package/skills/shader-dev/reference/texture-mapping-advanced.md +87 -0
  456. package/skills/shader-dev/reference/texture-sampling.md +553 -0
  457. package/skills/shader-dev/reference/volumetric-rendering.md +608 -0
  458. package/skills/shader-dev/reference/voronoi-cellular-noise.md +486 -0
  459. package/skills/shader-dev/reference/voxel-rendering.md +701 -0
  460. package/skills/shader-dev/reference/water-ocean.md +445 -0
  461. package/skills/shader-dev/reference/webgl-pitfalls.md +41 -0
  462. package/skills/shader-dev/techniques/ambient-occlusion.md +364 -0
  463. package/skills/shader-dev/techniques/analytic-ray-tracing.md +542 -0
  464. package/skills/shader-dev/techniques/anti-aliasing.md +124 -0
  465. package/skills/shader-dev/techniques/atmospheric-scattering.md +522 -0
  466. package/skills/shader-dev/techniques/camera-effects.md +115 -0
  467. package/skills/shader-dev/techniques/cellular-automata.md +531 -0
  468. package/skills/shader-dev/techniques/color-palette.md +380 -0
  469. package/skills/shader-dev/techniques/csg-boolean-operations.md +491 -0
  470. package/skills/shader-dev/techniques/domain-repetition.md +333 -0
  471. package/skills/shader-dev/techniques/domain-warping.md +414 -0
  472. package/skills/shader-dev/techniques/fluid-simulation.md +1175 -0
  473. package/skills/shader-dev/techniques/fractal-rendering.md +436 -0
  474. package/skills/shader-dev/techniques/lighting-model.md +527 -0
  475. package/skills/shader-dev/techniques/matrix-transform.md +455 -0
  476. package/skills/shader-dev/techniques/multipass-buffer.md +922 -0
  477. package/skills/shader-dev/techniques/normal-estimation.md +318 -0
  478. package/skills/shader-dev/techniques/particle-system.md +1203 -0
  479. package/skills/shader-dev/techniques/path-tracing-gi.md +623 -0
  480. package/skills/shader-dev/techniques/polar-uv-manipulation.md +373 -0
  481. package/skills/shader-dev/techniques/post-processing.md +788 -0
  482. package/skills/shader-dev/techniques/procedural-2d-pattern.md +346 -0
  483. package/skills/shader-dev/techniques/procedural-noise.md +554 -0
  484. package/skills/shader-dev/techniques/ray-marching.md +467 -0
  485. package/skills/shader-dev/techniques/sdf-2d.md +631 -0
  486. package/skills/shader-dev/techniques/sdf-3d.md +589 -0
  487. package/skills/shader-dev/techniques/sdf-tricks.md +100 -0
  488. package/skills/shader-dev/techniques/shadow-techniques.md +776 -0
  489. package/skills/shader-dev/techniques/simulation-physics.md +1542 -0
  490. package/skills/shader-dev/techniques/sound-synthesis.md +490 -0
  491. package/skills/shader-dev/techniques/terrain-rendering.md +408 -0
  492. package/skills/shader-dev/techniques/texture-mapping-advanced.md +121 -0
  493. package/skills/shader-dev/techniques/texture-sampling.md +382 -0
  494. package/skills/shader-dev/techniques/volumetric-rendering.md +375 -0
  495. package/skills/shader-dev/techniques/voronoi-cellular-noise.md +458 -0
  496. package/skills/shader-dev/techniques/voxel-rendering.md +985 -0
  497. package/skills/shader-dev/techniques/water-ocean.md +490 -0
  498. package/skills/shader-dev/techniques/webgl-pitfalls.md +170 -0
  499. package/skills/shipping-and-launch/SKILL.md +334 -0
  500. package/skills/silent-failure-hunting/SKILL.md +24 -0
  501. package/skills/source-driven-development/SKILL.md +223 -0
  502. package/skills/spec-driven-development/SKILL.md +235 -0
  503. package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/LICENSE +21 -0
  504. package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/NOTICE.md +9 -0
  505. package/skills/spec-driven-development/references/upstream/addyosmani-agent-skills/6bcfeb9dae52b11eaad23511acc165109746dbc3/spec-driven-development/SKILL.upstream.md +206 -0
  506. package/skills/strategy-stress-test/SKILL.md +185 -0
  507. package/skills/systematic-literature-review/SKILL.md +77 -0
  508. package/skills/test-document-generator/SKILL.md +152 -0
  509. package/skills/test-document-generator/references/test-document-template.md +45 -0
  510. package/skills/test-driven-development/SKILL.md +399 -0
  511. package/skills/write-skills/GLOSSARY.md +113 -0
  512. package/skills/write-skills/SKILL.md +133 -0
  513. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/LICENSE +21 -0
  514. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/NOTICE.md +9 -0
  515. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/GLOSSARY.md +201 -0
  516. package/skills/write-skills/references/upstream/mattpocock-skills/391a2701dd948f94f56a39f7533f8eea9a859c87/productivity/writing-great-skills/SKILL.upstream.md +83 -0
  517. package/src/runtime/child-guard.ts +70 -0
  518. package/src/runtime/conflicts.ts +25 -0
  519. package/src/runtime/contracts.ts +9 -0
  520. package/src/runtime/doctor.ts +134 -0
  521. package/src/runtime/global-resources.ts +152 -0
  522. package/src/runtime/index.ts +23 -0
  523. package/src/runtime/lifecycle.ts +19 -0
  524. package/src/runtime/native-integrations.ts +44 -0
  525. package/src/runtime/path-boundaries.ts +69 -0
  526. package/src/runtime/registry.ts +213 -0
  527. package/src/runtime/roles.ts +64 -0
  528. package/src/runtime/rose-context.ts +24 -0
  529. package/src/runtime/subagents.ts +426 -0
  530. package/templates/APPEND_SYSTEM.md +12 -0
  531. package/upstream/aili-workflows.lock.json +3226 -0
@@ -0,0 +1,305 @@
1
+ # Performance Optimization
2
+
3
+ Flutter performance guide covering profiling, const optimization, and DevTools analysis.
4
+
5
+ ## Profiling Commands
6
+
7
+ ```bash
8
+ # Run in profile mode (required for accurate measurements)
9
+ flutter run --profile
10
+
11
+ # Analyze code issues
12
+ flutter analyze
13
+
14
+ # Launch DevTools
15
+ flutter pub global activate devtools
16
+ flutter pub global run devtools
17
+
18
+ # Build release for testing
19
+ flutter build apk --release
20
+ flutter build ios --release
21
+ ```
22
+
23
+ ## Const Widget Optimization
24
+
25
+ The most important optimization for preventing unnecessary rebuilds:
26
+
27
+ ```dart
28
+ // BAD - Creates new objects every build
29
+ Widget build(BuildContext context) {
30
+ return Container(
31
+ padding: EdgeInsets.all(16), // New object each time
32
+ child: Text('Hello'), // New widget each time
33
+ );
34
+ }
35
+
36
+ // GOOD - Const prevents rebuilds
37
+ Widget build(BuildContext context) {
38
+ return Container(
39
+ padding: const EdgeInsets.all(16),
40
+ child: const Text('Hello'),
41
+ );
42
+ }
43
+ ```
44
+
45
+ ### Extracting Const Widgets
46
+
47
+ ```dart
48
+ // BAD - Inline static content
49
+ class MyScreen extends StatelessWidget {
50
+ @override
51
+ Widget build(BuildContext context) {
52
+ return Column(
53
+ children: [
54
+ Icon(Icons.star, size: 48),
55
+ Text('Welcome'),
56
+ Text('Description text here'),
57
+ ],
58
+ );
59
+ }
60
+ }
61
+
62
+ // GOOD - Extract to const classes
63
+ class MyScreen extends StatelessWidget {
64
+ const MyScreen({super.key});
65
+
66
+ @override
67
+ Widget build(BuildContext context) {
68
+ return const Column(
69
+ children: [
70
+ _Header(),
71
+ _Description(),
72
+ ],
73
+ );
74
+ }
75
+ }
76
+
77
+ class _Header extends StatelessWidget {
78
+ const _Header();
79
+
80
+ @override
81
+ Widget build(BuildContext context) {
82
+ return const Column(
83
+ children: [
84
+ Icon(Icons.star, size: 48),
85
+ Text('Welcome'),
86
+ ],
87
+ );
88
+ }
89
+ }
90
+ ```
91
+
92
+ ## Selective Provider Watching
93
+
94
+ ```dart
95
+ // BAD - Rebuilds on any user change
96
+ class UserAvatar extends ConsumerWidget {
97
+ @override
98
+ Widget build(BuildContext context, WidgetRef ref) {
99
+ final user = ref.watch(userProvider);
100
+ return CircleAvatar(
101
+ backgroundImage: NetworkImage(user.avatarUrl),
102
+ );
103
+ }
104
+ }
105
+
106
+ // GOOD - Only rebuilds when avatarUrl changes
107
+ class UserAvatar extends ConsumerWidget {
108
+ const UserAvatar({super.key});
109
+
110
+ @override
111
+ Widget build(BuildContext context, WidgetRef ref) {
112
+ final avatarUrl = ref.watch(userProvider.select((u) => u.avatarUrl));
113
+ return CircleAvatar(
114
+ backgroundImage: NetworkImage(avatarUrl),
115
+ );
116
+ }
117
+ }
118
+ ```
119
+
120
+ ## RepaintBoundary
121
+
122
+ Isolate expensive widgets to prevent unnecessary repaints:
123
+
124
+ ```dart
125
+ // Isolate complex animated widgets
126
+ RepaintBoundary(
127
+ child: ComplexAnimatedWidget(),
128
+ )
129
+
130
+ // Isolate frequently updating widgets
131
+ RepaintBoundary(
132
+ child: StreamBuilder<int>(
133
+ stream: counterStream,
134
+ builder: (context, snapshot) => Text('${snapshot.data}'),
135
+ ),
136
+ )
137
+ ```
138
+
139
+ ## List Optimization
140
+
141
+ ```dart
142
+ // BAD - Builds all items upfront
143
+ ListView(
144
+ children: items.map((item) => ItemWidget(item: item)).toList(),
145
+ )
146
+
147
+ // GOOD - Lazy loading with builder
148
+ ListView.builder(
149
+ itemCount: items.length,
150
+ itemBuilder: (context, index) {
151
+ return ItemWidget(
152
+ key: ValueKey(items[index].id),
153
+ item: items[index],
154
+ );
155
+ },
156
+ )
157
+
158
+ // For heterogeneous content
159
+ ListView.separated(
160
+ itemCount: items.length,
161
+ separatorBuilder: (_, __) => const Divider(),
162
+ itemBuilder: (context, index) => ItemWidget(item: items[index]),
163
+ )
164
+ ```
165
+
166
+ ## Image Optimization
167
+
168
+ ```dart
169
+ // Use cached_network_image for network images
170
+ CachedNetworkImage(
171
+ imageUrl: url,
172
+ placeholder: (_, __) => const ShimmerPlaceholder(),
173
+ errorWidget: (_, __, ___) => const Icon(Icons.error),
174
+ memCacheWidth: 200,
175
+ memCacheHeight: 200,
176
+ )
177
+
178
+ // Resize images in memory
179
+ Image.network(
180
+ url,
181
+ cacheWidth: 200, // Decode at smaller size
182
+ cacheHeight: 200, // Saves memory
183
+ )
184
+
185
+ // Precache images
186
+ precacheImage(NetworkImage(url), context);
187
+ ```
188
+
189
+ ## Heavy Computation
190
+
191
+ ```dart
192
+ // BAD - Blocks UI thread
193
+ void processData() {
194
+ final result = heavyComputation(data); // UI freezes
195
+ updateUI(result);
196
+ }
197
+
198
+ // GOOD - Run in isolate
199
+ Future<void> processData() async {
200
+ final result = await compute(heavyComputation, data);
201
+ updateUI(result);
202
+ }
203
+
204
+ // For multiple operations
205
+ Future<void> processMultiple() async {
206
+ final results = await Future.wait([
207
+ compute(process1, data1),
208
+ compute(process2, data2),
209
+ compute(process3, data3),
210
+ ]);
211
+ }
212
+ ```
213
+
214
+ ## Animation Performance
215
+
216
+ ```dart
217
+ // Use AnimatedBuilder for custom animations
218
+ AnimatedBuilder(
219
+ animation: controller,
220
+ builder: (context, child) {
221
+ return Transform.rotate(
222
+ angle: controller.value * 2 * pi,
223
+ child: child, // Child not rebuilt
224
+ );
225
+ },
226
+ child: const ExpensiveWidget(),
227
+ )
228
+
229
+ // Prefer implicit animations for simple cases
230
+ AnimatedContainer(
231
+ duration: const Duration(milliseconds: 300),
232
+ width: expanded ? 200 : 100,
233
+ child: const Content(),
234
+ )
235
+ ```
236
+
237
+ ## DevTools Analysis
238
+
239
+ ### Key Metrics
240
+
241
+ | Metric | Target | Action if Exceeded |
242
+ |--------|--------|-------------------|
243
+ | Frame time | < 16ms (60fps) | Profile build/paint |
244
+ | Build time | < 8ms | Add const, extract widgets |
245
+ | Paint time | < 8ms | Add RepaintBoundary |
246
+ | Memory | Stable | Check for leaks |
247
+
248
+ ### Common Issues
249
+
250
+ | Issue | Symptom | Solution |
251
+ |-------|---------|----------|
252
+ | Expensive builds | High build time | Extract const widgets |
253
+ | Excessive repaints | High paint time | Add RepaintBoundary |
254
+ | Memory leaks | Growing memory | Dispose controllers |
255
+ | Jank | Dropped frames | Use compute() |
256
+
257
+ ## Performance Checklist
258
+
259
+ | Check | Solution |
260
+ |-------|----------|
261
+ | Unnecessary rebuilds | Add `const`, use `select()` |
262
+ | Large lists | Use `ListView.builder` |
263
+ | Image loading | Use `cached_network_image` |
264
+ | Heavy computation | Use `compute()` |
265
+ | Jank in animations | Use `RepaintBoundary` |
266
+ | Memory leaks | Dispose controllers, cancel subscriptions |
267
+ | Network calls | Cache responses, debounce requests |
268
+ | Startup time | Defer initialization, lazy loading |
269
+
270
+ ## Dispose Pattern
271
+
272
+ ```dart
273
+ class MyWidget extends StatefulWidget {
274
+ const MyWidget({super.key});
275
+
276
+ @override
277
+ State<MyWidget> createState() => _MyWidgetState();
278
+ }
279
+
280
+ class _MyWidgetState extends State<MyWidget> {
281
+ late final TextEditingController _controller;
282
+ late final StreamSubscription _subscription;
283
+
284
+ @override
285
+ void initState() {
286
+ super.initState();
287
+ _controller = TextEditingController();
288
+ _subscription = stream.listen(handleData);
289
+ }
290
+
291
+ @override
292
+ void dispose() {
293
+ _controller.dispose();
294
+ _subscription.cancel();
295
+ super.dispose();
296
+ }
297
+
298
+ @override
299
+ Widget build(BuildContext context) => Container();
300
+ }
301
+ ```
302
+
303
+ ---
304
+
305
+ *Flutter and DevTools are trademarks of Google LLC.*
@@ -0,0 +1,417 @@
1
+ # Platform Integration
2
+
3
+ Flutter platform-specific implementations for iOS, Android, Web, and Desktop.
4
+
5
+ ## Platform Detection
6
+
7
+ ```dart
8
+ import 'dart:io' show Platform;
9
+ import 'package:flutter/foundation.dart' show kIsWeb;
10
+
11
+ bool get isIOS => !kIsWeb && Platform.isIOS;
12
+ bool get isAndroid => !kIsWeb && Platform.isAndroid;
13
+ bool get isWeb => kIsWeb;
14
+ bool get isDesktop => !kIsWeb && (Platform.isMacOS || Platform.isWindows || Platform.isLinux);
15
+ bool get isMobile => !kIsWeb && (Platform.isIOS || Platform.isAndroid);
16
+ ```
17
+
18
+ ## Adaptive Widgets
19
+
20
+ ### Platform-Aware Components
21
+
22
+ ```dart
23
+ import 'package:flutter/cupertino.dart';
24
+ import 'package:flutter/material.dart';
25
+
26
+ class AdaptiveButton extends StatelessWidget {
27
+ final String label;
28
+ final VoidCallback onPressed;
29
+
30
+ const AdaptiveButton({
31
+ super.key,
32
+ required this.label,
33
+ required this.onPressed,
34
+ });
35
+
36
+ @override
37
+ Widget build(BuildContext context) {
38
+ if (Platform.isIOS) {
39
+ return CupertinoButton.filled(
40
+ onPressed: onPressed,
41
+ child: Text(label),
42
+ );
43
+ }
44
+ return ElevatedButton(
45
+ onPressed: onPressed,
46
+ child: Text(label),
47
+ );
48
+ }
49
+ }
50
+ ```
51
+
52
+ ### Adaptive Dialog
53
+
54
+ ```dart
55
+ Future<bool?> showAdaptiveConfirmDialog(
56
+ BuildContext context, {
57
+ required String title,
58
+ required String content,
59
+ }) async {
60
+ if (Platform.isIOS) {
61
+ return showCupertinoDialog<bool>(
62
+ context: context,
63
+ builder: (context) => CupertinoAlertDialog(
64
+ title: Text(title),
65
+ content: Text(content),
66
+ actions: [
67
+ CupertinoDialogAction(
68
+ isDestructiveAction: true,
69
+ onPressed: () => Navigator.pop(context, true),
70
+ child: const Text('Delete'),
71
+ ),
72
+ CupertinoDialogAction(
73
+ isDefaultAction: true,
74
+ onPressed: () => Navigator.pop(context, false),
75
+ child: const Text('Cancel'),
76
+ ),
77
+ ],
78
+ ),
79
+ );
80
+ }
81
+
82
+ return showDialog<bool>(
83
+ context: context,
84
+ builder: (context) => AlertDialog(
85
+ title: Text(title),
86
+ content: Text(content),
87
+ actions: [
88
+ TextButton(
89
+ onPressed: () => Navigator.pop(context, false),
90
+ child: const Text('Cancel'),
91
+ ),
92
+ TextButton(
93
+ onPressed: () => Navigator.pop(context, true),
94
+ child: const Text('Delete'),
95
+ ),
96
+ ],
97
+ ),
98
+ );
99
+ }
100
+ ```
101
+
102
+ ### Adaptive Scaffold
103
+
104
+ ```dart
105
+ class AdaptiveScaffold extends StatelessWidget {
106
+ final String title;
107
+ final Widget body;
108
+ final List<Widget>? actions;
109
+
110
+ const AdaptiveScaffold({
111
+ super.key,
112
+ required this.title,
113
+ required this.body,
114
+ this.actions,
115
+ });
116
+
117
+ @override
118
+ Widget build(BuildContext context) {
119
+ if (Platform.isIOS) {
120
+ return CupertinoPageScaffold(
121
+ navigationBar: CupertinoNavigationBar(
122
+ middle: Text(title),
123
+ trailing: actions != null
124
+ ? Row(mainAxisSize: MainAxisSize.min, children: actions!)
125
+ : null,
126
+ ),
127
+ child: SafeArea(child: body),
128
+ );
129
+ }
130
+
131
+ return Scaffold(
132
+ appBar: AppBar(title: Text(title), actions: actions),
133
+ body: body,
134
+ );
135
+ }
136
+ }
137
+ ```
138
+
139
+ ## Platform Channels
140
+
141
+ ### Method Channel (Dart Side)
142
+
143
+ ```dart
144
+ import 'package:flutter/services.dart';
145
+
146
+ class NativeBridge {
147
+ static const _channel = MethodChannel('com.example.app/native');
148
+
149
+ static Future<String> getPlatformVersion() async {
150
+ final version = await _channel.invokeMethod<String>('getPlatformVersion');
151
+ return version ?? 'Unknown';
152
+ }
153
+
154
+ static Future<void> triggerHaptic() async {
155
+ await _channel.invokeMethod('triggerHaptic');
156
+ }
157
+
158
+ static Future<Map<String, dynamic>> getDeviceInfo() async {
159
+ final result = await _channel.invokeMethod<Map>('getDeviceInfo');
160
+ return Map<String, dynamic>.from(result ?? {});
161
+ }
162
+ }
163
+ ```
164
+
165
+ ### iOS Implementation (Swift)
166
+
167
+ ```swift
168
+ // ios/Runner/AppDelegate.swift
169
+ import Flutter
170
+ import UIKit
171
+
172
+ @main
173
+ @objc class AppDelegate: FlutterAppDelegate {
174
+ override func application(
175
+ _ application: UIApplication,
176
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
177
+ ) -> Bool {
178
+ let controller = window?.rootViewController as! FlutterViewController
179
+ let channel = FlutterMethodChannel(
180
+ name: "com.example.app/native",
181
+ binaryMessenger: controller.binaryMessenger
182
+ )
183
+
184
+ channel.setMethodCallHandler { (call, result) in
185
+ switch call.method {
186
+ case "getPlatformVersion":
187
+ result("iOS " + UIDevice.current.systemVersion)
188
+ case "triggerHaptic":
189
+ let generator = UIImpactFeedbackGenerator(style: .medium)
190
+ generator.impactOccurred()
191
+ result(nil)
192
+ case "getDeviceInfo":
193
+ result([
194
+ "model": UIDevice.current.model,
195
+ "name": UIDevice.current.name,
196
+ "systemVersion": UIDevice.current.systemVersion
197
+ ])
198
+ default:
199
+ result(FlutterMethodNotImplemented)
200
+ }
201
+ }
202
+
203
+ GeneratedPluginRegistrant.register(with: self)
204
+ return super.application(application, didFinishLaunchingWithOptions: launchOptions)
205
+ }
206
+ }
207
+ ```
208
+
209
+ ### Android Implementation (Kotlin)
210
+
211
+ ```kotlin
212
+ // android/app/src/main/kotlin/.../MainActivity.kt
213
+ package com.example.app
214
+
215
+ import android.os.Build
216
+ import android.os.VibrationEffect
217
+ import android.os.Vibrator
218
+ import android.content.Context
219
+ import io.flutter.embedding.android.FlutterActivity
220
+ import io.flutter.embedding.engine.FlutterEngine
221
+ import io.flutter.plugin.common.MethodChannel
222
+
223
+ class MainActivity: FlutterActivity() {
224
+ private val CHANNEL = "com.example.app/native"
225
+
226
+ override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
227
+ super.configureFlutterEngine(flutterEngine)
228
+
229
+ MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL)
230
+ .setMethodCallHandler { call, result ->
231
+ when (call.method) {
232
+ "getPlatformVersion" -> {
233
+ result.success("Android ${Build.VERSION.RELEASE}")
234
+ }
235
+ "triggerHaptic" -> {
236
+ val vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
237
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
238
+ vibrator.vibrate(
239
+ VibrationEffect.createOneShot(50, VibrationEffect.DEFAULT_AMPLITUDE)
240
+ )
241
+ } else {
242
+ @Suppress("DEPRECATION")
243
+ vibrator.vibrate(50)
244
+ }
245
+ result.success(null)
246
+ }
247
+ "getDeviceInfo" -> {
248
+ result.success(mapOf(
249
+ "model" to Build.MODEL,
250
+ "manufacturer" to Build.MANUFACTURER,
251
+ "version" to Build.VERSION.RELEASE
252
+ ))
253
+ }
254
+ else -> result.notImplemented()
255
+ }
256
+ }
257
+ }
258
+ }
259
+ ```
260
+
261
+ ## iOS-Specific Configuration
262
+
263
+ ### Info.plist Permissions
264
+
265
+ ```xml
266
+ <!-- ios/Runner/Info.plist -->
267
+ <key>NSCameraUsageDescription</key>
268
+ <string>This app needs camera access to take photos</string>
269
+
270
+ <key>NSPhotoLibraryUsageDescription</key>
271
+ <string>This app needs photo library access to save images</string>
272
+
273
+ <key>NSLocationWhenInUseUsageDescription</key>
274
+ <string>This app needs location access to show nearby places</string>
275
+
276
+ <key>NSMicrophoneUsageDescription</key>
277
+ <string>This app needs microphone access for voice recording</string>
278
+ ```
279
+
280
+ ### iOS App Icons and Launch Screen
281
+
282
+ ```
283
+ ios/Runner/Assets.xcassets/
284
+ ├── AppIcon.appiconset/
285
+ │ ├── Contents.json
286
+ │ └── Icon-App-*.png
287
+ └── LaunchImage.imageset/
288
+ ├── Contents.json
289
+ └── LaunchImage*.png
290
+ ```
291
+
292
+ ## Android-Specific Configuration
293
+
294
+ ### AndroidManifest.xml Permissions
295
+
296
+ ```xml
297
+ <!-- android/app/src/main/AndroidManifest.xml -->
298
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
299
+ <uses-permission android:name="android.permission.INTERNET"/>
300
+ <uses-permission android:name="android.permission.CAMERA"/>
301
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
302
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
303
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
304
+
305
+ <application
306
+ android:label="My App"
307
+ android:icon="@mipmap/ic_launcher">
308
+ <!-- ... -->
309
+ </application>
310
+ </manifest>
311
+ ```
312
+
313
+ ### Build Gradle Configuration
314
+
315
+ ```groovy
316
+ // android/app/build.gradle
317
+ android {
318
+ compileSdkVersion 34
319
+
320
+ defaultConfig {
321
+ minSdkVersion 21
322
+ targetSdkVersion 34
323
+ multiDexEnabled true
324
+ }
325
+
326
+ buildTypes {
327
+ release {
328
+ signingConfig signingConfigs.release
329
+ minifyEnabled true
330
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
331
+ }
332
+ }
333
+ }
334
+ ```
335
+
336
+ ## Web-Specific
337
+
338
+ ### Conditional Imports
339
+
340
+ ```dart
341
+ // lib/services/storage_service.dart
342
+ export 'storage_service_stub.dart'
343
+ if (dart.library.io) 'storage_service_native.dart'
344
+ if (dart.library.html) 'storage_service_web.dart';
345
+ ```
346
+
347
+ ```dart
348
+ // lib/services/storage_service_web.dart
349
+ import 'dart:html' as html;
350
+
351
+ class StorageService {
352
+ void save(String key, String value) {
353
+ html.window.localStorage[key] = value;
354
+ }
355
+
356
+ String? load(String key) {
357
+ return html.window.localStorage[key];
358
+ }
359
+ }
360
+ ```
361
+
362
+ ### Web Index Configuration
363
+
364
+ ```html
365
+ <!-- web/index.html -->
366
+ <!DOCTYPE html>
367
+ <html>
368
+ <head>
369
+ <meta charset="UTF-8">
370
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
371
+ <title>My App</title>
372
+ <link rel="manifest" href="manifest.json">
373
+ <link rel="icon" type="image/png" href="favicon.png"/>
374
+ </head>
375
+ <body>
376
+ <script src="flutter_bootstrap.js" async></script>
377
+ </body>
378
+ </html>
379
+ ```
380
+
381
+ ## Platform-Specific Styling
382
+
383
+ ```dart
384
+ ThemeData get theme {
385
+ final baseTheme = ThemeData(
386
+ colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
387
+ useMaterial3: true,
388
+ );
389
+
390
+ if (Platform.isIOS) {
391
+ return baseTheme.copyWith(
392
+ // iOS-style page transitions
393
+ pageTransitionsTheme: const PageTransitionsTheme(
394
+ builders: {
395
+ TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
396
+ },
397
+ ),
398
+ );
399
+ }
400
+
401
+ return baseTheme;
402
+ }
403
+ ```
404
+
405
+ ## Platform Reference
406
+
407
+ | Feature | iOS | Android | Web |
408
+ |---------|-----|---------|-----|
409
+ | Navigation | Cupertino style | Material style | URL-based |
410
+ | Haptics | UIFeedbackGenerator | Vibrator | Not available |
411
+ | Storage | NSUserDefaults | SharedPreferences | localStorage |
412
+ | Deep links | Universal Links | App Links | URL routing |
413
+ | Notifications | APNs | FCM | Web Push |
414
+
415
+ ---
416
+
417
+ *Flutter, iOS, Android, and their respective logos are trademarks of Google LLC and Apple Inc.*