@nockdev/awf 6.2.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 (727) hide show
  1. package/.agent/build.yaml +178 -0
  2. package/.agent/config.yaml +235 -0
  3. package/.agent/core/ACTIVE_MEMORY.yaml +344 -0
  4. package/.agent/core/ARCH_REGISTRY.yaml +252 -0
  5. package/.agent/core/AUDIT_POLICY.md +68 -0
  6. package/.agent/core/BRANDING.yaml +185 -0
  7. package/.agent/core/CACHE.md +59 -0
  8. package/.agent/core/CHECKPOINT.yaml +153 -0
  9. package/.agent/core/CLEANUP_ENGINE.yaml +326 -0
  10. package/.agent/core/CODING_STYLES.yaml +346 -0
  11. package/.agent/core/COMMANDS.md +93 -0
  12. package/.agent/core/CONTEXT_INJECTOR.yaml +325 -0
  13. package/.agent/core/CONTEXT_LOADER.yaml +323 -0
  14. package/.agent/core/CONTEXT_OPTIMIZATION.yaml +286 -0
  15. package/.agent/core/CONTEXT_PRIORITY.yaml +357 -0
  16. package/.agent/core/CUSTOMIZE.md +138 -0
  17. package/.agent/core/DATA_SAFETY.md +92 -0
  18. package/.agent/core/FLOW_ENGINE.yaml +300 -0
  19. package/.agent/core/GRAPH_MEMORY.yaml +420 -0
  20. package/.agent/core/HSA.yaml +357 -0
  21. package/.agent/core/HYBRID_ROUTER.yaml +346 -0
  22. package/.agent/core/INTENT_DETECTION.yaml +384 -0
  23. package/.agent/core/LIBRARY_REGISTRY.yaml +401 -0
  24. package/.agent/core/MCP_TOOLS.yaml +414 -0
  25. package/.agent/core/MEMORY_CONSOLIDATION.yaml +352 -0
  26. package/.agent/core/MEMORY_ENGINE.yaml +353 -0
  27. package/.agent/core/MEMORY_PATHS.yaml +79 -0
  28. package/.agent/core/MEMORY_UTILS.yaml +212 -0
  29. package/.agent/core/PATTERNS.yaml +319 -0
  30. package/.agent/core/PERMISSIONS.md +100 -0
  31. package/.agent/core/README.md +91 -0
  32. package/.agent/core/REFLECTION_ENGINE.yaml +348 -0
  33. package/.agent/core/ROUTER.yaml +424 -0
  34. package/.agent/core/SCORING_FORMULA.yaml +103 -0
  35. package/.agent/core/SEMANTIC_ENGINE.yaml +162 -0
  36. package/.agent/core/SKILLS_FLOW.yaml +341 -0
  37. package/.agent/core/SKILL_SCHEMA.yaml +266 -0
  38. package/.agent/core/STATE_MACHINE.yaml +409 -0
  39. package/.agent/core/SUMMARIZATION_ENGINE.yaml +258 -0
  40. package/.agent/core/TEMPLATES.yaml +364 -0
  41. package/.agent/core/TOKEN_BUDGETS.yaml +157 -0
  42. package/.agent/core/TOKEN_LOADING.yaml +197 -0
  43. package/.agent/core/TOKEN_SUMMARY.yaml +121 -0
  44. package/.agent/core/VERSION.yaml +240 -0
  45. package/.agent/core/embeddings.json +2004 -0
  46. package/.agent/core/session_cache.json +50 -0
  47. package/.agent/i18n/README.md +30 -0
  48. package/.agent/i18n/en.yaml +302 -0
  49. package/.agent/i18n/vi.yaml +302 -0
  50. package/.agent/ide/README.md +47 -0
  51. package/.agent/ide/amazonq.json +35 -0
  52. package/.agent/ide/amp.json +35 -0
  53. package/.agent/ide/antigravity.json +47 -0
  54. package/.agent/ide/augment.json +35 -0
  55. package/.agent/ide/claude.json +42 -0
  56. package/.agent/ide/cline.json +34 -0
  57. package/.agent/ide/codex.json +37 -0
  58. package/.agent/ide/cody.json +35 -0
  59. package/.agent/ide/continue.json +35 -0
  60. package/.agent/ide/cursor.json +42 -0
  61. package/.agent/ide/gemini.json +46 -0
  62. package/.agent/ide/jetbrains.json +35 -0
  63. package/.agent/ide/kiro.json +35 -0
  64. package/.agent/ide/opencode.json +35 -0
  65. package/.agent/ide/roo.json +35 -0
  66. package/.agent/ide/tabnine.json +35 -0
  67. package/.agent/ide/trae.json +35 -0
  68. package/.agent/ide/vscode.json +34 -0
  69. package/.agent/ide/windsurf.json +56 -0
  70. package/.agent/ide/zed.json +36 -0
  71. package/.agent/manifest.yaml +416 -0
  72. package/.agent/memory/README.md +148 -0
  73. package/.agent/memory/active_memories.json +35 -0
  74. package/.agent/memory/archive/.gitkeep +0 -0
  75. package/.agent/memory/audit_summary.json +58 -0
  76. package/.agent/memory/cleanup_log.json +34 -0
  77. package/.agent/memory/consolidated.md +75 -0
  78. package/.agent/memory/core_memory/persona.json +30 -0
  79. package/.agent/memory/core_memory/project.json +25 -0
  80. package/.agent/memory/core_memory/rules.json +29 -0
  81. package/.agent/memory/core_memory/user.json +24 -0
  82. package/.agent/memory/decisions.md +40 -0
  83. package/.agent/memory/graph/knowledge_graph.json +12 -0
  84. package/.agent/memory/insights.md +52 -0
  85. package/.agent/memory/metrics.json +48 -0
  86. package/.agent/memory/patterns/errors.json +11 -0
  87. package/.agent/memory/patterns/successes.json +10 -0
  88. package/.agent/memory/session.md +64 -0
  89. package/.agent/memory/session_rules.json +19 -0
  90. package/.agent/memory/state.json +81 -0
  91. package/.agent/memory/vectors/README.md +129 -0
  92. package/.agent/personas/README.md +180 -0
  93. package/.agent/personas/architect.md +186 -0
  94. package/.agent/personas/auditor.md +222 -0
  95. package/.agent/personas/debugger.md +210 -0
  96. package/.agent/personas/developer.md +183 -0
  97. package/.agent/personas/devops.md +268 -0
  98. package/.agent/personas/documenter.md +262 -0
  99. package/.agent/personas/orchestrator.md +240 -0
  100. package/.agent/personas/persona.schema.yaml +209 -0
  101. package/.agent/personas/planner.md +171 -0
  102. package/.agent/personas/researcher.md +194 -0
  103. package/.agent/personas/security.md +212 -0
  104. package/.agent/personas/tester.md +247 -0
  105. package/.agent/rules/README.md +231 -0
  106. package/.agent/rules/SACRED_RULES.xml +142 -0
  107. package/.agent/rules/constitutional/tier-0-core.yaml +182 -0
  108. package/.agent/rules/constitutional/tier-1-safety.yaml +272 -0
  109. package/.agent/rules/constitutional/tier-2-execution.yaml +294 -0
  110. package/.agent/rules/data/build-systems.yaml +126 -0
  111. package/.agent/rules/data/quality-standards.json +59 -0
  112. package/.agent/rules/duplication-prevention.md +138 -0
  113. package/.agent/rules/incremental-changes.md +146 -0
  114. package/.agent/rules/modules/context-management.yaml +158 -0
  115. package/.agent/rules/modules/edit-verification.yaml +197 -0
  116. package/.agent/rules/modules/evidence.yaml +185 -0
  117. package/.agent/rules/modules/git-workflow.yaml +165 -0
  118. package/.agent/rules/modules/language.yaml +155 -0
  119. package/.agent/rules/modules/online-research.yaml +192 -0
  120. package/.agent/rules/modules/quality.yaml +185 -0
  121. package/.agent/rules/modules/reflection.yaml +209 -0
  122. package/.agent/rules/modules/stop-conditions.yaml +196 -0
  123. package/.agent/rules/modules/terminal-safety.yaml +229 -0
  124. package/.agent/rules/modules/versioning.yaml +97 -0
  125. package/.agent/rules/modules/yagni.yaml +167 -0
  126. package/.agent/rules/project-detection.md +317 -0
  127. package/.agent/rules/prompt-injection-guard.md +260 -0
  128. package/.agent/rules/shell-commands.md +210 -0
  129. package/.agent/rules/validation-framework.md +189 -0
  130. package/.agent/skills/DEVELOPMENT.yaml +226 -0
  131. package/.agent/skills/README.md +69 -0
  132. package/.agent/skills/_categories.yaml +145 -0
  133. package/.agent/skills/_router.yaml +232 -0
  134. package/.agent/skills/core/_index.yaml +12 -0
  135. package/.agent/skills/core/api-design/META.yaml +64 -0
  136. package/.agent/skills/core/api-design/SKILL.md +169 -0
  137. package/.agent/skills/core/api-design/data/api-versioning.yaml +217 -0
  138. package/.agent/skills/core/api-design/data/error-responses.yaml +135 -0
  139. package/.agent/skills/core/api-design/data/graphql-patterns.yaml +165 -0
  140. package/.agent/skills/core/api-design/data/grpc-patterns.yaml +165 -0
  141. package/.agent/skills/core/api-design/data/http-status-codes.yaml +176 -0
  142. package/.agent/skills/core/api-design/data/pagination.yaml +121 -0
  143. package/.agent/skills/core/api-design/data/rate-limiting.yaml +135 -0
  144. package/.agent/skills/core/api-design/data/rest-patterns.yaml +195 -0
  145. package/.agent/skills/core/api-design/data/test-apis.yaml +217 -0
  146. package/.agent/skills/core/authentication/META.yaml +73 -0
  147. package/.agent/skills/core/authentication/SKILL.md +166 -0
  148. package/.agent/skills/core/authentication/data/anti-patterns.yaml +135 -0
  149. package/.agent/skills/core/authentication/data/core-patterns.yaml +256 -0
  150. package/.agent/skills/core/authentication/data/jwt-patterns.yaml +255 -0
  151. package/.agent/skills/core/authentication/data/language-csharp.yaml +215 -0
  152. package/.agent/skills/core/authentication/data/language-go.yaml +215 -0
  153. package/.agent/skills/core/authentication/data/language-java.yaml +215 -0
  154. package/.agent/skills/core/authentication/data/language-mobile.yaml +215 -0
  155. package/.agent/skills/core/authentication/data/language-python.yaml +215 -0
  156. package/.agent/skills/core/authentication/data/language-rust.yaml +215 -0
  157. package/.agent/skills/core/authentication/data/language-typescript.yaml +215 -0
  158. package/.agent/skills/core/authentication/data/mfa-patterns.yaml +175 -0
  159. package/.agent/skills/core/authentication/data/oauth-patterns.yaml +255 -0
  160. package/.agent/skills/core/authentication/data/oauth.yaml +248 -0
  161. package/.agent/skills/core/authentication/data/passkeys-webauthn.yaml +215 -0
  162. package/.agent/skills/core/authentication/data/passkeys.yaml +208 -0
  163. package/.agent/skills/core/authentication/data/password-patterns.yaml +175 -0
  164. package/.agent/skills/core/authentication/data/password.yaml +168 -0
  165. package/.agent/skills/core/authentication/data/session-patterns.yaml +215 -0
  166. package/.agent/skills/core/error-handling/META.yaml +71 -0
  167. package/.agent/skills/core/error-handling/SKILL.md +156 -0
  168. package/.agent/skills/core/error-handling/data/anti-patterns.yaml +105 -0
  169. package/.agent/skills/core/error-handling/data/api-error-patterns.yaml +135 -0
  170. package/.agent/skills/core/error-handling/data/core-patterns.yaml +226 -0
  171. package/.agent/skills/core/error-handling/data/error-codes.yaml +165 -0
  172. package/.agent/skills/core/error-handling/data/error-messages.yaml +165 -0
  173. package/.agent/skills/core/error-handling/data/language-c-cpp.yaml +226 -0
  174. package/.agent/skills/core/error-handling/data/language-go-rust.yaml +226 -0
  175. package/.agent/skills/core/error-handling/data/language-python-java.yaml +226 -0
  176. package/.agent/skills/core/error-handling/data/language-swift-kotlin.yaml +226 -0
  177. package/.agent/skills/core/error-handling/data/language-typescript-php-ruby.yaml +226 -0
  178. package/.agent/skills/core/error-handling/data/resilience-patterns.yaml +191 -0
  179. package/.agent/skills/core/error-handling/data/ui-error-patterns.yaml +135 -0
  180. package/.agent/skills/core/logging/META.yaml +73 -0
  181. package/.agent/skills/core/logging/SKILL.md +184 -0
  182. package/.agent/skills/core/logging/data/aggregation-patterns.yaml +191 -0
  183. package/.agent/skills/core/logging/data/anti-patterns.yaml +121 -0
  184. package/.agent/skills/core/logging/data/core-patterns.yaml +226 -0
  185. package/.agent/skills/core/logging/data/language-csharp.yaml +191 -0
  186. package/.agent/skills/core/logging/data/language-go.yaml +191 -0
  187. package/.agent/skills/core/logging/data/language-java.yaml +191 -0
  188. package/.agent/skills/core/logging/data/language-kotlin.yaml +156 -0
  189. package/.agent/skills/core/logging/data/language-others.yaml +184 -0
  190. package/.agent/skills/core/logging/data/language-python.yaml +191 -0
  191. package/.agent/skills/core/logging/data/language-rust.yaml +191 -0
  192. package/.agent/skills/core/logging/data/language-swift.yaml +156 -0
  193. package/.agent/skills/core/logging/data/language-typescript.yaml +191 -0
  194. package/.agent/skills/core/logging/data/otel-logging.yaml +156 -0
  195. package/.agent/skills/core/observability/META.yaml +76 -0
  196. package/.agent/skills/core/observability/SKILL.md +153 -0
  197. package/.agent/skills/core/observability/data/alerting-patterns.yaml +165 -0
  198. package/.agent/skills/core/observability/data/anti-patterns.yaml +105 -0
  199. package/.agent/skills/core/observability/data/core-patterns.yaml +195 -0
  200. package/.agent/skills/core/observability/data/language-cpp.yaml +165 -0
  201. package/.agent/skills/core/observability/data/language-csharp.yaml +165 -0
  202. package/.agent/skills/core/observability/data/language-go.yaml +165 -0
  203. package/.agent/skills/core/observability/data/language-java.yaml +165 -0
  204. package/.agent/skills/core/observability/data/language-others.yaml +255 -0
  205. package/.agent/skills/core/observability/data/language-python.yaml +165 -0
  206. package/.agent/skills/core/observability/data/language-rust.yaml +165 -0
  207. package/.agent/skills/core/observability/data/language-typescript.yaml +165 -0
  208. package/.agent/skills/core/observability/data/metrics-patterns.yaml +135 -0
  209. package/.agent/skills/core/observability/data/metrics-prometheus.yaml +165 -0
  210. package/.agent/skills/core/observability/data/otel-core.yaml +195 -0
  211. package/.agent/skills/core/observability/data/profiling-patterns.yaml +135 -0
  212. package/.agent/skills/core/observability/data/tracing-patterns.yaml +165 -0
  213. package/.agent/skills/core/observability/data/tracing-tools.yaml +135 -0
  214. package/.agent/skills/core/security/ADVANCED.md +269 -0
  215. package/.agent/skills/core/security/META.yaml +97 -0
  216. package/.agent/skills/core/security/SKILL.md +234 -0
  217. package/.agent/skills/core/security/data/ai-ml-security.yaml +261 -0
  218. package/.agent/skills/core/security/data/api-security.yaml +230 -0
  219. package/.agent/skills/core/security/data/auth-patterns.yaml +195 -0
  220. package/.agent/skills/core/security/data/binary-exploitation.yaml +339 -0
  221. package/.agent/skills/core/security/data/cloud-security.yaml +269 -0
  222. package/.agent/skills/core/security/data/cwe-top25.yaml +415 -0
  223. package/.agent/skills/core/security/data/language-specific/c-security.yaml +295 -0
  224. package/.agent/skills/core/security/data/language-specific/cpp-security.yaml +295 -0
  225. package/.agent/skills/core/security/data/language-specific/csharp-security.yaml +219 -0
  226. package/.agent/skills/core/security/data/language-specific/go-security.yaml +219 -0
  227. package/.agent/skills/core/security/data/language-specific/java-security.yaml +295 -0
  228. package/.agent/skills/core/security/data/language-specific/kotlin-security.yaml +198 -0
  229. package/.agent/skills/core/security/data/language-specific/php-security.yaml +219 -0
  230. package/.agent/skills/core/security/data/language-specific/python-security.yaml +295 -0
  231. package/.agent/skills/core/security/data/language-specific/ruby-security.yaml +198 -0
  232. package/.agent/skills/core/security/data/language-specific/rust-security.yaml +240 -0
  233. package/.agent/skills/core/security/data/language-specific/solidity-security.yaml +369 -0
  234. package/.agent/skills/core/security/data/language-specific/swift-security.yaml +198 -0
  235. package/.agent/skills/core/security/data/language-specific/typescript-security.yaml +295 -0
  236. package/.agent/skills/core/security/data/mobile-security.yaml +369 -0
  237. package/.agent/skills/core/security/data/network-security.yaml +297 -0
  238. package/.agent/skills/core/security/data/owasp-top10.yaml +171 -0
  239. package/.agent/skills/core/security/data/reverse-engineering.yaml +497 -0
  240. package/.agent/skills/core/security/data/supply-chain.yaml +219 -0
  241. package/.agent/skills/cross-cutting/_index.yaml +15 -0
  242. package/.agent/skills/cross-cutting/audit-pro/META.yaml +43 -0
  243. package/.agent/skills/cross-cutting/audit-pro/data/checklists.yaml +644 -0
  244. package/.agent/skills/cross-cutting/audit-pro/data/scoring.yaml +101 -0
  245. package/.agent/skills/cross-cutting/aws/META.yaml +75 -0
  246. package/.agent/skills/cross-cutting/aws/data/ai_ml.yaml +194 -0
  247. package/.agent/skills/cross-cutting/aws/data/compute.yaml +191 -0
  248. package/.agent/skills/cross-cutting/aws/data/kubernetes.yaml +199 -0
  249. package/.agent/skills/cross-cutting/aws/data/storage.yaml +174 -0
  250. package/.agent/skills/cross-cutting/bun/META.yaml +58 -0
  251. package/.agent/skills/cross-cutting/bun/SKILL.md +357 -0
  252. package/.agent/skills/cross-cutting/bun/data/database.yaml +85 -0
  253. package/.agent/skills/cross-cutting/bun/data/runtime.yaml +170 -0
  254. package/.agent/skills/cross-cutting/bun/data/tooling.yaml +192 -0
  255. package/.agent/skills/cross-cutting/ci-cd/META.yaml +60 -0
  256. package/.agent/skills/cross-cutting/ci-cd/data/github_actions.yaml +248 -0
  257. package/.agent/skills/cross-cutting/ci-cd/data/security.yaml +211 -0
  258. package/.agent/skills/cross-cutting/coding-rules/META.yaml +61 -0
  259. package/.agent/skills/cross-cutting/coding-rules/SKILL.md +171 -0
  260. package/.agent/skills/cross-cutting/coding-rules/data/architecture-patterns.yaml +96 -0
  261. package/.agent/skills/cross-cutting/coding-rules/data/build-systems.yaml +346 -0
  262. package/.agent/skills/cross-cutting/coding-rules/data/coding-rules.yaml +647 -0
  263. package/.agent/skills/cross-cutting/coding-rules/data/concurrency-patterns.yaml +108 -0
  264. package/.agent/skills/cross-cutting/coding-rules/data/design-patterns.yaml +260 -0
  265. package/.agent/skills/cross-cutting/coding-rules/data/framework-signatures.yaml +344 -0
  266. package/.agent/skills/cross-cutting/coding-rules/data/memory-management.yaml +108 -0
  267. package/.agent/skills/cross-cutting/coding-rules/data/naming-conventions.yaml +320 -0
  268. package/.agent/skills/cross-cutting/coding-rules/data/performance-benchmarks.yaml +164 -0
  269. package/.agent/skills/cross-cutting/coding-rules/data/solid-principles.yaml +80 -0
  270. package/.agent/skills/cross-cutting/coding-rules/data/test-frameworks.yaml +183 -0
  271. package/.agent/skills/cross-cutting/database/ADVANCED.md +465 -0
  272. package/.agent/skills/cross-cutting/database/META.yaml +22 -0
  273. package/.agent/skills/cross-cutting/database/SKILL.md +816 -0
  274. package/.agent/skills/cross-cutting/database/data/anti_patterns.yaml +116 -0
  275. package/.agent/skills/cross-cutting/database/data/distributed.yaml +152 -0
  276. package/.agent/skills/cross-cutting/database/data/mongodb.yaml +132 -0
  277. package/.agent/skills/cross-cutting/database/data/mysql.yaml +130 -0
  278. package/.agent/skills/cross-cutting/database/data/orm.yaml +104 -0
  279. package/.agent/skills/cross-cutting/database/data/postgresql.yaml +170 -0
  280. package/.agent/skills/cross-cutting/database/data/redis.yaml +129 -0
  281. package/.agent/skills/cross-cutting/deno/META.yaml +68 -0
  282. package/.agent/skills/cross-cutting/deno/SKILL.md +343 -0
  283. package/.agent/skills/cross-cutting/deno/data/runtime.yaml +260 -0
  284. package/.agent/skills/cross-cutting/deno/data/security.yaml +168 -0
  285. package/.agent/skills/cross-cutting/deno/data/tooling.yaml +133 -0
  286. package/.agent/skills/cross-cutting/docker/META.yaml +65 -0
  287. package/.agent/skills/cross-cutting/docker/data/build.yaml +197 -0
  288. package/.agent/skills/cross-cutting/docker/data/compose.yaml +229 -0
  289. package/.agent/skills/cross-cutting/docker/data/security.yaml +164 -0
  290. package/.agent/skills/cross-cutting/electron/META.yaml +174 -0
  291. package/.agent/skills/cross-cutting/electron/SKILL.md +862 -0
  292. package/.agent/skills/cross-cutting/electron/data/build.yaml +105 -0
  293. package/.agent/skills/cross-cutting/electron/data/crash.yaml +103 -0
  294. package/.agent/skills/cross-cutting/electron/data/ipc.yaml +85 -0
  295. package/.agent/skills/cross-cutting/electron/data/native.yaml +157 -0
  296. package/.agent/skills/cross-cutting/electron/data/security.yaml +89 -0
  297. package/.agent/skills/cross-cutting/electron/data/storage.yaml +100 -0
  298. package/.agent/skills/cross-cutting/electron/data/testing.yaml +103 -0
  299. package/.agent/skills/cross-cutting/electron/data/updates.yaml +99 -0
  300. package/.agent/skills/cross-cutting/electron/data/window.yaml +83 -0
  301. package/.agent/skills/cross-cutting/kubernetes/META.yaml +70 -0
  302. package/.agent/skills/cross-cutting/kubernetes/data/networking.yaml +270 -0
  303. package/.agent/skills/cross-cutting/kubernetes/data/scheduling.yaml +267 -0
  304. package/.agent/skills/cross-cutting/kubernetes/data/security.yaml +253 -0
  305. package/.agent/skills/cross-cutting/kubernetes/data/workloads.yaml +251 -0
  306. package/.agent/skills/cross-cutting/sql/META.yaml +88 -0
  307. package/.agent/skills/cross-cutting/sql/SKILL.md +296 -0
  308. package/.agent/skills/cross-cutting/sql/data/indexing.yaml +147 -0
  309. package/.agent/skills/cross-cutting/sql/data/json.yaml +156 -0
  310. package/.agent/skills/cross-cutting/sql/data/performance.yaml +204 -0
  311. package/.agent/skills/cross-cutting/sql/data/queries.yaml +150 -0
  312. package/.agent/skills/cross-cutting/tailwind/META.yaml +72 -0
  313. package/.agent/skills/cross-cutting/tailwind/SKILL.md +344 -0
  314. package/.agent/skills/cross-cutting/tailwind/data/build.yaml +143 -0
  315. package/.agent/skills/cross-cutting/tailwind/data/config.yaml +109 -0
  316. package/.agent/skills/cross-cutting/tailwind/data/migration.yaml +149 -0
  317. package/.agent/skills/cross-cutting/tailwind/data/responsive.yaml +148 -0
  318. package/.agent/skills/cross-cutting/tailwind/data/states.yaml +152 -0
  319. package/.agent/skills/cross-cutting/tailwind/data/theme.yaml +126 -0
  320. package/.agent/skills/cross-cutting/tailwind/data/utilities.yaml +182 -0
  321. package/.agent/skills/cross-cutting/tailwind/data/variants.yaml +154 -0
  322. package/.agent/skills/cross-cutting/testing/ADVANCED.md +245 -0
  323. package/.agent/skills/cross-cutting/testing/META.yaml +49 -0
  324. package/.agent/skills/cross-cutting/testing/SKILL.md +263 -0
  325. package/.agent/skills/cross-cutting/testing/data/frameworks.yaml +300 -0
  326. package/.agent/skills/cross-cutting/testing/data/patterns.yaml +168 -0
  327. package/.agent/skills/cross-cutting/ui-ux-pro-max/META.yaml +108 -0
  328. package/.agent/skills/cross-cutting/ui-ux-pro-max/SKILL.md +565 -0
  329. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/charts.yaml +331 -0
  330. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/colors.yaml +1226 -0
  331. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-decision.yaml +287 -0
  332. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-mapping.yaml +318 -0
  333. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/design-tokens.yaml +525 -0
  334. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-animation.yaml +232 -0
  335. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-architecture.yaml +140 -0
  336. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-colors.yaml +467 -0
  337. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/directory-structure.yaml +75 -0
  338. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/icons.yaml +918 -0
  339. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/implementation-strategy.yaml +107 -0
  340. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/landing.yaml +372 -0
  341. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-frameworks.yaml +195 -0
  342. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-guidelines.yaml +177 -0
  343. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/products.yaml +1339 -0
  344. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/prompts.yaml +180 -0
  345. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/react-performance.yaml +504 -0
  346. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/desktop.yaml +228 -0
  347. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/flutter.yaml +508 -0
  348. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/html-tailwind.yaml +543 -0
  349. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nextjs.yaml +515 -0
  350. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxt-ui.yaml +519 -0
  351. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxtjs.yaml +599 -0
  352. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react-native.yaml +496 -0
  353. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react.yaml +526 -0
  354. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/shadcn.yaml +616 -0
  355. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/svelte.yaml +520 -0
  356. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/swiftui.yaml +486 -0
  357. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/vue.yaml +485 -0
  358. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/styles.yaml +1473 -0
  359. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/typography.yaml +647 -0
  360. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ui-reasoning.yaml +1019 -0
  361. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ux-guidelines.yaml +1009 -0
  362. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/web-interface.yaml +347 -0
  363. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  364. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  365. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  366. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core.py +393 -0
  367. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core_legacy.py +303 -0
  368. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/design_system.py +496 -0
  369. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/search.py +76 -0
  370. package/.agent/skills/cross-cutting/web-perf/META.yaml +92 -0
  371. package/.agent/skills/cross-cutting/web-perf/SKILL.md +181 -0
  372. package/.agent/skills/cross-cutting/web-perf/data/cls_optimization.yaml +189 -0
  373. package/.agent/skills/cross-cutting/web-perf/data/core_web_vitals.yaml +282 -0
  374. package/.agent/skills/cross-cutting/web-perf/data/inp_optimization.yaml +240 -0
  375. package/.agent/skills/cross-cutting/web-perf/data/lcp_optimization.yaml +202 -0
  376. package/.agent/skills/cross-cutting/web-perf/data/measurement.yaml +170 -0
  377. package/.agent/skills/devops/_index.yaml +9 -0
  378. package/.agent/skills/devops/aws/ADVANCED.md +547 -0
  379. package/.agent/skills/devops/aws/META.yaml +84 -0
  380. package/.agent/skills/devops/aws/SKILL.md +711 -0
  381. package/.agent/skills/devops/ci-cd/ADVANCED.md +529 -0
  382. package/.agent/skills/devops/ci-cd/META.yaml +21 -0
  383. package/.agent/skills/devops/ci-cd/SKILL.md +821 -0
  384. package/.agent/skills/devops/docker/ADVANCED.md +495 -0
  385. package/.agent/skills/devops/docker/META.yaml +20 -0
  386. package/.agent/skills/devops/docker/SKILL.md +653 -0
  387. package/.agent/skills/devops/kubernetes/ADVANCED.md +252 -0
  388. package/.agent/skills/devops/kubernetes/META.yaml +15 -0
  389. package/.agent/skills/devops/kubernetes/SKILL.md +621 -0
  390. package/.agent/skills/frameworks/_index.yaml +13 -0
  391. package/.agent/skills/frameworks/angular/META.yaml +70 -0
  392. package/.agent/skills/frameworks/angular/SKILL.md +319 -0
  393. package/.agent/skills/frameworks/angular/data/core.yaml +209 -0
  394. package/.agent/skills/frameworks/angular/data/performance.yaml +210 -0
  395. package/.agent/skills/frameworks/angular/data/server.yaml +175 -0
  396. package/.agent/skills/frameworks/flutter/ADVANCED.md +491 -0
  397. package/.agent/skills/frameworks/flutter/META.yaml +64 -0
  398. package/.agent/skills/frameworks/flutter/SKILL.md +541 -0
  399. package/.agent/skills/frameworks/flutter/data/core.yaml +210 -0
  400. package/.agent/skills/frameworks/flutter/data/platform.yaml +246 -0
  401. package/.agent/skills/frameworks/flutter/data/state.yaml +250 -0
  402. package/.agent/skills/frameworks/nextjs/ADVANCED.md +225 -0
  403. package/.agent/skills/frameworks/nextjs/META.yaml +67 -0
  404. package/.agent/skills/frameworks/nextjs/SKILL.md +593 -0
  405. package/.agent/skills/frameworks/nextjs/data/caching.yaml +210 -0
  406. package/.agent/skills/frameworks/nextjs/data/core.yaml +255 -0
  407. package/.agent/skills/frameworks/nextjs/data/server.yaml +248 -0
  408. package/.agent/skills/frameworks/nuxt/META.yaml +57 -0
  409. package/.agent/skills/frameworks/nuxt/SKILL.md +283 -0
  410. package/.agent/skills/frameworks/nuxt/data/core.yaml +309 -0
  411. package/.agent/skills/frameworks/nuxt/data/server.yaml +271 -0
  412. package/.agent/skills/frameworks/react/ADVANCED.md +676 -0
  413. package/.agent/skills/frameworks/react/META.yaml +60 -0
  414. package/.agent/skills/frameworks/react/SKILL.md +263 -0
  415. package/.agent/skills/frameworks/react/data/core.yaml +278 -0
  416. package/.agent/skills/frameworks/react/data/server.yaml +283 -0
  417. package/.agent/skills/frameworks/react-native/META.yaml +59 -0
  418. package/.agent/skills/frameworks/react-native/SKILL.md +301 -0
  419. package/.agent/skills/frameworks/react-native/data/core.yaml +260 -0
  420. package/.agent/skills/frameworks/react-native/data/platform.yaml +287 -0
  421. package/.agent/skills/frameworks/svelte/META.yaml +62 -0
  422. package/.agent/skills/frameworks/svelte/SKILL.md +398 -0
  423. package/.agent/skills/frameworks/svelte/data/runes.yaml +239 -0
  424. package/.agent/skills/frameworks/svelte/data/sveltekit.yaml +244 -0
  425. package/.agent/skills/frameworks/vue/ADVANCED.md +214 -0
  426. package/.agent/skills/frameworks/vue/META.yaml +58 -0
  427. package/.agent/skills/frameworks/vue/SKILL.md +356 -0
  428. package/.agent/skills/frameworks/vue/data/advanced.yaml +253 -0
  429. package/.agent/skills/frameworks/vue/data/core.yaml +270 -0
  430. package/.agent/skills/index.json +143 -0
  431. package/.agent/skills/languages/_index.yaml +33 -0
  432. package/.agent/skills/languages/asm/ADVANCED.md +750 -0
  433. package/.agent/skills/languages/asm/META.yaml +84 -0
  434. package/.agent/skills/languages/asm/SKILL.md +753 -0
  435. package/.agent/skills/languages/asm/data/advanced.yaml +295 -0
  436. package/.agent/skills/languages/asm/data/core.yaml +280 -0
  437. package/.agent/skills/languages/c/ADVANCED.md +625 -0
  438. package/.agent/skills/languages/c/META.yaml +58 -0
  439. package/.agent/skills/languages/c/SKILL.md +748 -0
  440. package/.agent/skills/languages/c/data/core.yaml +179 -0
  441. package/.agent/skills/languages/c/data/embedded.yaml +251 -0
  442. package/.agent/skills/languages/c/data/memory.yaml +253 -0
  443. package/.agent/skills/languages/clojure/META.yaml +13 -0
  444. package/.agent/skills/languages/clojure/SKILL.md +130 -0
  445. package/.agent/skills/languages/clojure/data/core.yaml +326 -0
  446. package/.agent/skills/languages/cpp/ADVANCED.md +457 -0
  447. package/.agent/skills/languages/cpp/META.yaml +61 -0
  448. package/.agent/skills/languages/cpp/SKILL.md +936 -0
  449. package/.agent/skills/languages/cpp/data/core.yaml +304 -0
  450. package/.agent/skills/languages/cpp/data/memory.yaml +247 -0
  451. package/.agent/skills/languages/cpp/data/modern.yaml +334 -0
  452. package/.agent/skills/languages/crystal/META.yaml +30 -0
  453. package/.agent/skills/languages/crystal/SKILL.md +117 -0
  454. package/.agent/skills/languages/crystal/data/async.yaml +264 -0
  455. package/.agent/skills/languages/crystal/data/core.yaml +279 -0
  456. package/.agent/skills/languages/csharp/ADVANCED.md +592 -0
  457. package/.agent/skills/languages/csharp/META.yaml +23 -0
  458. package/.agent/skills/languages/csharp/SKILL.md +620 -0
  459. package/.agent/skills/languages/csharp/data/aspnet.yaml +448 -0
  460. package/.agent/skills/languages/csharp/data/core.yaml +362 -0
  461. package/.agent/skills/languages/elixir/META.yaml +18 -0
  462. package/.agent/skills/languages/elixir/SKILL.md +368 -0
  463. package/.agent/skills/languages/elixir/data/core.yaml +392 -0
  464. package/.agent/skills/languages/fsharp/META.yaml +14 -0
  465. package/.agent/skills/languages/fsharp/SKILL.md +113 -0
  466. package/.agent/skills/languages/fsharp/data/core.yaml +396 -0
  467. package/.agent/skills/languages/go/ADVANCED.md +260 -0
  468. package/.agent/skills/languages/go/META.yaml +64 -0
  469. package/.agent/skills/languages/go/SKILL.md +489 -0
  470. package/.agent/skills/languages/go/data/concurrency.yaml +424 -0
  471. package/.agent/skills/languages/go/data/core.yaml +399 -0
  472. package/.agent/skills/languages/go/data/http.yaml +507 -0
  473. package/.agent/skills/languages/haskell/META.yaml +18 -0
  474. package/.agent/skills/languages/haskell/SKILL.md +305 -0
  475. package/.agent/skills/languages/haskell/data/core.yaml +347 -0
  476. package/.agent/skills/languages/java/ADVANCED.md +450 -0
  477. package/.agent/skills/languages/java/META.yaml +89 -0
  478. package/.agent/skills/languages/java/SKILL.md +495 -0
  479. package/.agent/skills/languages/java/data/core.yaml +307 -0
  480. package/.agent/skills/languages/java/data/spring.yaml +437 -0
  481. package/.agent/skills/languages/javascript/ADVANCED.md +530 -0
  482. package/.agent/skills/languages/javascript/META.yaml +105 -0
  483. package/.agent/skills/languages/javascript/SKILL.md +455 -0
  484. package/.agent/skills/languages/javascript/data/async.yaml +290 -0
  485. package/.agent/skills/languages/javascript/data/core.yaml +380 -0
  486. package/.agent/skills/languages/javascript/data/modern.yaml +269 -0
  487. package/.agent/skills/languages/julia/META.yaml +13 -0
  488. package/.agent/skills/languages/julia/SKILL.md +174 -0
  489. package/.agent/skills/languages/julia/data/core.yaml +356 -0
  490. package/.agent/skills/languages/kotlin/ADVANCED.md +539 -0
  491. package/.agent/skills/languages/kotlin/META.yaml +24 -0
  492. package/.agent/skills/languages/kotlin/SKILL.md +525 -0
  493. package/.agent/skills/languages/kotlin/data/android.yaml +495 -0
  494. package/.agent/skills/languages/kotlin/data/core.yaml +366 -0
  495. package/.agent/skills/languages/lua/ADVANCED.md +257 -0
  496. package/.agent/skills/languages/lua/META.yaml +58 -0
  497. package/.agent/skills/languages/lua/SKILL.md +492 -0
  498. package/.agent/skills/languages/lua/data/core.yaml +264 -0
  499. package/.agent/skills/languages/lua/data/embedding.yaml +300 -0
  500. package/.agent/skills/languages/nim/META.yaml +30 -0
  501. package/.agent/skills/languages/nim/SKILL.md +116 -0
  502. package/.agent/skills/languages/nim/data/async.yaml +257 -0
  503. package/.agent/skills/languages/nim/data/core.yaml +241 -0
  504. package/.agent/skills/languages/ocaml/META.yaml +13 -0
  505. package/.agent/skills/languages/ocaml/SKILL.md +123 -0
  506. package/.agent/skills/languages/ocaml/data/core.yaml +357 -0
  507. package/.agent/skills/languages/perl/META.yaml +13 -0
  508. package/.agent/skills/languages/perl/SKILL.md +115 -0
  509. package/.agent/skills/languages/perl/data/core.yaml +360 -0
  510. package/.agent/skills/languages/php/ADVANCED.md +199 -0
  511. package/.agent/skills/languages/php/META.yaml +18 -0
  512. package/.agent/skills/languages/php/SKILL.md +488 -0
  513. package/.agent/skills/languages/php/data/core.yaml +392 -0
  514. package/.agent/skills/languages/php/data/laravel.yaml +525 -0
  515. package/.agent/skills/languages/python/ADVANCED.md +207 -0
  516. package/.agent/skills/languages/python/META.yaml +91 -0
  517. package/.agent/skills/languages/python/SKILL.md +495 -0
  518. package/.agent/skills/languages/python/data/async.yaml +265 -0
  519. package/.agent/skills/languages/python/data/core.yaml +259 -0
  520. package/.agent/skills/languages/python/data/fastapi.yaml +296 -0
  521. package/.agent/skills/languages/python/data/testing.yaml +226 -0
  522. package/.agent/skills/languages/r/META.yaml +16 -0
  523. package/.agent/skills/languages/r/SKILL.md +348 -0
  524. package/.agent/skills/languages/r/data/core.yaml +355 -0
  525. package/.agent/skills/languages/ruby/ADVANCED.md +381 -0
  526. package/.agent/skills/languages/ruby/META.yaml +19 -0
  527. package/.agent/skills/languages/ruby/SKILL.md +417 -0
  528. package/.agent/skills/languages/ruby/data/core.yaml +448 -0
  529. package/.agent/skills/languages/ruby/data/rails.yaml +415 -0
  530. package/.agent/skills/languages/rust/ADVANCED.md +212 -0
  531. package/.agent/skills/languages/rust/META.yaml +87 -0
  532. package/.agent/skills/languages/rust/SKILL.md +377 -0
  533. package/.agent/skills/languages/rust/data/async.yaml +404 -0
  534. package/.agent/skills/languages/rust/data/axum.yaml +450 -0
  535. package/.agent/skills/languages/rust/data/core.yaml +356 -0
  536. package/.agent/skills/languages/scala/META.yaml +17 -0
  537. package/.agent/skills/languages/scala/SKILL.md +202 -0
  538. package/.agent/skills/languages/scala/data/core.yaml +349 -0
  539. package/.agent/skills/languages/solidity/META.yaml +13 -0
  540. package/.agent/skills/languages/solidity/SKILL.md +188 -0
  541. package/.agent/skills/languages/solidity/data/core.yaml +528 -0
  542. package/.agent/skills/languages/swift/ADVANCED.md +231 -0
  543. package/.agent/skills/languages/swift/META.yaml +18 -0
  544. package/.agent/skills/languages/swift/SKILL.md +342 -0
  545. package/.agent/skills/languages/swift/data/core.yaml +489 -0
  546. package/.agent/skills/languages/typescript/ADVANCED.md +186 -0
  547. package/.agent/skills/languages/typescript/META.yaml +92 -0
  548. package/.agent/skills/languages/typescript/SKILL.md +306 -0
  549. package/.agent/skills/languages/typescript/data/async.yaml +397 -0
  550. package/.agent/skills/languages/typescript/data/core.yaml +283 -0
  551. package/.agent/skills/languages/typescript/data/validation.yaml +338 -0
  552. package/.agent/skills/languages/zig/META.yaml +52 -0
  553. package/.agent/skills/languages/zig/SKILL.md +354 -0
  554. package/.agent/skills/languages/zig/data/async.yaml +314 -0
  555. package/.agent/skills/languages/zig/data/core.yaml +302 -0
  556. package/.agent/templates/README.md +42 -0
  557. package/.agent/templates/audit-report.md +153 -0
  558. package/.agent/templates/chains/debug/step1-reproduce.md +83 -0
  559. package/.agent/templates/chains/debug/step2-isolate.md +73 -0
  560. package/.agent/templates/chains/debug/step3-analyze.md +86 -0
  561. package/.agent/templates/chains/debug/step4-fix.md +85 -0
  562. package/.agent/templates/chains/debug/step5-verify.md +122 -0
  563. package/.agent/templates/chains/implement/step1-plan.md +88 -0
  564. package/.agent/templates/chains/implement/step2-code.md +87 -0
  565. package/.agent/templates/chains/implement/step3-test.md +87 -0
  566. package/.agent/templates/chains/implement/step4-doc.md +118 -0
  567. package/.agent/templates/chains/review/step1-understand.md +74 -0
  568. package/.agent/templates/chains/review/step2-analyze.md +110 -0
  569. package/.agent/templates/chains/review/step3-fix.md +93 -0
  570. package/.agent/templates/chains/review/step4-summary.md +104 -0
  571. package/.agent/templates/debug-report.md +50 -0
  572. package/.agent/templates/deploy-plan.md +54 -0
  573. package/.agent/templates/doc-template.md +57 -0
  574. package/.agent/templates/findings.md +122 -0
  575. package/.agent/templates/index.yaml +239 -0
  576. package/.agent/templates/migrate-plan.md +50 -0
  577. package/.agent/templates/phase-template.md +72 -0
  578. package/.agent/templates/project-plan.md +87 -0
  579. package/.agent/templates/prompts/context_block.md +114 -0
  580. package/.agent/templates/prompts/guardrails_block.md +116 -0
  581. package/.agent/templates/prompts/persona_base.md +155 -0
  582. package/.agent/templates/prompts/tools_block.md +137 -0
  583. package/.agent/templates/reflection/critic.md +110 -0
  584. package/.agent/templates/reflection/error_analysis.md +149 -0
  585. package/.agent/templates/reflection/success_analysis.md +174 -0
  586. package/.agent/templates/task-list.md +144 -0
  587. package/.agent/templates/tasks/audit.yaml +146 -0
  588. package/.agent/templates/tasks/bug_fix.yaml +121 -0
  589. package/.agent/templates/tasks/code_implementation.yaml +110 -0
  590. package/.agent/templates/tasks/refactor.yaml +157 -0
  591. package/.agent/templates/test-report.md +52 -0
  592. package/.agent/workflows/ap.md +135 -0
  593. package/.agent/workflows/code.md +130 -0
  594. package/.agent/workflows/debug.md +230 -0
  595. package/.agent/workflows/deploy.md +192 -0
  596. package/.agent/workflows/dev.md +137 -0
  597. package/.agent/workflows/doc.md +124 -0
  598. package/.agent/workflows/env.md +98 -0
  599. package/.agent/workflows/fix.md +76 -0
  600. package/.agent/workflows/generate.md +28 -0
  601. package/.agent/workflows/git.md +97 -0
  602. package/.agent/workflows/help.md +75 -0
  603. package/.agent/workflows/init.md +148 -0
  604. package/.agent/workflows/migrate.md +135 -0
  605. package/.agent/workflows/monitor.md +133 -0
  606. package/.agent/workflows/onboard.md +144 -0
  607. package/.agent/workflows/orchestrate.md +117 -0
  608. package/.agent/workflows/perf.md +106 -0
  609. package/.agent/workflows/plan.md +106 -0
  610. package/.agent/workflows/recap.md +101 -0
  611. package/.agent/workflows/refactor.md +161 -0
  612. package/.agent/workflows/revert.md +99 -0
  613. package/.agent/workflows/review.md +106 -0
  614. package/.agent/workflows/scaffold.md +119 -0
  615. package/.agent/workflows/security.md +186 -0
  616. package/.agent/workflows/status.md +103 -0
  617. package/.agent/workflows/test.md +157 -0
  618. package/.agent/workflows/think.md +126 -0
  619. package/.agent/workflows/upgrade.md +109 -0
  620. package/.agent/workflows/visualize.md +295 -0
  621. package/.agent/workflows/workflow.md +196 -0
  622. package/README.md +64 -0
  623. package/dist/commands/add.d.ts +2 -0
  624. package/dist/commands/add.d.ts.map +1 -0
  625. package/dist/commands/add.js +70 -0
  626. package/dist/commands/add.js.map +1 -0
  627. package/dist/commands/config.d.ts +4 -0
  628. package/dist/commands/config.d.ts.map +1 -0
  629. package/dist/commands/config.js +152 -0
  630. package/dist/commands/config.js.map +1 -0
  631. package/dist/commands/doctor.d.ts +4 -0
  632. package/dist/commands/doctor.d.ts.map +1 -0
  633. package/dist/commands/doctor.js +98 -0
  634. package/dist/commands/doctor.js.map +1 -0
  635. package/dist/commands/hsa.d.ts +4 -0
  636. package/dist/commands/hsa.d.ts.map +1 -0
  637. package/dist/commands/hsa.js +194 -0
  638. package/dist/commands/hsa.js.map +1 -0
  639. package/dist/commands/info.d.ts +2 -0
  640. package/dist/commands/info.d.ts.map +1 -0
  641. package/dist/commands/info.js +149 -0
  642. package/dist/commands/info.js.map +1 -0
  643. package/dist/commands/init.d.ts +4 -0
  644. package/dist/commands/init.d.ts.map +1 -0
  645. package/dist/commands/init.js +262 -0
  646. package/dist/commands/init.js.map +1 -0
  647. package/dist/commands/install-core.d.ts +4 -0
  648. package/dist/commands/install-core.d.ts.map +1 -0
  649. package/dist/commands/install-core.js +85 -0
  650. package/dist/commands/install-core.js.map +1 -0
  651. package/dist/commands/install-helpers.d.ts +27 -0
  652. package/dist/commands/install-helpers.d.ts.map +1 -0
  653. package/dist/commands/install-helpers.js +125 -0
  654. package/dist/commands/install-helpers.js.map +1 -0
  655. package/dist/commands/install-hsa.d.ts +18 -0
  656. package/dist/commands/install-hsa.d.ts.map +1 -0
  657. package/dist/commands/install-hsa.js +61 -0
  658. package/dist/commands/install-hsa.js.map +1 -0
  659. package/dist/commands/install.d.ts +4 -0
  660. package/dist/commands/install.d.ts.map +1 -0
  661. package/dist/commands/install.js +310 -0
  662. package/dist/commands/install.js.map +1 -0
  663. package/dist/commands/list.d.ts +4 -0
  664. package/dist/commands/list.d.ts.map +1 -0
  665. package/dist/commands/list.js +91 -0
  666. package/dist/commands/list.js.map +1 -0
  667. package/dist/commands/mcp-registry.d.ts +48 -0
  668. package/dist/commands/mcp-registry.d.ts.map +1 -0
  669. package/dist/commands/mcp-registry.js +246 -0
  670. package/dist/commands/mcp-registry.js.map +1 -0
  671. package/dist/commands/mcp-writers.d.ts +20 -0
  672. package/dist/commands/mcp-writers.d.ts.map +1 -0
  673. package/dist/commands/mcp-writers.js +144 -0
  674. package/dist/commands/mcp-writers.js.map +1 -0
  675. package/dist/commands/mcp.d.ts +10 -0
  676. package/dist/commands/mcp.d.ts.map +1 -0
  677. package/dist/commands/mcp.js +319 -0
  678. package/dist/commands/mcp.js.map +1 -0
  679. package/dist/commands/update.d.ts +4 -0
  680. package/dist/commands/update.d.ts.map +1 -0
  681. package/dist/commands/update.js +79 -0
  682. package/dist/commands/update.js.map +1 -0
  683. package/dist/constants/cursor-globs.d.ts +17 -0
  684. package/dist/constants/cursor-globs.d.ts.map +1 -0
  685. package/dist/constants/cursor-globs.js +62 -0
  686. package/dist/constants/cursor-globs.js.map +1 -0
  687. package/dist/constants/ide-install-specs.d.ts +36 -0
  688. package/dist/constants/ide-install-specs.d.ts.map +1 -0
  689. package/dist/constants/ide-install-specs.js +870 -0
  690. package/dist/constants/ide-install-specs.js.map +1 -0
  691. package/dist/constants/ides.d.ts +105 -0
  692. package/dist/constants/ides.d.ts.map +1 -0
  693. package/dist/constants/ides.js +412 -0
  694. package/dist/constants/ides.js.map +1 -0
  695. package/dist/constants/skills.d.ts +40 -0
  696. package/dist/constants/skills.d.ts.map +1 -0
  697. package/dist/constants/skills.js +78 -0
  698. package/dist/constants/skills.js.map +1 -0
  699. package/dist/constants.d.ts +39 -0
  700. package/dist/constants.d.ts.map +1 -0
  701. package/dist/constants.js +75 -0
  702. package/dist/constants.js.map +1 -0
  703. package/dist/index.d.ts +8 -0
  704. package/dist/index.d.ts.map +1 -0
  705. package/dist/index.js +122 -0
  706. package/dist/index.js.map +1 -0
  707. package/dist/types/flags.d.ts +47 -0
  708. package/dist/types/flags.d.ts.map +1 -0
  709. package/dist/types/flags.js +4 -0
  710. package/dist/types/flags.js.map +1 -0
  711. package/dist/types/ide-install.d.ts +175 -0
  712. package/dist/types/ide-install.d.ts.map +1 -0
  713. package/dist/types/ide-install.js +29 -0
  714. package/dist/types/ide-install.js.map +1 -0
  715. package/dist/utils/copy-helpers.d.ts +60 -0
  716. package/dist/utils/copy-helpers.d.ts.map +1 -0
  717. package/dist/utils/copy-helpers.js +617 -0
  718. package/dist/utils/copy-helpers.js.map +1 -0
  719. package/dist/utils/index.d.ts +3 -0
  720. package/dist/utils/index.d.ts.map +1 -0
  721. package/dist/utils/index.js +5 -0
  722. package/dist/utils/index.js.map +1 -0
  723. package/dist/utils/validation.d.ts +29 -0
  724. package/dist/utils/validation.d.ts.map +1 -0
  725. package/dist/utils/validation.js +211 -0
  726. package/dist/utils/validation.js.map +1 -0
  727. package/package.json +64 -0
@@ -0,0 +1,210 @@
1
+ # =============================================================================
2
+ # Flutter Core Patterns (Feb 2026)
3
+ # =============================================================================
4
+ # Widgets, Dart 3.7, Build patterns
5
+
6
+ metadata:
7
+ skill: flutter
8
+ domain: core
9
+ version: "3.29"
10
+ updated: "2026-02-05"
11
+ patterns_count: 6
12
+
13
+ patterns:
14
+ - id: flt001
15
+ name: Widget Composition
16
+ category: architecture
17
+ version: "1.0+"
18
+ description: Compose UIs from small, focused widgets
19
+ text: widget stateless stateful composition build context
20
+ example: |
21
+ // ✅ Prefer StatelessWidget when possible
22
+ class UserCard extends StatelessWidget {
23
+ final User user;
24
+ const UserCard({super.key, required this.user});
25
+
26
+ @override
27
+ Widget build(BuildContext context) {
28
+ return Card(
29
+ child: ListTile(
30
+ leading: CircleAvatar(
31
+ backgroundImage: NetworkImage(user.avatarUrl),
32
+ ),
33
+ title: Text(user.name),
34
+ subtitle: Text(user.email),
35
+ ),
36
+ );
37
+ }
38
+ }
39
+
40
+ // ✅ Use const constructors for performance
41
+ const SizedBox(height: 16);
42
+ const Text('Hello');
43
+ const Icon(Icons.star);
44
+ severity: HIGH
45
+ docs_url: https://docs.flutter.dev/development/ui/widgets-intro
46
+
47
+ - id: flt002
48
+ name: Dart 3.7 Features
49
+ category: language
50
+ version: "3.7+"
51
+ description: Modern Dart features - digit separators, wildcards
52
+ text: dart 3.7 digit separator wildcard underscore formatter
53
+ example: |
54
+ // ✅ Digit separators (readability)
55
+ const billion = 1_000_000_000;
56
+ const hex = 0xFF_EC_DE_5D;
57
+ const binary = 0b1010_1100_1111_0000;
58
+
59
+ // ✅ Wildcard variables - elegant callback handling
60
+ future.then((_) => print('Done!')); // Underscore as wildcard
61
+
62
+ // ✅ Pattern matching with wildcards
63
+ switch (result) {
64
+ case Success(value: _): print('Success!');
65
+ case Failure(error: final e): print('Error: $e');
66
+ }
67
+
68
+ // ✅ Improved formatter - auto trailing commas
69
+ // Formatter now adds/removes trailing commas based on line length
70
+ severity: MEDIUM
71
+ docs_url: https://dart.dev/language
72
+
73
+ - id: flt003
74
+ name: Sealed Classes & Patterns
75
+ category: language
76
+ version: "3.0+"
77
+ description: Type-safe exhaustive pattern matching with sealed classes
78
+ text: sealed class pattern matching switch case exhaustive
79
+ example: |
80
+ // ✅ Sealed class for exhaustive pattern matching
81
+ sealed class Result<T> {
82
+ const Result();
83
+ }
84
+
85
+ class Success<T> extends Result<T> {
86
+ final T value;
87
+ const Success(this.value);
88
+ }
89
+
90
+ class Failure<T> extends Result<T> {
91
+ final Exception error;
92
+ const Failure(this.error);
93
+ }
94
+
95
+ // ✅ Pattern matching in switch (exhaustive!)
96
+ String handleResult(Result<User> result) {
97
+ return switch (result) {
98
+ Success(value: final user) => 'Hello, ${user.name}!',
99
+ Failure(error: final e) => 'Error: ${e.toString()}',
100
+ };
101
+ }
102
+
103
+ // ✅ if-case pattern matching
104
+ if (result case Success(value: final user)) {
105
+ print('User: ${user.name}');
106
+ }
107
+ severity: HIGH
108
+ docs_url: https://dart.dev/language/patterns
109
+
110
+ - id: flt004
111
+ name: Records & Destructuring
112
+ category: language
113
+ version: "3.0+"
114
+ description: Anonymous tuples and destructuring patterns
115
+ text: record tuple destructuring named field pattern
116
+ example: |
117
+ // ✅ Records (anonymous tuples)
118
+ (String, int) getUserInfo() => ('Alice', 25);
119
+
120
+ final (name, age) = getUserInfo();
121
+ print('$name is $age years old');
122
+
123
+ // ✅ Named fields in records
124
+ ({String name, int age}) getUser() => (name: 'Alice', age: 25);
125
+
126
+ final (:name, :age) = getUser();
127
+
128
+ // ✅ Use in function returns
129
+ (bool success, String? error) validateEmail(String email) {
130
+ if (email.contains('@')) {
131
+ return (true, null);
132
+ }
133
+ return (false, 'Invalid email format');
134
+ }
135
+
136
+ final (isValid, error) = validateEmail('test@example.com');
137
+ severity: MEDIUM
138
+ docs_url: https://dart.dev/language/records
139
+
140
+ - id: flt005
141
+ name: Freezed for Immutable Models
142
+ category: data
143
+ version: "2.0+"
144
+ description: Code generation for immutable data classes
145
+ text: freezed immutable copyWith json serializable model
146
+ example: |
147
+ import 'package:freezed_annotation/freezed_annotation.dart';
148
+
149
+ part 'user.freezed.dart';
150
+ part 'user.g.dart';
151
+
152
+ // ✅ Immutable data class with freezed
153
+ @freezed
154
+ class User with _$User {
155
+ const factory User({
156
+ required String id,
157
+ required String email,
158
+ required String name,
159
+ @Default(false) bool isActive,
160
+ DateTime? lastLoginAt,
161
+ }) = _User;
162
+
163
+ factory User.fromJson(Map<String, dynamic> json) =>
164
+ _$UserFromJson(json);
165
+ }
166
+
167
+ // Usage
168
+ final user = User(id: '1', email: 'a@b.com', name: 'Alice');
169
+ final updated = user.copyWith(isActive: true); // Immutable update
170
+
171
+ // Run: dart run build_runner build --delete-conflicting-outputs
172
+ severity: HIGH
173
+ docs_url: https://pub.dev/packages/freezed
174
+
175
+ - id: flt006
176
+ name: Feature-First Structure
177
+ category: architecture
178
+ version: "1.0+"
179
+ description: Organize code by feature, not by type
180
+ text: project structure feature folder architecture organization
181
+ example: |
182
+ # ✅ Feature-First Project Structure
183
+ lib/
184
+ ├── main.dart
185
+ ├── app/
186
+ │ ├── app.dart # MaterialApp setup
187
+ │ └── router.dart # Navigation
188
+ ├── core/
189
+ │ ├── constants/
190
+ │ ├── network/
191
+ │ │ ├── api_client.dart
192
+ │ │ └── interceptors.dart
193
+ │ └── theme/
194
+ │ └── app_theme.dart
195
+ ├── features/
196
+ │ ├── auth/
197
+ │ │ ├── data/ # datasources, models, repositories
198
+ │ │ ├── domain/ # entities, usecases
199
+ │ │ └── presentation/ # pages, widgets, providers
200
+ │ └── home/
201
+ │ └── ...
202
+ └── shared/
203
+ └── widgets/
204
+
205
+ # ✅ Benefits:
206
+ # - Each feature is self-contained
207
+ # - Easy to add/remove features
208
+ # - Clear dependencies between features
209
+ severity: MEDIUM
210
+ docs_url: https://docs.flutter.dev/development/packages-and-plugins/developing-packages
@@ -0,0 +1,246 @@
1
+ # =============================================================================
2
+ # Flutter Platform Patterns (Feb 2026)
3
+ # =============================================================================
4
+ # Flutter 3.29 features, Impeller, performance
5
+
6
+ metadata:
7
+ skill: flutter
8
+ domain: platform
9
+ version: "3.29"
10
+ updated: "2026-02-05"
11
+ patterns_count: 6
12
+
13
+ patterns:
14
+ - id: flt011
15
+ name: Impeller (iOS Default)
16
+ category: rendering
17
+ version: "3.29+"
18
+ description: |
19
+ Impeller is now the DEFAULT rendering engine on iOS.
20
+ Skia removed from iOS builds. ~2x faster rendering.
21
+ text: impeller rendering engine ios performance skia
22
+ example: |
23
+ // ✅ Flutter 3.29: Impeller is DEFAULT on iOS
24
+ // No configuration needed - automatic performance boost
25
+
26
+ // Benefits:
27
+ // - ~2x faster rendering than Skia
28
+ // - Consistent frame rates
29
+ // - Reduced shader compilation jank
30
+ // - Smaller binary size (Skia removed)
31
+
32
+ // ⚠️ Android: Impeller still opt-in
33
+ // In AndroidManifest.xml:
34
+ <meta-data
35
+ android:name="io.flutter.embedding.android.EnableImpeller"
36
+ android:value="true" />
37
+
38
+ // Or via command line:
39
+ // flutter run --enable-impeller
40
+ severity: CRITICAL
41
+ docs_url: https://docs.flutter.dev/perf/impeller
42
+
43
+ - id: flt012
44
+ name: Main Thread Dart Execution
45
+ category: architecture
46
+ version: "3.29+"
47
+ description: |
48
+ Dart code now runs on platform main thread (Android/iOS).
49
+ Eliminates UI thread overhead, better platform interop.
50
+ text: main thread dart execution platform native interop
51
+ example: |
52
+ // ✅ Flutter 3.29: Main Thread Dart Execution
53
+
54
+ // Benefits:
55
+ // 1. Eliminates separate UI thread - simpler architecture
56
+ // 2. Synchronous platform channel calls possible
57
+ // 3. Better integration with platform native code
58
+ // 4. Reduced overhead for platform channels
59
+
60
+ // Platform channels now faster:
61
+ import 'package:flutter/services.dart';
62
+
63
+ class NativeBridge {
64
+ static const platform = MethodChannel('com.example/native');
65
+
66
+ // ✅ Faster synchronous-like calls
67
+ Future<String> getNativeData() async {
68
+ return await platform.invokeMethod<String>('getData') ?? '';
69
+ }
70
+ }
71
+ severity: HIGH
72
+ docs_url: https://docs.flutter.dev/release/breaking-changes
73
+
74
+ - id: flt013
75
+ name: BackdropGroup Widget
76
+ category: ui
77
+ version: "3.29+"
78
+ description: Optimized blur effects with grouped BackdropFilters
79
+ text: backdrop blur filter group optimized glassmorphism
80
+ example: |
81
+ import 'package:flutter/widgets.dart';
82
+ import 'dart:ui';
83
+
84
+ // ✅ BackdropGroup for multiple blur effects
85
+ BackdropGroup(
86
+ children: [
87
+ BackdropFilter.grouped(
88
+ filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
89
+ child: Container(
90
+ color: Colors.white.withOpacity(0.5),
91
+ child: Text('Blurred background 1'),
92
+ ),
93
+ ),
94
+ BackdropFilter.grouped(
95
+ filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
96
+ child: Container(
97
+ color: Colors.blue.withOpacity(0.3),
98
+ child: Text('Blurred background 2'),
99
+ ),
100
+ ),
101
+ ],
102
+ )
103
+
104
+ // Benefits:
105
+ // - Shared blur computation between children
106
+ // - Better performance than separate BackdropFilters
107
+ // - Perfect for glassmorphism UIs
108
+ severity: MEDIUM
109
+ docs_url: https://api.flutter.dev/flutter/widgets/BackdropGroup-class.html
110
+
111
+ - id: flt014
112
+ name: ImageFilter.shader
113
+ category: ui
114
+ version: "3.29+"
115
+ description: Apply custom fragment shaders to widgets
116
+ text: shader fragment image filter custom effect gpu
117
+ example: |
118
+ import 'dart:ui' as ui;
119
+
120
+ // ✅ Load and apply custom shader
121
+ class ShaderWidget extends StatefulWidget {
122
+ @override
123
+ State<ShaderWidget> createState() => _ShaderWidgetState();
124
+ }
125
+
126
+ class _ShaderWidgetState extends State<ShaderWidget> {
127
+ ui.FragmentShader? _shader;
128
+
129
+ @override
130
+ void initState() {
131
+ super.initState();
132
+ _loadShader();
133
+ }
134
+
135
+ Future<void> _loadShader() async {
136
+ final program = await ui.FragmentProgram.fromAsset('shaders/my_effect.frag');
137
+ setState(() => _shader = program.fragmentShader());
138
+ }
139
+
140
+ @override
141
+ Widget build(BuildContext context) {
142
+ if (_shader == null) return const SizedBox();
143
+
144
+ return ImageFiltered(
145
+ imageFilter: ui.ImageFilter.shader(_shader!),
146
+ child: Image.asset('assets/photo.png'),
147
+ );
148
+ }
149
+ }
150
+
151
+ // shader file: shaders/my_effect.frag
152
+ // #version 460
153
+ // precision mediump float;
154
+ // ...
155
+ severity: MEDIUM
156
+ docs_url: https://docs.flutter.dev/development/ui/advanced/shaders
157
+
158
+ - id: flt015
159
+ name: Performance Optimization
160
+ category: performance
161
+ version: "3.0+"
162
+ description: Key techniques for smooth 60fps Flutter apps
163
+ text: performance optimization const rebuild repaint isolate
164
+ example: |
165
+ // ✅ 1. Use const constructors
166
+ const SizedBox(height: 16);
167
+ const Text('Hello');
168
+ const Icon(Icons.star);
169
+
170
+ // ✅ 2. Extract widgets to avoid rebuilds
171
+ class UserList extends StatelessWidget {
172
+ @override
173
+ Widget build(BuildContext context) {
174
+ return ListView.builder(
175
+ itemCount: users.length,
176
+ itemBuilder: (context, index) => UserListItem(
177
+ key: ValueKey(users[index].id), // ✅ Add keys!
178
+ user: users[index],
179
+ ),
180
+ );
181
+ }
182
+ }
183
+
184
+ // ✅ 3. RepaintBoundary for complex widgets
185
+ RepaintBoundary(
186
+ child: ComplexAnimatedWidget(),
187
+ )
188
+
189
+ // ✅ 4. Offload heavy computation to isolates
190
+ import 'dart:isolate';
191
+
192
+ Future<List<ProcessedItem>> processDataInIsolate(
193
+ List<RawItem> items
194
+ ) async {
195
+ return await Isolate.run(() {
196
+ return items.map((item) => processItem(item)).toList();
197
+ });
198
+ }
199
+
200
+ // ✅ 5. Use ListView.builder not ListView
201
+ // ✅ 6. Cache network images with CachedNetworkImage
202
+ // ✅ 7. Profile with DevTools Performance tab
203
+ severity: CRITICAL
204
+ docs_url: https://docs.flutter.dev/perf/best-practices
205
+
206
+ - id: flt016
207
+ name: Material 3 Updates
208
+ category: ui
209
+ version: "3.29+"
210
+ description: Latest Material 3 transitions and theming
211
+ text: material 3 theme transition page animation design
212
+ example: |
213
+ // ✅ FadeForwardsPageTransitionsBuilder - new default transition
214
+ MaterialApp(
215
+ theme: ThemeData(
216
+ useMaterial3: true, // ✅ Material 3 (default in 3.27+)
217
+ colorScheme: ColorScheme.fromSeed(
218
+ seedColor: Colors.blue,
219
+ brightness: Brightness.light,
220
+ ),
221
+ pageTransitionsTheme: PageTransitionsTheme(
222
+ builders: {
223
+ TargetPlatform.android: FadeForwardsPageTransitionsBuilder(),
224
+ TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
225
+ },
226
+ ),
227
+ ),
228
+ )
229
+
230
+ // ✅ Dynamic color (Android 12+)
231
+ import 'package:dynamic_color/dynamic_color.dart';
232
+
233
+ DynamicColorBuilder(
234
+ builder: (ColorScheme? lightDynamic, ColorScheme? darkDynamic) {
235
+ return MaterialApp(
236
+ theme: ThemeData(
237
+ colorScheme: lightDynamic ?? defaultLightColorScheme,
238
+ ),
239
+ darkTheme: ThemeData(
240
+ colorScheme: darkDynamic ?? defaultDarkColorScheme,
241
+ ),
242
+ );
243
+ },
244
+ )
245
+ severity: HIGH
246
+ docs_url: https://m3.material.io/develop/flutter
@@ -0,0 +1,250 @@
1
+ # =============================================================================
2
+ # Flutter State Management Patterns (Feb 2026)
3
+ # =============================================================================
4
+ # Riverpod, BLoC, Provider best practices
5
+
6
+ metadata:
7
+ skill: flutter
8
+ domain: state
9
+ version: "3.29"
10
+ updated: "2026-02-05"
11
+ patterns_count: 4
12
+
13
+ patterns:
14
+ - id: flt007
15
+ name: Riverpod 3.0
16
+ category: state
17
+ version: "3.0+"
18
+ description: |
19
+ Recommended state management for most Flutter apps.
20
+ Type-safe, testable, compile-time safety.
21
+ text: riverpod provider notifier async future state management
22
+ example: |
23
+ import 'package:riverpod/riverpod.dart';
24
+
25
+ // ✅ FutureProvider for async data
26
+ final userProvider = FutureProvider.autoDispose<User>((ref) async {
27
+ final api = ref.watch(apiClientProvider);
28
+ return api.fetchUser();
29
+ });
30
+
31
+ // ✅ Notifier for complex state
32
+ class CounterNotifier extends Notifier<int> {
33
+ @override
34
+ int build() => 0; // Initial state
35
+
36
+ void increment() => state++;
37
+ void decrement() => state--;
38
+ }
39
+
40
+ final counterProvider = NotifierProvider<CounterNotifier, int>(
41
+ CounterNotifier.new,
42
+ );
43
+
44
+ // ✅ In widgets: watch() in build, read() in callbacks
45
+ class CounterWidget extends ConsumerWidget {
46
+ @override
47
+ Widget build(BuildContext context, WidgetRef ref) {
48
+ final count = ref.watch(counterProvider); // ✅ watch in build
49
+
50
+ return Column(
51
+ children: [
52
+ Text('Count: $count'),
53
+ ElevatedButton(
54
+ onPressed: () => ref.read(counterProvider.notifier).increment(),
55
+ child: Text('Increment'),
56
+ ),
57
+ ],
58
+ );
59
+ }
60
+ }
61
+
62
+ // ✅ Use ref.select() to reduce rebuilds
63
+ final userName = ref.watch(userProvider.select((u) => u.name));
64
+ severity: CRITICAL
65
+ docs_url: https://riverpod.dev/
66
+
67
+ - id: flt008
68
+ name: BLoC Pattern
69
+ category: state
70
+ version: "8.0+"
71
+ description: |
72
+ Business Logic Component pattern for enterprise apps.
73
+ Separates UI from business logic with events and states.
74
+ text: bloc cubit event state stream business logic flutter_bloc
75
+ example: |
76
+ import 'package:flutter_bloc/flutter_bloc.dart';
77
+
78
+ // ✅ Events (sealed for exhaustive matching)
79
+ sealed class AuthEvent {}
80
+ class LoginRequested extends AuthEvent {
81
+ final String email;
82
+ final String password;
83
+ LoginRequested(this.email, this.password);
84
+ }
85
+ class LogoutRequested extends AuthEvent {}
86
+
87
+ // ✅ States (sealed for exhaustive matching)
88
+ sealed class AuthState {}
89
+ class AuthInitial extends AuthState {}
90
+ class AuthLoading extends AuthState {}
91
+ class AuthAuthenticated extends AuthState {
92
+ final User user;
93
+ AuthAuthenticated(this.user);
94
+ }
95
+ class AuthError extends AuthState {
96
+ final String message;
97
+ AuthError(this.message);
98
+ }
99
+
100
+ // ✅ BLoC
101
+ class AuthBloc extends Bloc<AuthEvent, AuthState> {
102
+ final AuthRepository _repository;
103
+
104
+ AuthBloc(this._repository) : super(AuthInitial()) {
105
+ on<LoginRequested>(_onLoginRequested);
106
+ on<LogoutRequested>(_onLogoutRequested);
107
+ }
108
+
109
+ Future<void> _onLoginRequested(
110
+ LoginRequested event,
111
+ Emitter<AuthState> emit,
112
+ ) async {
113
+ emit(AuthLoading());
114
+ try {
115
+ final user = await _repository.login(event.email, event.password);
116
+ emit(AuthAuthenticated(user));
117
+ } catch (e) {
118
+ emit(AuthError(e.toString()));
119
+ }
120
+ }
121
+
122
+ Future<void> _onLogoutRequested(
123
+ LogoutRequested event,
124
+ Emitter<AuthState> emit,
125
+ ) async {
126
+ await _repository.logout();
127
+ emit(AuthInitial());
128
+ }
129
+ }
130
+
131
+ // ✅ Use BlocBuilder efficiently
132
+ BlocBuilder<AuthBloc, AuthState>(
133
+ buildWhen: (previous, current) => current is! AuthLoading,
134
+ builder: (context, state) {
135
+ return switch (state) {
136
+ AuthInitial() => LoginScreen(),
137
+ AuthLoading() => LoadingIndicator(),
138
+ AuthAuthenticated(user: final u) => HomeScreen(user: u),
139
+ AuthError(message: final m) => ErrorScreen(message: m),
140
+ };
141
+ },
142
+ )
143
+ severity: HIGH
144
+ docs_url: https://bloclibrary.dev/
145
+
146
+ - id: flt009
147
+ name: Cubit (Simplified BLoC)
148
+ category: state
149
+ version: "8.0+"
150
+ description: Simpler alternative to BLoC without events
151
+ text: cubit state simple bloc emit flutter_bloc
152
+ example: |
153
+ import 'package:flutter_bloc/flutter_bloc.dart';
154
+
155
+ // ✅ Cubit - simpler than BLoC (no events)
156
+ class CounterCubit extends Cubit<int> {
157
+ CounterCubit() : super(0);
158
+
159
+ void increment() => emit(state + 1);
160
+ void decrement() => emit(state - 1);
161
+ void reset() => emit(0);
162
+ }
163
+
164
+ // ✅ Async Cubit
165
+ class UserCubit extends Cubit<UserState> {
166
+ final UserRepository _repository;
167
+
168
+ UserCubit(this._repository) : super(UserInitial());
169
+
170
+ Future<void> loadUser(String id) async {
171
+ emit(UserLoading());
172
+ try {
173
+ final user = await _repository.getUser(id);
174
+ emit(UserLoaded(user));
175
+ } catch (e) {
176
+ emit(UserError(e.toString()));
177
+ }
178
+ }
179
+ }
180
+
181
+ // ✅ Use in widget
182
+ BlocProvider(
183
+ create: (context) => CounterCubit(),
184
+ child: BlocBuilder<CounterCubit, int>(
185
+ builder: (context, count) {
186
+ return Text('Count: $count');
187
+ },
188
+ ),
189
+ )
190
+
191
+ // ✅ Call methods
192
+ context.read<CounterCubit>().increment();
193
+ severity: MEDIUM
194
+ docs_url: https://bloclibrary.dev/bloc-concepts/#cubit
195
+
196
+ - id: flt010
197
+ name: Provider (Simple State)
198
+ category: state
199
+ version: "6.0+"
200
+ description: Simple state management for small apps
201
+ text: provider changenotifier valuenotifier simple state
202
+ example: |
203
+ import 'package:provider/provider.dart';
204
+
205
+ // ✅ ChangeNotifier for simple mutable state
206
+ class CartProvider extends ChangeNotifier {
207
+ final List<CartItem> _items = [];
208
+
209
+ List<CartItem> get items => List.unmodifiable(_items);
210
+ int get itemCount => _items.length;
211
+ double get totalPrice => _items.fold(0, (sum, item) => sum + item.price);
212
+
213
+ void addItem(CartItem item) {
214
+ _items.add(item);
215
+ notifyListeners(); // ✅ Notify widgets
216
+ }
217
+
218
+ void removeItem(String id) {
219
+ _items.removeWhere((item) => item.id == id);
220
+ notifyListeners();
221
+ }
222
+
223
+ void clear() {
224
+ _items.clear();
225
+ notifyListeners();
226
+ }
227
+ }
228
+
229
+ // ✅ Provide at top level
230
+ void main() {
231
+ runApp(
232
+ ChangeNotifierProvider(
233
+ create: (_) => CartProvider(),
234
+ child: MyApp(),
235
+ ),
236
+ );
237
+ }
238
+
239
+ // ✅ Consume in widgets
240
+ Consumer<CartProvider>(
241
+ builder: (context, cart, child) {
242
+ return Text('Items: ${cart.itemCount}');
243
+ },
244
+ )
245
+
246
+ // ✅ Quick access (use sparingly)
247
+ final cart = context.read<CartProvider>();
248
+ cart.addItem(item);
249
+ severity: MEDIUM
250
+ docs_url: https://pub.dev/packages/provider