@nockdev/awf 6.2.0 → 6.2.2

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 (733) hide show
  1. package/.agent/build.yaml +3 -3
  2. package/.agent/config.yaml +21 -146
  3. package/.agent/core/AGENT_BEHAVIOR.md +86 -0
  4. package/.agent/core/AUDIT_POLICY.md +1 -1
  5. package/.agent/core/CACHE.md +1 -1
  6. package/.agent/core/COMMANDS.md +16 -7
  7. package/.agent/core/CUSTOMIZE.md +61 -3
  8. package/.agent/core/DATA_SAFETY.md +1 -1
  9. package/.agent/core/MEMORY_PATHS.yaml +2 -2
  10. package/.agent/core/PERMISSIONS.md +1 -1
  11. package/.agent/core/README.md +1 -1
  12. package/.agent/core/VERSION.yaml +18 -8
  13. package/.agent/core/{ACTIVE_MEMORY.yaml → archive/ACTIVE_MEMORY.yaml} +2 -2
  14. package/.agent/core/{CHECKPOINT.yaml → archive/CHECKPOINT.yaml} +2 -2
  15. package/.agent/core/{CLEANUP_ENGINE.yaml → archive/CLEANUP_ENGINE.yaml} +2 -2
  16. package/.agent/core/{CONTEXT_INJECTOR.yaml → archive/CONTEXT_INJECTOR.yaml} +2 -2
  17. package/.agent/core/{CONTEXT_LOADER.yaml → archive/CONTEXT_LOADER.yaml} +1 -1
  18. package/.agent/core/{CONTEXT_OPTIMIZATION.yaml → archive/CONTEXT_OPTIMIZATION.yaml} +1 -1
  19. package/.agent/core/{CONTEXT_PRIORITY.yaml → archive/CONTEXT_PRIORITY.yaml} +2 -2
  20. package/.agent/core/{FLOW_ENGINE.yaml → archive/FLOW_ENGINE.yaml} +1 -1
  21. package/.agent/core/{GRAPH_MEMORY.yaml → archive/GRAPH_MEMORY.yaml} +1 -1
  22. package/.agent/core/{HYBRID_ROUTER.yaml → archive/HYBRID_ROUTER.yaml} +1 -1
  23. package/.agent/core/{INTENT_DETECTION.yaml → archive/INTENT_DETECTION.yaml} +1 -1
  24. package/.agent/core/{MEMORY_CONSOLIDATION.yaml → archive/MEMORY_CONSOLIDATION.yaml} +3 -3
  25. package/.agent/core/{MEMORY_ENGINE.yaml → archive/MEMORY_ENGINE.yaml} +2 -2
  26. package/.agent/core/{MEMORY_UTILS.yaml → archive/MEMORY_UTILS.yaml} +1 -1
  27. package/.agent/core/{REFLECTION_ENGINE.yaml → archive/REFLECTION_ENGINE.yaml} +1 -1
  28. package/.agent/core/{ROUTER.yaml → archive/ROUTER.yaml} +5 -5
  29. package/.agent/core/{SCORING_FORMULA.yaml → archive/SCORING_FORMULA.yaml} +2 -2
  30. package/.agent/core/{SEMANTIC_ENGINE.yaml → archive/SEMANTIC_ENGINE.yaml} +2 -2
  31. package/.agent/core/{SKILLS_FLOW.yaml → archive/SKILLS_FLOW.yaml} +2 -2
  32. package/.agent/core/{STATE_MACHINE.yaml → archive/STATE_MACHINE.yaml} +1 -1
  33. package/.agent/core/{SUMMARIZATION_ENGINE.yaml → archive/SUMMARIZATION_ENGINE.yaml} +2 -2
  34. package/.agent/core/{TOKEN_BUDGETS.yaml → archive/TOKEN_BUDGETS.yaml} +2 -2
  35. package/.agent/core/{TOKEN_LOADING.yaml → archive/TOKEN_LOADING.yaml} +2 -2
  36. package/.agent/core/{TOKEN_SUMMARY.yaml → archive/TOKEN_SUMMARY.yaml} +2 -2
  37. package/.agent/core/{CODING_STYLES.yaml → reference/CODING_STYLES.yaml} +1 -1
  38. package/.agent/core/{LIBRARY_REGISTRY.yaml → reference/LIBRARY_REGISTRY.yaml} +1 -1
  39. package/.agent/core/{MCP_TOOLS.yaml → reference/MCP_TOOLS.yaml} +2 -2
  40. package/.agent/core/{PATTERNS.yaml → reference/PATTERNS.yaml} +1 -1
  41. package/.agent/core/{SKILL_SCHEMA.yaml → reference/SKILL_SCHEMA.yaml} +2 -2
  42. package/.agent/core/{TEMPLATES.yaml → reference/TEMPLATES.yaml} +1 -1
  43. package/.agent/i18n/en.yaml +6 -6
  44. package/.agent/i18n/vi.yaml +6 -6
  45. package/.agent/ide/README.md +1 -1
  46. package/.agent/ide/amazonq.json +3 -3
  47. package/.agent/ide/amp.json +4 -3
  48. package/.agent/ide/antigravity.json +4 -3
  49. package/.agent/ide/augment.json +4 -4
  50. package/.agent/ide/claude.json +4 -3
  51. package/.agent/ide/cline.json +4 -3
  52. package/.agent/ide/codex.json +6 -1
  53. package/.agent/ide/cody.json +4 -3
  54. package/.agent/ide/continue.json +4 -3
  55. package/.agent/ide/cursor.json +4 -3
  56. package/.agent/ide/gemini.json +4 -3
  57. package/.agent/ide/jetbrains.json +4 -3
  58. package/.agent/ide/kiro.json +4 -3
  59. package/.agent/ide/opencode.json +4 -3
  60. package/.agent/ide/roo.json +4 -3
  61. package/.agent/ide/tabnine.json +4 -3
  62. package/.agent/ide/trae.json +4 -3
  63. package/.agent/ide/vscode.json +4 -3
  64. package/.agent/ide/windsurf.json +4 -3
  65. package/.agent/ide/zed.json +4 -3
  66. package/.agent/manifest.yaml +142 -34
  67. package/.agent/memory/core_memory/persona.json +2 -2
  68. package/.agent/memory/core_memory/project.json +1 -1
  69. package/.agent/memory/core_memory/rules.json +1 -1
  70. package/.agent/memory/core_memory/user.json +1 -1
  71. package/.agent/memory/graph/knowledge_graph.json +1 -1
  72. package/.agent/memory/patterns/errors.json +1 -1
  73. package/.agent/memory/patterns/successes.json +1 -1
  74. package/.agent/memory/state.json +3 -3
  75. package/.agent/personas/README.md +1 -1
  76. package/.agent/personas/architect.md +1 -1
  77. package/.agent/personas/auditor.md +1 -1
  78. package/.agent/personas/debugger.md +1 -1
  79. package/.agent/personas/developer.md +1 -1
  80. package/.agent/personas/devops.md +1 -1
  81. package/.agent/personas/documenter.md +1 -1
  82. package/.agent/personas/orchestrator.md +1 -1
  83. package/.agent/personas/persona.schema.yaml +1 -1
  84. package/.agent/personas/planner.md +1 -1
  85. package/.agent/personas/researcher.md +1 -1
  86. package/.agent/personas/security.md +1 -1
  87. package/.agent/personas/tester.md +1 -1
  88. package/.agent/private/README.md +74 -0
  89. package/.agent/private/_index.yaml +23 -0
  90. package/.agent/private/_template/META.yaml +38 -0
  91. package/.agent/private/_template/SKILL.md +43 -0
  92. package/.agent/private/_template/data/.gitkeep +0 -0
  93. package/.agent/private/autodomyh-api/META.yaml +48 -0
  94. package/.agent/private/autodomyh-api/SKILL.md +141 -0
  95. package/.agent/private/autodomyh-api/data/conventions.yaml +107 -0
  96. package/.agent/rules/README.md +24 -18
  97. package/.agent/rules/SACRED_RULES.xml +42 -36
  98. package/.agent/rules/{constitutional → archive/constitutional}/tier-0-core.yaml +6 -6
  99. package/.agent/rules/{constitutional → archive/constitutional}/tier-1-safety.yaml +6 -6
  100. package/.agent/rules/{constitutional → archive/constitutional}/tier-2-execution.yaml +7 -7
  101. package/.agent/rules/{modules → archive}/context-management.yaml +1 -1
  102. package/.agent/rules/{duplication-prevention.md → archive/duplication-prevention.md} +1 -1
  103. package/.agent/rules/{modules → archive}/evidence.yaml +1 -1
  104. package/.agent/rules/{project-detection.md → archive/project-detection.md} +1 -1
  105. package/.agent/rules/{modules → archive}/reflection.yaml +2 -2
  106. package/.agent/rules/{modules → archive}/versioning.yaml +3 -3
  107. package/.agent/rules/data/build-systems.yaml +2 -2
  108. package/.agent/rules/modules/agent-delegation.yaml +136 -0
  109. package/.agent/rules/modules/edit-verification.yaml +1 -1
  110. package/.agent/rules/modules/git-workflow.yaml +1 -1
  111. package/.agent/rules/modules/language.yaml +1 -1
  112. package/.agent/rules/modules/online-research.yaml +1 -1
  113. package/.agent/rules/modules/performance-optimization.yaml +141 -0
  114. package/.agent/rules/modules/quality.yaml +1 -1
  115. package/.agent/rules/modules/stop-conditions.yaml +1 -1
  116. package/.agent/rules/modules/terminal-safety.yaml +45 -1
  117. package/.agent/rules/modules/yagni.yaml +1 -1
  118. package/.agent/rules/validation-framework.md +1 -1
  119. package/.agent/skills/DEVELOPMENT.yaml +17 -6
  120. package/.agent/skills/README.md +19 -16
  121. package/.agent/skills/_categories.yaml +60 -8
  122. package/.agent/skills/_router.yaml +61 -19
  123. package/.agent/skills/ai-ml/ai-agents/META.yaml +127 -0
  124. package/.agent/skills/ai-ml/ai-agents/SKILL.md +139 -0
  125. package/.agent/skills/ai-ml/ai-agents/data/agent-rules.yaml +120 -0
  126. package/.agent/skills/ai-ml/ai-agents/data/llm-integration.yaml +129 -0
  127. package/.agent/skills/ai-ml/ai-agents/data/memory-patterns.yaml +123 -0
  128. package/.agent/skills/ai-ml/ai-agents/data/orchestration-patterns.yaml +101 -0
  129. package/.agent/skills/ai-ml/gemini-live/META.yaml +55 -0
  130. package/.agent/skills/ai-ml/gemini-live/SKILL.md +155 -0
  131. package/.agent/skills/ai-ml/gemini-live/data/code-execution.yaml +131 -0
  132. package/.agent/skills/ai-ml/gemini-live/data/context-caching.yaml +96 -0
  133. package/.agent/skills/ai-ml/gemini-live/data/grounding.yaml +97 -0
  134. package/.agent/skills/ai-ml/gemini-live/data/live-api.yaml +103 -0
  135. package/.agent/skills/ai-ml/gemini-media-gen/META.yaml +56 -0
  136. package/.agent/skills/ai-ml/gemini-media-gen/SKILL.md +128 -0
  137. package/.agent/skills/ai-ml/gemini-media-gen/data/files-api.yaml +96 -0
  138. package/.agent/skills/ai-ml/gemini-media-gen/data/image-models.yaml +112 -0
  139. package/.agent/skills/ai-ml/gemini-media-gen/data/image-prompts.yaml +131 -0
  140. package/.agent/skills/ai-ml/gemini-media-gen/data/video-generation.yaml +131 -0
  141. package/.agent/skills/ai-ml/gemini-tts/META.yaml +49 -0
  142. package/.agent/skills/ai-ml/gemini-tts/SKILL.md +124 -0
  143. package/.agent/skills/ai-ml/gemini-tts/data/markup-tags.yaml +95 -0
  144. package/.agent/skills/ai-ml/gemini-tts/data/models.yaml +124 -0
  145. package/.agent/skills/ai-ml/gemini-tts/data/prompting-patterns.yaml +81 -0
  146. package/.agent/skills/ai-ml/prompt-engineering/META.yaml +77 -0
  147. package/.agent/skills/ai-ml/prompt-engineering/SKILL.md +217 -0
  148. package/.agent/skills/ai-ml/prompt-engineering/data/gemini3-patterns.yaml +170 -0
  149. package/.agent/skills/ai-ml/prompt-engineering/data/output-patterns.yaml +73 -0
  150. package/.agent/skills/ai-ml/prompt-engineering/data/provider-patterns.yaml +82 -0
  151. package/.agent/skills/ai-ml/prompt-engineering/data/reasoning-patterns.yaml +86 -0
  152. package/.agent/skills/ai-ml/prompt-engineering/data/safety-patterns.yaml +71 -0
  153. package/.agent/skills/ai-ml/prompt-engineering/data/tool-patterns.yaml +173 -0
  154. package/.agent/skills/ai-ml/rag-patterns/META.yaml +57 -0
  155. package/.agent/skills/ai-ml/rag-patterns/SKILL.md +92 -0
  156. package/.agent/skills/ai-ml/rag-patterns/data/chunking-strategies.yaml +71 -0
  157. package/.agent/skills/ai-ml/rag-patterns/data/embedding-models.yaml +76 -0
  158. package/.agent/skills/ai-ml/rag-patterns/data/evaluation.yaml +92 -0
  159. package/.agent/skills/ai-ml/rag-patterns/data/retrieval-patterns.yaml +101 -0
  160. package/.agent/skills/ai-ml/rag-patterns/data/vector-databases.yaml +103 -0
  161. package/.agent/skills/ai-ml/vector-search/META.yaml +63 -0
  162. package/.agent/skills/ai-ml/vector-search/SKILL.md +110 -0
  163. package/.agent/skills/ai-ml/vector-search/data/embedding-models.yaml +117 -0
  164. package/.agent/skills/ai-ml/vector-search/data/search-patterns.yaml +118 -0
  165. package/.agent/skills/ai-ml/vector-search/data/vector-dbs.yaml +155 -0
  166. package/.agent/skills/core/api-design/META.yaml +1 -5
  167. package/.agent/skills/core/api-design/SKILL.md +20 -26
  168. package/.agent/skills/core/api-design/data/api-versioning.yaml +211 -211
  169. package/.agent/skills/core/api-design/data/error-responses.yaml +129 -129
  170. package/.agent/skills/core/api-design/data/graphql-patterns.yaml +159 -159
  171. package/.agent/skills/core/api-design/data/grpc-patterns.yaml +159 -159
  172. package/.agent/skills/core/api-design/data/http-status-codes.yaml +170 -170
  173. package/.agent/skills/core/api-design/data/modern-api-patterns.yaml +160 -0
  174. package/.agent/skills/core/api-design/data/pagination.yaml +115 -115
  175. package/.agent/skills/core/api-design/data/rate-limiting.yaml +129 -129
  176. package/.agent/skills/core/api-design/data/rest-patterns.yaml +189 -189
  177. package/.agent/skills/core/api-design/data/test-apis.yaml +211 -211
  178. package/.agent/skills/core/authentication/META.yaml +1 -5
  179. package/.agent/skills/core/authentication/SKILL.md +36 -43
  180. package/.agent/skills/core/authentication/data/anti-patterns.yaml +129 -129
  181. package/.agent/skills/core/authentication/data/core-patterns.yaml +250 -250
  182. package/.agent/skills/core/authentication/data/jwt-patterns.yaml +249 -249
  183. package/.agent/skills/core/authentication/data/language-csharp.yaml +209 -209
  184. package/.agent/skills/core/authentication/data/language-go.yaml +209 -209
  185. package/.agent/skills/core/authentication/data/language-java.yaml +209 -209
  186. package/.agent/skills/core/authentication/data/language-mobile.yaml +209 -209
  187. package/.agent/skills/core/authentication/data/language-python.yaml +209 -209
  188. package/.agent/skills/core/authentication/data/language-rust.yaml +209 -209
  189. package/.agent/skills/core/authentication/data/language-typescript.yaml +209 -209
  190. package/.agent/skills/core/authentication/data/mfa-patterns.yaml +169 -169
  191. package/.agent/skills/core/authentication/data/oauth-patterns.yaml +249 -249
  192. package/.agent/skills/core/authentication/data/oauth.yaml +243 -243
  193. package/.agent/skills/core/authentication/data/passkey-patterns.yaml +149 -0
  194. package/.agent/skills/core/authentication/data/passkeys-webauthn.yaml +209 -209
  195. package/.agent/skills/core/authentication/data/passkeys.yaml +203 -203
  196. package/.agent/skills/core/authentication/data/password-patterns.yaml +169 -169
  197. package/.agent/skills/core/authentication/data/password.yaml +163 -163
  198. package/.agent/skills/core/authentication/data/session-patterns.yaml +209 -209
  199. package/.agent/skills/core/error-handling/META.yaml +1 -5
  200. package/.agent/skills/core/error-handling/SKILL.md +21 -25
  201. package/.agent/skills/core/error-handling/data/anti-patterns.yaml +99 -99
  202. package/.agent/skills/core/error-handling/data/api-error-patterns.yaml +2 -2
  203. package/.agent/skills/core/error-handling/data/core-patterns.yaml +2 -2
  204. package/.agent/skills/core/error-handling/data/error-codes.yaml +159 -159
  205. package/.agent/skills/core/error-handling/data/error-messages.yaml +2 -2
  206. package/.agent/skills/core/error-handling/data/language-c-cpp.yaml +220 -220
  207. package/.agent/skills/core/error-handling/data/language-go-rust.yaml +2 -2
  208. package/.agent/skills/core/error-handling/data/language-python-java.yaml +220 -220
  209. package/.agent/skills/core/error-handling/data/language-swift-kotlin.yaml +220 -220
  210. package/.agent/skills/core/error-handling/data/language-typescript-php-ruby.yaml +220 -220
  211. package/.agent/skills/core/error-handling/data/resilience-patterns.yaml +2 -2
  212. package/.agent/skills/core/error-handling/data/ui-error-patterns.yaml +129 -129
  213. package/.agent/skills/core/logging/META.yaml +1 -5
  214. package/.agent/skills/core/logging/SKILL.md +28 -42
  215. package/.agent/skills/core/logging/data/aggregation-patterns.yaml +185 -185
  216. package/.agent/skills/core/logging/data/anti-patterns.yaml +115 -115
  217. package/.agent/skills/core/logging/data/core-patterns.yaml +220 -220
  218. package/.agent/skills/core/logging/data/language-csharp.yaml +185 -185
  219. package/.agent/skills/core/logging/data/language-go.yaml +185 -185
  220. package/.agent/skills/core/logging/data/language-java.yaml +185 -185
  221. package/.agent/skills/core/logging/data/language-kotlin.yaml +150 -150
  222. package/.agent/skills/core/logging/data/language-others.yaml +178 -178
  223. package/.agent/skills/core/logging/data/language-python.yaml +185 -185
  224. package/.agent/skills/core/logging/data/language-rust.yaml +185 -185
  225. package/.agent/skills/core/logging/data/language-swift.yaml +150 -150
  226. package/.agent/skills/core/logging/data/language-typescript.yaml +185 -185
  227. package/.agent/skills/core/logging/data/otel-logging.yaml +150 -150
  228. package/.agent/skills/core/observability/META.yaml +1 -5
  229. package/.agent/skills/core/observability/SKILL.md +29 -38
  230. package/.agent/skills/core/observability/data/alerting-patterns.yaml +159 -159
  231. package/.agent/skills/core/observability/data/anti-patterns.yaml +99 -99
  232. package/.agent/skills/core/observability/data/core-patterns.yaml +189 -189
  233. package/.agent/skills/core/observability/data/language-cpp.yaml +159 -159
  234. package/.agent/skills/core/observability/data/language-csharp.yaml +159 -159
  235. package/.agent/skills/core/observability/data/language-go.yaml +159 -159
  236. package/.agent/skills/core/observability/data/language-java.yaml +159 -159
  237. package/.agent/skills/core/observability/data/language-others.yaml +249 -249
  238. package/.agent/skills/core/observability/data/language-python.yaml +159 -159
  239. package/.agent/skills/core/observability/data/language-rust.yaml +159 -159
  240. package/.agent/skills/core/observability/data/language-typescript.yaml +159 -159
  241. package/.agent/skills/core/observability/data/metrics-patterns.yaml +129 -129
  242. package/.agent/skills/core/observability/data/metrics-prometheus.yaml +159 -159
  243. package/.agent/skills/core/observability/data/otel-core.yaml +189 -189
  244. package/.agent/skills/core/observability/data/profiling-patterns.yaml +129 -129
  245. package/.agent/skills/core/observability/data/tracing-patterns.yaml +159 -159
  246. package/.agent/skills/core/observability/data/tracing-tools.yaml +129 -129
  247. package/.agent/skills/core/security/META.yaml +1 -5
  248. package/.agent/skills/core/security/SKILL.md +25 -25
  249. package/.agent/skills/core/security/data/ai-ml-security.yaml +255 -255
  250. package/.agent/skills/core/security/data/api-security.yaml +224 -224
  251. package/.agent/skills/core/security/data/auth-patterns.yaml +189 -189
  252. package/.agent/skills/core/security/data/binary-exploitation.yaml +333 -333
  253. package/.agent/skills/core/security/data/cloud-security.yaml +263 -263
  254. package/.agent/skills/core/security/data/cwe-top25.yaml +409 -409
  255. package/.agent/skills/core/security/data/language-specific/c-security.yaml +289 -289
  256. package/.agent/skills/core/security/data/language-specific/cpp-security.yaml +289 -289
  257. package/.agent/skills/core/security/data/language-specific/csharp-security.yaml +213 -213
  258. package/.agent/skills/core/security/data/language-specific/go-security.yaml +213 -213
  259. package/.agent/skills/core/security/data/language-specific/java-security.yaml +289 -289
  260. package/.agent/skills/core/security/data/language-specific/kotlin-security.yaml +192 -192
  261. package/.agent/skills/core/security/data/language-specific/php-security.yaml +213 -213
  262. package/.agent/skills/core/security/data/language-specific/python-security.yaml +289 -289
  263. package/.agent/skills/core/security/data/language-specific/ruby-security.yaml +192 -192
  264. package/.agent/skills/core/security/data/language-specific/rust-security.yaml +234 -234
  265. package/.agent/skills/core/security/data/language-specific/solidity-security.yaml +363 -363
  266. package/.agent/skills/core/security/data/language-specific/swift-security.yaml +192 -192
  267. package/.agent/skills/core/security/data/language-specific/typescript-security.yaml +289 -289
  268. package/.agent/skills/core/security/data/mobile-security.yaml +363 -363
  269. package/.agent/skills/core/security/data/network-security.yaml +291 -291
  270. package/.agent/skills/core/security/data/owasp-llm-top10.yaml +122 -0
  271. package/.agent/skills/core/security/data/owasp-top10.yaml +165 -165
  272. package/.agent/skills/core/security/data/reverse-engineering.yaml +491 -491
  273. package/.agent/skills/core/security/data/supply-chain.yaml +213 -213
  274. package/.agent/skills/cross-cutting/_index.yaml +4 -2
  275. package/.agent/skills/cross-cutting/accessibility/META.yaml +45 -0
  276. package/.agent/skills/cross-cutting/accessibility/SKILL.md +121 -0
  277. package/.agent/skills/cross-cutting/accessibility/data/aria-patterns.yaml +88 -0
  278. package/.agent/skills/cross-cutting/accessibility/data/testing-tools.yaml +60 -0
  279. package/.agent/skills/cross-cutting/accessibility/data/wcag-guidelines.yaml +98 -0
  280. package/.agent/skills/cross-cutting/audit-pro/META.yaml +2 -6
  281. package/.agent/skills/cross-cutting/audit-pro/SKILL.md +61 -0
  282. package/.agent/skills/cross-cutting/bun/META.yaml +2 -8
  283. package/.agent/skills/cross-cutting/bun/SKILL.md +8 -12
  284. package/.agent/skills/cross-cutting/coding-rules/META.yaml +4 -11
  285. package/.agent/skills/cross-cutting/coding-rules/SKILL.md +38 -46
  286. package/.agent/skills/cross-cutting/coding-rules/data/adr-patterns.yaml +102 -0
  287. package/.agent/skills/cross-cutting/coding-rules/data/architecture-patterns.yaml +289 -90
  288. package/.agent/skills/cross-cutting/coding-rules/data/build-systems.yaml +340 -340
  289. package/.agent/skills/cross-cutting/coding-rules/data/coding-rules.yaml +641 -641
  290. package/.agent/skills/cross-cutting/coding-rules/data/concurrency-patterns.yaml +102 -102
  291. package/.agent/skills/cross-cutting/coding-rules/data/design-patterns.yaml +254 -254
  292. package/.agent/skills/cross-cutting/coding-rules/data/framework-directories.yaml +446 -0
  293. package/.agent/skills/cross-cutting/coding-rules/data/framework-signatures.yaml +338 -338
  294. package/.agent/skills/cross-cutting/coding-rules/data/memory-management.yaml +102 -102
  295. package/.agent/skills/cross-cutting/coding-rules/data/naming-conventions.yaml +314 -314
  296. package/.agent/skills/cross-cutting/coding-rules/data/performance-benchmarks.yaml +158 -158
  297. package/.agent/skills/cross-cutting/coding-rules/data/solid-principles.yaml +74 -74
  298. package/.agent/skills/cross-cutting/coding-rules/data/test-frameworks.yaml +177 -177
  299. package/.agent/skills/cross-cutting/database/META.yaml +2 -2
  300. package/.agent/skills/cross-cutting/database/SKILL.md +10 -19
  301. package/.agent/skills/cross-cutting/deno/META.yaml +2 -8
  302. package/.agent/skills/cross-cutting/deno/SKILL.md +8 -12
  303. package/.agent/skills/cross-cutting/domyh-design/ADVANCED.md +247 -0
  304. package/.agent/skills/cross-cutting/{ui-ux-pro-max → domyh-design}/META.yaml +44 -13
  305. package/.agent/skills/cross-cutting/domyh-design/SKILL.md +171 -0
  306. package/.agent/skills/cross-cutting/domyh-design/data/animation-ui-kits.yaml +198 -0
  307. package/.agent/skills/cross-cutting/domyh-design/data/charts.yaml +331 -0
  308. package/.agent/skills/cross-cutting/domyh-design/data/colors.yaml +1226 -0
  309. package/.agent/skills/cross-cutting/domyh-design/data/component-decision.yaml +287 -0
  310. package/.agent/skills/cross-cutting/domyh-design/data/component-effects.yaml +673 -0
  311. package/.agent/skills/cross-cutting/domyh-design/data/component-mapping.yaml +318 -0
  312. package/.agent/skills/cross-cutting/domyh-design/data/design-system-prompts.yaml +174 -0
  313. package/.agent/skills/cross-cutting/domyh-design/data/design-tokens.yaml +525 -0
  314. package/.agent/skills/cross-cutting/domyh-design/data/desktop-animation.yaml +680 -0
  315. package/.agent/skills/cross-cutting/domyh-design/data/desktop-architecture.yaml +140 -0
  316. package/.agent/skills/cross-cutting/{ui-ux-pro-max → domyh-design}/data/desktop-colors.yaml +4 -4
  317. package/.agent/skills/cross-cutting/domyh-design/data/directory-structure.yaml +80 -0
  318. package/.agent/skills/cross-cutting/domyh-design/data/icons.yaml +918 -0
  319. package/.agent/skills/cross-cutting/domyh-design/data/image-gen-prompts.yaml +678 -0
  320. package/.agent/skills/cross-cutting/domyh-design/data/image-gen-workflows.yaml +202 -0
  321. package/.agent/skills/cross-cutting/domyh-design/data/implementation-strategy.yaml +107 -0
  322. package/.agent/skills/cross-cutting/domyh-design/data/landing.yaml +373 -0
  323. package/.agent/skills/cross-cutting/domyh-design/data/micro-interactions.yaml +528 -0
  324. package/.agent/skills/cross-cutting/domyh-design/data/platform-frameworks.yaml +195 -0
  325. package/.agent/skills/cross-cutting/domyh-design/data/platform-guidelines.yaml +177 -0
  326. package/.agent/skills/cross-cutting/domyh-design/data/products.yaml +1339 -0
  327. package/.agent/skills/cross-cutting/domyh-design/data/prompts.yaml +207 -0
  328. package/.agent/skills/cross-cutting/domyh-design/data/react-performance.yaml +504 -0
  329. package/.agent/skills/cross-cutting/domyh-design/data/scroll-animation-patterns.yaml +398 -0
  330. package/.agent/skills/cross-cutting/domyh-design/data/stacks/desktop.yaml +228 -0
  331. package/.agent/skills/cross-cutting/domyh-design/data/stacks/flutter.yaml +508 -0
  332. package/.agent/skills/cross-cutting/domyh-design/data/stacks/html-tailwind.yaml +543 -0
  333. package/.agent/skills/cross-cutting/domyh-design/data/stacks/nextjs.yaml +515 -0
  334. package/.agent/skills/cross-cutting/domyh-design/data/stacks/nuxt-ui.yaml +519 -0
  335. package/.agent/skills/cross-cutting/domyh-design/data/stacks/nuxtjs.yaml +599 -0
  336. package/.agent/skills/cross-cutting/domyh-design/data/stacks/react-native.yaml +496 -0
  337. package/.agent/skills/cross-cutting/domyh-design/data/stacks/react.yaml +526 -0
  338. package/.agent/skills/cross-cutting/domyh-design/data/stacks/shadcn.yaml +616 -0
  339. package/.agent/skills/cross-cutting/domyh-design/data/stacks/svelte.yaml +520 -0
  340. package/.agent/skills/cross-cutting/domyh-design/data/stacks/swiftui.yaml +486 -0
  341. package/.agent/skills/cross-cutting/domyh-design/data/stacks/vue.yaml +485 -0
  342. package/.agent/skills/cross-cutting/domyh-design/data/styles.yaml +1473 -0
  343. package/.agent/skills/cross-cutting/domyh-design/data/tailwind-animation-plugins.yaml +462 -0
  344. package/.agent/skills/cross-cutting/domyh-design/data/typography.yaml +647 -0
  345. package/.agent/skills/cross-cutting/domyh-design/data/ui-reasoning.yaml +1019 -0
  346. package/.agent/skills/cross-cutting/domyh-design/data/ux-guidelines.yaml +1009 -0
  347. package/.agent/skills/cross-cutting/domyh-design/data/web-animation-libraries.yaml +541 -0
  348. package/.agent/skills/cross-cutting/domyh-design/data/web-interface.yaml +347 -0
  349. package/.agent/skills/cross-cutting/domyh-design/data/webview-animation-optimization.yaml +685 -0
  350. package/.agent/skills/cross-cutting/electron/SKILL.md +10 -14
  351. package/.agent/skills/cross-cutting/event-driven/META.yaml +108 -0
  352. package/.agent/skills/cross-cutting/event-driven/SKILL.md +123 -0
  353. package/.agent/skills/cross-cutting/event-driven/data/broker-comparison.yaml +123 -0
  354. package/.agent/skills/cross-cutting/event-driven/data/eda-patterns.yaml +120 -0
  355. package/.agent/skills/cross-cutting/event-driven/data/production-patterns.yaml +120 -0
  356. package/.agent/skills/cross-cutting/microservices/META.yaml +90 -0
  357. package/.agent/skills/cross-cutting/microservices/SKILL.md +120 -0
  358. package/.agent/skills/cross-cutting/microservices/data/communication.yaml +163 -0
  359. package/.agent/skills/cross-cutting/microservices/data/cqrs-patterns.yaml +199 -0
  360. package/.agent/skills/cross-cutting/microservices/data/deployment.yaml +153 -0
  361. package/.agent/skills/cross-cutting/microservices/data/event-sourcing.yaml +231 -0
  362. package/.agent/skills/cross-cutting/microservices/data/observability.yaml +152 -0
  363. package/.agent/skills/cross-cutting/microservices/data/resilience.yaml +189 -0
  364. package/.agent/skills/cross-cutting/microservices/data/saga-patterns.yaml +161 -0
  365. package/.agent/skills/cross-cutting/microservices/data/service-mesh.yaml +179 -0
  366. package/.agent/skills/cross-cutting/monorepo/META.yaml +54 -0
  367. package/.agent/skills/cross-cutting/monorepo/SKILL.md +108 -0
  368. package/.agent/skills/cross-cutting/monorepo/data/ci-cd-strategies.yaml +74 -0
  369. package/.agent/skills/cross-cutting/monorepo/data/nx-patterns.yaml +74 -0
  370. package/.agent/skills/cross-cutting/monorepo/data/turborepo-patterns.yaml +84 -0
  371. package/.agent/skills/cross-cutting/monorepo/data/versioning.yaml +83 -0
  372. package/.agent/skills/cross-cutting/monorepo/data/workspace-patterns.yaml +85 -0
  373. package/.agent/skills/cross-cutting/playwright/ADVANCED.md +289 -0
  374. package/.agent/skills/cross-cutting/playwright/META.yaml +90 -0
  375. package/.agent/skills/cross-cutting/playwright/SKILL.md +210 -0
  376. package/.agent/skills/cross-cutting/playwright/data/ai-agents.yaml +137 -0
  377. package/.agent/skills/cross-cutting/playwright/data/config-templates.yaml +141 -0
  378. package/.agent/skills/cross-cutting/playwright/data/interaction-checklist.yaml +398 -0
  379. package/.agent/skills/cross-cutting/playwright/data/locator-patterns.yaml +96 -0
  380. package/.agent/skills/cross-cutting/playwright/data/mcp-tools.yaml +153 -0
  381. package/.agent/skills/cross-cutting/playwright/data/open-source-tools.yaml +95 -0
  382. package/.agent/skills/cross-cutting/real-time/META.yaml +72 -0
  383. package/.agent/skills/cross-cutting/real-time/SKILL.md +128 -0
  384. package/.agent/skills/cross-cutting/real-time/data/socketio-patterns.yaml +165 -0
  385. package/.agent/skills/cross-cutting/real-time/data/sse-patterns.yaml +181 -0
  386. package/.agent/skills/cross-cutting/real-time/data/websocket-patterns.yaml +176 -0
  387. package/.agent/skills/cross-cutting/seo/META.yaml +47 -0
  388. package/.agent/skills/cross-cutting/seo/SKILL.md +114 -0
  389. package/.agent/skills/cross-cutting/seo/data/core-web-vitals.yaml +93 -0
  390. package/.agent/skills/cross-cutting/seo/data/structured-data.yaml +82 -0
  391. package/.agent/skills/cross-cutting/seo/data/technical-seo.yaml +75 -0
  392. package/.agent/skills/cross-cutting/sql/META.yaml +2 -8
  393. package/.agent/skills/cross-cutting/sql/SKILL.md +8 -12
  394. package/.agent/skills/cross-cutting/tailwind/META.yaml +3 -20
  395. package/.agent/skills/cross-cutting/tailwind/SKILL.md +13 -11
  396. package/.agent/skills/cross-cutting/tauri/META.yaml +75 -0
  397. package/.agent/skills/cross-cutting/tauri/SKILL.md +127 -0
  398. package/.agent/skills/cross-cutting/tauri/data/build.yaml +141 -0
  399. package/.agent/skills/cross-cutting/tauri/data/plugins.yaml +157 -0
  400. package/.agent/skills/cross-cutting/tauri/data/security.yaml +134 -0
  401. package/.agent/skills/cross-cutting/tdd-workflow/META.yaml +58 -0
  402. package/.agent/skills/cross-cutting/tdd-workflow/SKILL.md +128 -0
  403. package/.agent/skills/cross-cutting/tdd-workflow/data/anti-patterns.yaml +70 -0
  404. package/.agent/skills/cross-cutting/tdd-workflow/data/bdd-atdd-patterns.yaml +77 -0
  405. package/.agent/skills/cross-cutting/tdd-workflow/data/core-tdd-cycle.yaml +104 -0
  406. package/.agent/skills/cross-cutting/tdd-workflow/data/coverage-strategies.yaml +105 -0
  407. package/.agent/skills/cross-cutting/tdd-workflow/data/language-patterns.yaml +115 -0
  408. package/.agent/skills/cross-cutting/tdd-workflow/data/test-doubles.yaml +93 -0
  409. package/.agent/skills/cross-cutting/testing/META.yaml +1 -5
  410. package/.agent/skills/cross-cutting/testing/SKILL.md +13 -26
  411. package/.agent/skills/cross-cutting/testing/data/e2e-patterns.yaml +136 -0
  412. package/.agent/skills/cross-cutting/testing/data/frameworks.yaml +3 -3
  413. package/.agent/skills/cross-cutting/testing/data/patterns.yaml +149 -147
  414. package/.agent/skills/cross-cutting/wasm/META.yaml +47 -0
  415. package/.agent/skills/cross-cutting/wasm/SKILL.md +88 -0
  416. package/.agent/skills/cross-cutting/wasm/data/browser-patterns.yaml +106 -0
  417. package/.agent/skills/cross-cutting/wasm/data/component-model.yaml +85 -0
  418. package/.agent/skills/cross-cutting/wasm/data/server-patterns.yaml +89 -0
  419. package/.agent/skills/cross-cutting/web-perf/META.yaml +3 -9
  420. package/.agent/skills/cross-cutting/web-perf/SKILL.md +9 -18
  421. package/.agent/skills/devops/aws/META.yaml +48 -63
  422. package/.agent/skills/devops/aws/SKILL.md +39 -697
  423. package/.agent/skills/devops/azure/META.yaml +44 -0
  424. package/.agent/skills/devops/azure/SKILL.md +43 -0
  425. package/.agent/skills/devops/azure/data/cli.yaml +69 -0
  426. package/.agent/skills/devops/azure/data/compute.yaml +83 -0
  427. package/.agent/skills/devops/azure/data/data-services.yaml +126 -0
  428. package/.agent/skills/devops/ci-cd/META.yaml +47 -14
  429. package/.agent/skills/devops/ci-cd/SKILL.md +37 -807
  430. package/.agent/skills/devops/docker/META.yaml +53 -14
  431. package/.agent/skills/devops/docker/SKILL.md +35 -639
  432. package/.agent/skills/devops/gcp/META.yaml +43 -0
  433. package/.agent/skills/devops/gcp/SKILL.md +43 -0
  434. package/.agent/skills/devops/gcp/data/cli.yaml +39 -0
  435. package/.agent/skills/devops/gcp/data/compute.yaml +92 -0
  436. package/.agent/skills/devops/gcp/data/data-services.yaml +97 -0
  437. package/.agent/skills/devops/kubernetes/META.yaml +56 -7
  438. package/.agent/skills/devops/kubernetes/SKILL.md +38 -607
  439. package/.agent/skills/devops/terraform/META.yaml +47 -0
  440. package/.agent/skills/devops/terraform/SKILL.md +73 -0
  441. package/.agent/skills/devops/terraform/data/ci-cd.yaml +89 -0
  442. package/.agent/skills/devops/terraform/data/hcl-patterns.yaml +131 -0
  443. package/.agent/skills/devops/terraform/data/providers.yaml +96 -0
  444. package/.agent/skills/frameworks/angular/META.yaml +20 -6
  445. package/.agent/skills/frameworks/angular/SKILL.md +1 -1
  446. package/.agent/skills/frameworks/flutter/META.yaml +20 -6
  447. package/.agent/skills/frameworks/flutter/SKILL.md +1 -1
  448. package/.agent/skills/frameworks/nextjs/ADVANCED.md +2 -2
  449. package/.agent/skills/frameworks/nextjs/META.yaml +22 -8
  450. package/.agent/skills/frameworks/nextjs/SKILL.md +4 -4
  451. package/.agent/skills/frameworks/nextjs/data/server.yaml +4 -4
  452. package/.agent/skills/frameworks/nuxt/META.yaml +21 -7
  453. package/.agent/skills/frameworks/nuxt/SKILL.md +2 -2
  454. package/.agent/skills/frameworks/nuxt/data/core.yaml +14 -2
  455. package/.agent/skills/frameworks/nuxt/data/server.yaml +14 -2
  456. package/.agent/skills/frameworks/react/META.yaml +20 -7
  457. package/.agent/skills/frameworks/react/SKILL.md +7 -11
  458. package/.agent/skills/frameworks/react/data/core.yaml +14 -2
  459. package/.agent/skills/frameworks/react/data/server.yaml +16 -4
  460. package/.agent/skills/frameworks/react-native/META.yaml +19 -6
  461. package/.agent/skills/frameworks/react-native/SKILL.md +1 -1
  462. package/.agent/skills/frameworks/svelte/META.yaml +19 -6
  463. package/.agent/skills/frameworks/svelte/SKILL.md +1 -1
  464. package/.agent/skills/frameworks/vue/META.yaml +20 -8
  465. package/.agent/skills/frameworks/vue/SKILL.md +7 -7
  466. package/.agent/skills/frameworks/vue/data/advanced.yaml +19 -7
  467. package/.agent/skills/frameworks/vue/data/core.yaml +13 -1
  468. package/.agent/skills/index.json +67 -14
  469. package/.agent/skills/languages/asm/META.yaml +2 -8
  470. package/.agent/skills/languages/asm/SKILL.md +1 -1
  471. package/.agent/skills/languages/c/META.yaml +2 -8
  472. package/.agent/skills/languages/c/SKILL.md +1 -1
  473. package/.agent/skills/languages/clojure/META.yaml +2 -2
  474. package/.agent/skills/languages/clojure/SKILL.md +1 -1
  475. package/.agent/skills/languages/cpp/META.yaml +2 -8
  476. package/.agent/skills/languages/cpp/SKILL.md +1 -1
  477. package/.agent/skills/languages/crystal/META.yaml +2 -8
  478. package/.agent/skills/languages/crystal/SKILL.md +1 -1
  479. package/.agent/skills/languages/csharp/META.yaml +2 -2
  480. package/.agent/skills/languages/csharp/SKILL.md +1 -1
  481. package/.agent/skills/languages/elixir/META.yaml +2 -2
  482. package/.agent/skills/languages/elixir/SKILL.md +1 -1
  483. package/.agent/skills/languages/fsharp/META.yaml +2 -2
  484. package/.agent/skills/languages/fsharp/SKILL.md +1 -1
  485. package/.agent/skills/languages/go/META.yaml +2 -8
  486. package/.agent/skills/languages/go/SKILL.md +1 -1
  487. package/.agent/skills/languages/haskell/META.yaml +2 -2
  488. package/.agent/skills/languages/haskell/SKILL.md +1 -1
  489. package/.agent/skills/languages/java/META.yaml +2 -8
  490. package/.agent/skills/languages/java/SKILL.md +1 -1
  491. package/.agent/skills/languages/javascript/META.yaml +2 -8
  492. package/.agent/skills/languages/javascript/SKILL.md +1 -1
  493. package/.agent/skills/languages/julia/META.yaml +2 -2
  494. package/.agent/skills/languages/julia/SKILL.md +1 -1
  495. package/.agent/skills/languages/kotlin/META.yaml +2 -2
  496. package/.agent/skills/languages/kotlin/SKILL.md +1 -1
  497. package/.agent/skills/languages/lua/META.yaml +2 -8
  498. package/.agent/skills/languages/lua/SKILL.md +3 -3
  499. package/.agent/skills/languages/nim/META.yaml +2 -8
  500. package/.agent/skills/languages/nim/SKILL.md +1 -1
  501. package/.agent/skills/languages/ocaml/META.yaml +2 -2
  502. package/.agent/skills/languages/ocaml/SKILL.md +1 -1
  503. package/.agent/skills/languages/perl/META.yaml +2 -2
  504. package/.agent/skills/languages/perl/SKILL.md +1 -1
  505. package/.agent/skills/languages/php/META.yaml +2 -2
  506. package/.agent/skills/languages/php/SKILL.md +1 -1
  507. package/.agent/skills/languages/python/META.yaml +2 -8
  508. package/.agent/skills/languages/python/SKILL.md +1 -1
  509. package/.agent/skills/languages/r/META.yaml +2 -2
  510. package/.agent/skills/languages/r/SKILL.md +1 -1
  511. package/.agent/skills/languages/ruby/META.yaml +2 -2
  512. package/.agent/skills/languages/ruby/SKILL.md +1 -1
  513. package/.agent/skills/languages/rust/META.yaml +2 -8
  514. package/.agent/skills/languages/rust/SKILL.md +1 -1
  515. package/.agent/skills/languages/scala/META.yaml +2 -2
  516. package/.agent/skills/languages/scala/SKILL.md +1 -1
  517. package/.agent/skills/languages/solidity/META.yaml +2 -2
  518. package/.agent/skills/languages/solidity/SKILL.md +1 -1
  519. package/.agent/skills/languages/swift/META.yaml +2 -2
  520. package/.agent/skills/languages/swift/SKILL.md +1 -1
  521. package/.agent/skills/languages/typescript/META.yaml +2 -8
  522. package/.agent/skills/languages/typescript/SKILL.md +1 -1
  523. package/.agent/skills/languages/zig/META.yaml +5 -7
  524. package/.agent/skills/languages/zig/SKILL.md +1 -1
  525. package/.agent/skills/tooling/api-protocols/META.yaml +102 -0
  526. package/.agent/skills/tooling/api-protocols/SKILL.md +145 -0
  527. package/.agent/skills/tooling/api-protocols/data/graphql-patterns.yaml +115 -0
  528. package/.agent/skills/tooling/api-protocols/data/grpc-patterns.yaml +101 -0
  529. package/.agent/skills/tooling/api-protocols/data/trpc-patterns.yaml +97 -0
  530. package/.agent/skills/tooling/browser-agent/ADVANCED.md +242 -0
  531. package/.agent/skills/tooling/browser-agent/META.yaml +78 -0
  532. package/.agent/skills/tooling/browser-agent/SKILL.md +164 -0
  533. package/.agent/skills/tooling/browser-agent/data/element-discovery.yaml +208 -0
  534. package/.agent/skills/tooling/browser-agent/data/recording-patterns.yaml +74 -0
  535. package/.agent/skills/tooling/browser-agent/data/reporting-patterns.yaml +97 -0
  536. package/.agent/skills/tooling/browser-agent/data/subagent-patterns.yaml +158 -0
  537. package/.agent/skills/tooling/browser-agent/data/verification-flow.yaml +209 -0
  538. package/.agent/skills/tooling/cli-dev/META.yaml +55 -0
  539. package/.agent/skills/tooling/cli-dev/SKILL.md +83 -0
  540. package/.agent/skills/tooling/cli-dev/data/frameworks.yaml +128 -0
  541. package/.agent/skills/tooling/cli-dev/data/output-formats.yaml +58 -0
  542. package/.agent/skills/tooling/cli-dev/data/ux-patterns.yaml +97 -0
  543. package/.agent/skills/tooling/ide-extension/META.yaml +72 -0
  544. package/.agent/skills/tooling/ide-extension/SKILL.md +108 -0
  545. package/.agent/skills/tooling/ide-extension/data/jetbrains-patterns.yaml +118 -0
  546. package/.agent/skills/tooling/ide-extension/data/lsp-patterns.yaml +126 -0
  547. package/.agent/skills/tooling/ide-extension/data/vscode-patterns.yaml +172 -0
  548. package/.agent/skills/tooling/mcp/META.yaml +80 -0
  549. package/.agent/skills/tooling/mcp/SKILL.md +114 -0
  550. package/.agent/skills/tooling/mcp/data/security.yaml +116 -0
  551. package/.agent/skills/tooling/mcp/data/tool-design.yaml +124 -0
  552. package/.agent/skills/tooling/mcp/data/transport-patterns.yaml +95 -0
  553. package/.agent/templates/README.md +2 -2
  554. package/.agent/templates/debug-report.md +1 -1
  555. package/.agent/templates/deploy-plan.md +1 -1
  556. package/.agent/templates/doc-template.md +1 -1
  557. package/.agent/templates/index.yaml +2 -2
  558. package/.agent/templates/migrate-plan.md +1 -1
  559. package/.agent/templates/phase-template.md +1 -1
  560. package/.agent/templates/tasks/audit.yaml +1 -1
  561. package/.agent/templates/tasks/bug_fix.yaml +1 -1
  562. package/.agent/templates/tasks/code_implementation.yaml +1 -1
  563. package/.agent/templates/tasks/refactor.yaml +1 -1
  564. package/.agent/templates/test-report.md +1 -1
  565. package/.agent/workflows/code.md +22 -1
  566. package/.agent/workflows/deploy.md +5 -1
  567. package/.agent/workflows/e2e.md +112 -0
  568. package/.agent/workflows/fix.md +1 -1
  569. package/.agent/workflows/prompt.md +325 -0
  570. package/.agent/workflows/scaffold.md +1 -1
  571. package/.agent/workflows/tdd.md +108 -0
  572. package/.agent/workflows/verify.md +116 -0
  573. package/.agent/workflows/visualize.md +50 -18
  574. package/README.md +16 -13
  575. package/configs/aider/root.CONVENTIONS.md +51 -0
  576. package/configs/amazonq/root.amazonq.md +51 -0
  577. package/configs/amp/root.AGENTS.md +51 -0
  578. package/configs/antigravity/root.GEMINI.md +51 -0
  579. package/configs/augment/root.guidelines.md +51 -0
  580. package/configs/claude/root.CLAUDE.md +51 -0
  581. package/configs/cline/root.clinerules.md +51 -0
  582. package/configs/coderabbit/root.coderabbit.yaml +52 -0
  583. package/configs/codex/root.AGENTS.md +51 -0
  584. package/configs/cody/root.commands.json +76 -0
  585. package/configs/continue/root.continue.md +51 -0
  586. package/configs/copilot/root.copilot-instructions.md +51 -0
  587. package/configs/cursor/root.cursorrules +51 -0
  588. package/configs/gemini/root.GEMINI.md +51 -0
  589. package/configs/jetbrains/root.guidelines.md +51 -0
  590. package/configs/opencode/root.opencode.json +24 -0
  591. package/configs/roo/root.roorules.md +51 -0
  592. package/configs/tabnine/root.guidelines.md +51 -0
  593. package/configs/vscode/root.copilot-instructions.md +51 -0
  594. package/configs/windsurf/root.windsurfrules +51 -0
  595. package/configs/zed/root.settings.json +15 -0
  596. package/dist/commands/add.d.ts.map +1 -1
  597. package/dist/commands/add.js +9 -1
  598. package/dist/commands/add.js.map +1 -1
  599. package/dist/commands/config.d.ts.map +1 -1
  600. package/dist/commands/config.js +24 -8
  601. package/dist/commands/config.js.map +1 -1
  602. package/dist/commands/hsa.d.ts.map +1 -1
  603. package/dist/commands/hsa.js +106 -20
  604. package/dist/commands/hsa.js.map +1 -1
  605. package/dist/commands/init.d.ts.map +1 -1
  606. package/dist/commands/init.js +62 -69
  607. package/dist/commands/init.js.map +1 -1
  608. package/dist/commands/install-core.d.ts +2 -1
  609. package/dist/commands/install-core.d.ts.map +1 -1
  610. package/dist/commands/install-core.js +43 -16
  611. package/dist/commands/install-core.js.map +1 -1
  612. package/dist/commands/install-helpers.d.ts.map +1 -1
  613. package/dist/commands/install-helpers.js +25 -2
  614. package/dist/commands/install-helpers.js.map +1 -1
  615. package/dist/commands/install-hsa.d.ts +2 -5
  616. package/dist/commands/install-hsa.d.ts.map +1 -1
  617. package/dist/commands/install-hsa.js +2 -5
  618. package/dist/commands/install-hsa.js.map +1 -1
  619. package/dist/commands/install.d.ts +27 -0
  620. package/dist/commands/install.d.ts.map +1 -1
  621. package/dist/commands/install.js +68 -20
  622. package/dist/commands/install.js.map +1 -1
  623. package/dist/commands/list.d.ts.map +1 -1
  624. package/dist/commands/list.js +2 -1
  625. package/dist/commands/list.js.map +1 -1
  626. package/dist/commands/mcp-registry.d.ts +24 -9
  627. package/dist/commands/mcp-registry.d.ts.map +1 -1
  628. package/dist/commands/mcp-registry.js +39 -57
  629. package/dist/commands/mcp-registry.js.map +1 -1
  630. package/dist/commands/mcp-writers.d.ts.map +1 -1
  631. package/dist/commands/mcp-writers.js +6 -5
  632. package/dist/commands/mcp-writers.js.map +1 -1
  633. package/dist/commands/mcp.d.ts +1 -1
  634. package/dist/commands/mcp.d.ts.map +1 -1
  635. package/dist/commands/mcp.js +37 -9
  636. package/dist/commands/mcp.js.map +1 -1
  637. package/dist/commands/update.d.ts.map +1 -1
  638. package/dist/commands/update.js +16 -6
  639. package/dist/commands/update.js.map +1 -1
  640. package/dist/constants/cursor-globs.d.ts.map +1 -1
  641. package/dist/constants/cursor-globs.js +0 -6
  642. package/dist/constants/cursor-globs.js.map +1 -1
  643. package/dist/constants/ide-install-specs.js +9 -9
  644. package/dist/constants/ide-install-specs.js.map +1 -1
  645. package/dist/constants.d.ts +3 -3
  646. package/dist/constants.d.ts.map +1 -1
  647. package/dist/constants.js +3 -3
  648. package/dist/constants.js.map +1 -1
  649. package/dist/index.d.ts.map +1 -1
  650. package/dist/index.js +1 -9
  651. package/dist/index.js.map +1 -1
  652. package/dist/types/ide-install.js +1 -1
  653. package/dist/utils/copy-helpers.d.ts +7 -2
  654. package/dist/utils/copy-helpers.d.ts.map +1 -1
  655. package/dist/utils/copy-helpers.js +77 -51
  656. package/dist/utils/copy-helpers.js.map +1 -1
  657. package/dist/utils/install-manifest.d.ts +12 -0
  658. package/dist/utils/install-manifest.d.ts.map +1 -0
  659. package/dist/utils/install-manifest.js +27 -0
  660. package/dist/utils/install-manifest.js.map +1 -0
  661. package/dist/utils/validation.d.ts.map +1 -1
  662. package/dist/utils/validation.js +34 -7
  663. package/dist/utils/validation.js.map +1 -1
  664. package/package.json +5 -4
  665. package/.agent/core/embeddings.json +0 -2004
  666. package/.agent/core/session_cache.json +0 -50
  667. package/.agent/skills/cross-cutting/aws/META.yaml +0 -75
  668. package/.agent/skills/cross-cutting/ci-cd/META.yaml +0 -60
  669. package/.agent/skills/cross-cutting/docker/META.yaml +0 -65
  670. package/.agent/skills/cross-cutting/kubernetes/META.yaml +0 -70
  671. package/.agent/skills/cross-cutting/ui-ux-pro-max/SKILL.md +0 -565
  672. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/charts.yaml +0 -331
  673. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/colors.yaml +0 -1226
  674. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-decision.yaml +0 -287
  675. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-mapping.yaml +0 -318
  676. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/design-tokens.yaml +0 -525
  677. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-animation.yaml +0 -232
  678. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-architecture.yaml +0 -140
  679. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/directory-structure.yaml +0 -75
  680. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/icons.yaml +0 -918
  681. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/implementation-strategy.yaml +0 -107
  682. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/landing.yaml +0 -372
  683. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-frameworks.yaml +0 -195
  684. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-guidelines.yaml +0 -177
  685. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/products.yaml +0 -1339
  686. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/prompts.yaml +0 -180
  687. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/react-performance.yaml +0 -504
  688. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/desktop.yaml +0 -228
  689. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/flutter.yaml +0 -508
  690. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/html-tailwind.yaml +0 -543
  691. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nextjs.yaml +0 -515
  692. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxt-ui.yaml +0 -519
  693. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxtjs.yaml +0 -599
  694. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react-native.yaml +0 -496
  695. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react.yaml +0 -526
  696. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/shadcn.yaml +0 -616
  697. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/svelte.yaml +0 -520
  698. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/swiftui.yaml +0 -486
  699. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/vue.yaml +0 -485
  700. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/styles.yaml +0 -1473
  701. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/typography.yaml +0 -647
  702. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ui-reasoning.yaml +0 -1019
  703. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ux-guidelines.yaml +0 -1009
  704. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/web-interface.yaml +0 -347
  705. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  706. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  707. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  708. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core.py +0 -393
  709. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core_legacy.py +0 -303
  710. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/design_system.py +0 -496
  711. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/search.py +0 -76
  712. package/.agent/skills/devops/aws/ADVANCED.md +0 -547
  713. package/.agent/skills/devops/ci-cd/ADVANCED.md +0 -529
  714. package/.agent/skills/devops/docker/ADVANCED.md +0 -495
  715. package/.agent/skills/devops/kubernetes/ADVANCED.md +0 -252
  716. /package/.agent/core/{ARCH_REGISTRY.yaml → reference/ARCH_REGISTRY.yaml} +0 -0
  717. /package/.agent/core/{BRANDING.yaml → reference/BRANDING.yaml} +0 -0
  718. /package/.agent/core/{HSA.yaml → reference/HSA.yaml} +0 -0
  719. /package/.agent/rules/{incremental-changes.md → archive/incremental-changes.md} +0 -0
  720. /package/.agent/rules/{shell-commands.md → archive/shell-commands.md} +0 -0
  721. /package/.agent/skills/{cross-cutting → devops}/aws/data/ai_ml.yaml +0 -0
  722. /package/.agent/skills/{cross-cutting → devops}/aws/data/compute.yaml +0 -0
  723. /package/.agent/skills/{cross-cutting → devops}/aws/data/kubernetes.yaml +0 -0
  724. /package/.agent/skills/{cross-cutting → devops}/aws/data/storage.yaml +0 -0
  725. /package/.agent/skills/{cross-cutting → devops}/ci-cd/data/github_actions.yaml +0 -0
  726. /package/.agent/skills/{cross-cutting → devops}/ci-cd/data/security.yaml +0 -0
  727. /package/.agent/skills/{cross-cutting → devops}/docker/data/build.yaml +0 -0
  728. /package/.agent/skills/{cross-cutting → devops}/docker/data/compose.yaml +0 -0
  729. /package/.agent/skills/{cross-cutting → devops}/docker/data/security.yaml +0 -0
  730. /package/.agent/skills/{cross-cutting → devops}/kubernetes/data/networking.yaml +0 -0
  731. /package/.agent/skills/{cross-cutting → devops}/kubernetes/data/scheduling.yaml +0 -0
  732. /package/.agent/skills/{cross-cutting → devops}/kubernetes/data/security.yaml +0 -0
  733. /package/.agent/skills/{cross-cutting → devops}/kubernetes/data/workloads.yaml +0 -0
@@ -1,369 +1,369 @@
1
1
  metadata:
2
2
  skill: security
3
3
  domain: solidity_security
4
- version: 6.2.0
5
- updated: '2026-02-05'
6
- migrated_from: solidity-security.csv
4
+ version: 6.2.2
5
+ updated: "2026-02-05"
6
+ migrated_from: solidity-security.yaml
7
7
  patterns_count: 35
8
8
  columns:
9
- - id
10
- - name
11
- - severity
12
- - category
13
- - description
14
- - detection_pattern
15
- - fix_pattern
16
- - cwe
17
- - example_vuln
18
- - example_fix
9
+ - id
10
+ - name
11
+ - severity
12
+ - category
13
+ - description
14
+ - detection_pattern
15
+ - fix_pattern
16
+ - cwe
17
+ - example_vuln
18
+ - example_fix
19
19
  patterns:
20
- - id: SOL-01
21
- name: Reentrancy Attack
22
- severity: CRITICAL
23
- category: Logic
24
- description: External call before state update allows reentrancy
25
- detection_pattern: (\.call|transfer|send)\{.*\}\(.*\).*state
26
- fix_pattern: Use Checks-Effects-Interactions pattern or ReentrancyGuard
27
- cwe: CWE-841
28
- example_vuln: 'function withdraw() { msg.sender.call{value: balance}(''''); balance = 0; }'
29
- example_fix: 'function withdraw() { uint bal = balance; balance = 0; msg.sender.call{value: bal}(''''); }'
30
- - id: SOL-02
31
- name: Integer Overflow Pre-0.8
32
- severity: CRITICAL
33
- category: Math
34
- description: Arithmetic overflow in Solidity < 0.8 without SafeMath
35
- detection_pattern: (\+|\-|\*)(?!.*SafeMath|.*unchecked).*pragma.*<.*0\.8
36
- fix_pattern: Upgrade to Solidity 0.8+ or use SafeMath library
37
- cwe: CWE-190
38
- example_vuln: uint8 x = 255; x += 1; // Overflows to 0
39
- example_fix: '// Solidity 0.8+: auto-reverts on overflow\nuint8 x = 255; x += 1; // Reverts'
40
- - id: SOL-03
41
- name: Unchecked Call Return
42
- severity: HIGH
43
- category: Logic
44
- description: Call send or transfer return value not checked
45
- detection_pattern: (\.call|\.send)(?!.*require|.*if)
46
- fix_pattern: Always check return value of external calls
47
- cwe: CWE-252
48
- example_vuln: payable(addr).send(amount);
49
- example_fix: require(payable(addr).send(amount), 'Transfer failed');
50
- - id: SOL-04
51
- name: Delegatecall Injection
52
- severity: CRITICAL
53
- category: Logic
54
- description: Delegatecall to user-controlled address allows takeover
55
- detection_pattern: delegatecall.*\(.*user|msg\.sender
56
- fix_pattern: Never delegatecall to untrusted addresses validate target
57
- cwe: CWE-284
58
- example_vuln: contract.delegatecall(abi.encode(userFn));
59
- example_fix: // Only delegatecall to trusted implementations
60
- - id: SOL-05
61
- name: Storage Collision
62
- severity: CRITICAL
63
- category: Upgrade
64
- description: Proxy storage layout conflicts with implementation
65
- detection_pattern: (Proxy|upgradeable)(?!.*ERC1967|storage.*layout)
66
- fix_pattern: Use ERC1967 storage slots or unstructured storage pattern
67
- cwe: CWE-665
68
- example_vuln: // Implementation inherits from different base
69
- example_fix: // Use EIP-1967 storage slots\nbytes32 constant SLOT = keccak256('eip1967.proxy.implementation');
70
- - id: SOL-06
71
- name: Uninitialized Storage
72
- severity: HIGH
73
- category: Memory
74
- description: Storage variables used before initialization
75
- detection_pattern: (address|uint).*storage(?!.*=|.*initialize)
76
- fix_pattern: Always initialize storage variables explicitly
77
- cwe: CWE-665
78
- example_vuln: address public owner; // Never set
79
- example_fix: constructor() { owner = msg.sender; }
80
- - id: SOL-07
81
- name: Tx.origin Authentication
82
- severity: HIGH
83
- category: Auth
84
- description: Using tx.origin for authentication vulnerable to phishing
85
- detection_pattern: tx\.origin\s*(==|!=)
86
- fix_pattern: Use msg.sender not tx.origin for authentication
87
- cwe: CWE-346
88
- example_vuln: require(tx.origin == owner);
89
- example_fix: require(msg.sender == owner);
90
- - id: SOL-08
91
- name: Block Timestamp Manipulation
92
- severity: MEDIUM
93
- category: Logic
94
- description: Using block.timestamp for critical decisions
95
- detection_pattern: block\.timestamp.*(?!logging|event).*random|winner
96
- fix_pattern: Avoid block.timestamp for randomness or precise timing
97
- cwe: CWE-330
98
- example_vuln: winner = block.timestamp % participants.length;
99
- example_fix: // Use Chainlink VRF for randomness
100
- - id: SOL-09
101
- name: Missing Access Control
102
- severity: CRITICAL
103
- category: Auth
104
- description: Sensitive functions without proper access modifiers
105
- detection_pattern: function.*(transfer|withdraw|mint)(?!.*onlyOwner|require.*msg\.sender)
106
- fix_pattern: Add access control modifiers to sensitive functions
107
- cwe: CWE-284
108
- example_vuln: function mint(uint amount) public { _mint(msg.sender, amount); }
109
- example_fix: function mint(uint amount) public onlyOwner { _mint(msg.sender, amount); }
110
- - id: SOL-10
111
- name: Front-Running Vulnerability
112
- severity: HIGH
113
- category: Logic
114
- description: Transaction can be front-run by observing mempool
115
- detection_pattern: (swap|buy|sell)(?!.*commit.*reveal|slippage)
116
- fix_pattern: Use commit-reveal scheme or slippage protection
117
- cwe: CWE-362
118
- example_vuln: function swap(uint minOut) { ... }
119
- example_fix: // Add deadline and slippage protection\nfunction swap(uint minOut, uint deadline) { require(block.timestamp <= deadline); }
120
- - id: SOL-11
121
- name: Denial of Service
122
- severity: HIGH
123
- category: DoS
124
- description: Gas-heavy operations in loops on unbounded arrays
125
- detection_pattern: for.*length(?!.*gas|limit)
126
- fix_pattern: Add gas limits pagination or pull over push pattern
127
- cwe: CWE-400
128
- example_vuln: for (uint i = 0; i < users.length; i++) { users[i].transfer(1 ether); }
129
- example_fix: '// Use pull pattern: users claim their own funds'
130
- - id: SOL-12
131
- name: Floating Pragma
132
- severity: LOW
133
- category: Config
134
- description: Pragma version not locked to specific version
135
- detection_pattern: pragma.*solidity.*\^|>=(?!.*<)
136
- fix_pattern: Lock pragma to specific version for production
137
- cwe: CWE-665
138
- example_vuln: pragma solidity ^0.8.0;
139
- example_fix: pragma solidity 0.8.19;
140
- - id: SOL-13
141
- name: Missing Events
142
- severity: LOW
143
- category: Audit
144
- description: State changes without event emission
145
- detection_pattern: (=|\+\+|\-\-)(?!.*emit).*state
146
- fix_pattern: Emit events for all state-changing operations
147
- cwe: CWE-778
148
- example_vuln: owner = newOwner;
149
- example_fix: emit OwnerChanged(owner, newOwner);\nowner = newOwner;
150
- - id: SOL-14
151
- name: Selfdestruct Vulnerability
152
- severity: MEDIUM
153
- category: Logic
154
- description: Contract can be destroyed by unauthorized caller
155
- detection_pattern: selfdestruct(?!.*onlyOwner)
156
- fix_pattern: Add access control or remove selfdestruct
157
- cwe: CWE-284
158
- example_vuln: function kill() public { selfdestruct(payable(msg.sender)); }
159
- example_fix: function kill() public onlyOwner { selfdestruct(payable(msg.sender)); }
160
- - id: SOL-15
161
- name: Signature Malleability
162
- severity: HIGH
163
- category: Crypto
164
- description: ECDSA signature can be altered to produce valid variant
165
- detection_pattern: ecrecover(?!.*nonce|used\[)
166
- fix_pattern: Track used signatures implement replay protection
167
- cwe: CWE-347
168
- example_vuln: address signer = ecrecover(hash, v, r, s);
169
- example_fix: require(!usedSignatures[sig]); usedSignatures[sig] = true;
170
- - id: SOL-16
171
- name: Flash Loan Attack
172
- severity: CRITICAL
173
- category: DeFi
174
- description: Price or state manipulated within single transaction
175
- detection_pattern: (getPrice|reserve|balance)(?!.*TWAP|oracle)
176
- fix_pattern: Use TWAPs or trusted oracles for price data
177
- cwe: CWE-362
178
- example_vuln: uint price = reserve1 / reserve0; // Manipulable
179
- example_fix: // Use Chainlink price feed\nuint price = priceFeed.latestRoundData();
180
- - id: SOL-17
181
- name: Precision Loss
182
- severity: MEDIUM
183
- category: Math
184
- description: Integer division causes precision loss
185
- detection_pattern: (/.*\*|\*/.*<)(?!.*1e18|WAD|RAY)
186
- fix_pattern: Multiply before divide use fixed-point math libraries
187
- cwe: CWE-682
188
- example_vuln: uint result = (a / b) * c;
189
- example_fix: uint result = (a * c) / b; // Or use WAD
190
- - id: SOL-18
191
- name: Missing Zero Address Check
192
- severity: MEDIUM
193
- category: Input
194
- description: Address parameters not validated for zero address
195
- detection_pattern: (address.*=|address.*param)(?!.*!=.*0|require)
196
- fix_pattern: Always check for zero address on critical params
197
- cwe: CWE-20
198
- example_vuln: function setOwner(address _owner) { owner = _owner; }
199
- example_fix: require(_owner != address(0)); owner = _owner;
200
- - id: SOL-19
201
- name: Unbounded Return Data
202
- severity: MEDIUM
203
- category: Gas
204
- description: External call with unbounded return data causes OOG
205
- detection_pattern: staticcall|call(?!.*gas.*limit)
206
- fix_pattern: Use assembly to limit return data copy size
207
- cwe: CWE-400
208
- example_vuln: (bool success, bytes memory data) = addr.call(payload);
209
- example_fix: // Use low-level call with gas limit
210
- - id: SOL-20
211
- name: Initializer Not Protected
212
- severity: CRITICAL
213
- category: Upgrade
214
- description: Initializer can be called multiple times
215
- detection_pattern: function.*initialize(?!.*initializer)
216
- fix_pattern: Use OpenZeppelin's initializer modifier
217
- cwe: CWE-665
218
- example_vuln: function initialize(address _owner) public { owner = _owner; }
219
- example_fix: function initialize(address _owner) public initializer { owner = _owner; }
220
- - id: SOL-21
221
- name: Cross-Chain Replay
222
- severity: CRITICAL
223
- category: Bridge
224
- description: Signature valid on multiple chains without chain ID
225
- detection_pattern: ecrecover(?!.*chainId|block\.chainid)
226
- fix_pattern: Include block.chainid in signature data
227
- cwe: CWE-294
228
- example_vuln: bytes32 hash = keccak256(abi.encode(to, amount));
229
- example_fix: bytes32 hash = keccak256(abi.encode(block.chainid, to, amount));
230
- - id: SOL-22
231
- name: Bridge Oracle Manipulation
232
- severity: CRITICAL
233
- category: Bridge
234
- description: Bridge relies on single oracle for cross-chain messages
235
- detection_pattern: oracle(?!.*multi|threshold|decentralized)
236
- fix_pattern: Use multi-sig oracles or threshold signatures
237
- cwe: CWE-346
238
- example_vuln: function receiveMessage(bytes memory proof) { validateOracle(proof); }
239
- example_fix: // Use threshold signatures with 2/3 consensus
240
- - id: SOL-23
241
- name: MEV Sandwich Attack
242
- severity: HIGH
243
- category: DeFi
244
- description: Swap can be sandwiched by MEV bots
245
- detection_pattern: swap(?!.*flashbots|private.*pool)
246
- fix_pattern: Use private mempools or MEV protection services
247
- cwe: CWE-362
248
- example_vuln: // Public swap can be exploited\nfunction swap(uint amount) { ... }
249
- example_fix: // Use Flashbots Protect or MEV-Share
250
- - id: SOL-24
251
- name: EIP-4337 Validation Gas
252
- severity: HIGH
253
- category: AA
254
- description: Account abstraction validateUserOp gas not limited
255
- detection_pattern: validateUserOp(?!.*gasLimit)
256
- fix_pattern: Limit validation gas to prevent DoS
257
- cwe: CWE-400
258
- example_vuln: function validateUserOp(UserOperation op) { // Unbounded }
259
- example_fix: // Limit validation to 200k gas
260
- - id: SOL-25
261
- name: ERC-4626 Inflation Attack
262
- severity: CRITICAL
263
- category: DeFi
264
- description: Vault share inflation via first deposit frontrun
265
- detection_pattern: deposit(?!.*virtualAssets|offset)
266
- fix_pattern: Use virtual assets to prevent inflation
267
- cwe: CWE-682
268
- example_vuln: function deposit(uint assets) { shares = assets / totalAssets; }
269
- example_fix: '// Add virtual offset: shares = assets / (totalAssets + 1)'
270
- - id: SOL-26
271
- name: Create2 Factory Hijack
272
- severity: HIGH
273
- category: Deploy
274
- description: CREATE2 address can be hijacked with same salt
275
- detection_pattern: create2(?!.*validate.*deployer)
276
- fix_pattern: Validate deployer in salt or use access control
277
- cwe: CWE-94
278
- example_vuln: address deployed = Create2.deploy(salt, bytecode);
279
- example_fix: // Include msg.sender in salt
280
- - id: SOL-27
281
- name: Permit2 Signature Reuse
282
- severity: HIGH
283
- category: DeFi
284
- description: Permit2 signatures indefinitely valid without expiration
285
- detection_pattern: permit(?!.*deadline|expiration)
286
- fix_pattern: Always include deadline in permit signatures
287
- cwe: CWE-613
288
- example_vuln: // No expiration\npermit(owner, spender, value, v, r, s);
289
- example_fix: permit(owner, spender, value, deadline, v, r, s);
290
- - id: SOL-28
291
- name: LayerZero Untrusted Path
292
- severity: CRITICAL
293
- category: Bridge
294
- description: LayerZero message from untrusted source endpoint
295
- detection_pattern: lzReceive(?!.*trustedRemote)
296
- fix_pattern: Validate trustedRemoteLookup for source
297
- cwe: CWE-284
298
- example_vuln: function lzReceive(uint16 srcChainId) { process(); }
299
- example_fix: require(trustedRemoteLookup[srcChainId] != bytes32(0));
300
- - id: SOL-29
301
- name: Diamond Facet Collision
302
- severity: HIGH
303
- category: Upgrade
304
- description: EIP-2535 function selector collision between facets
305
- detection_pattern: diamondCut(?!.*checkSelectors)
306
- fix_pattern: Check for selector collisions during upgrades
307
- cwe: CWE-694
308
- example_vuln: // Selectors can collide\ndiamondCut(facets);
309
- example_fix: // Use facet selector registry
310
- - id: SOL-30
311
- name: Account Abstraction Paymaster DoS
312
- severity: HIGH
313
- category: AA
314
- description: Paymaster can be drained by malicious operations
315
- detection_pattern: paymaster(?!.*whitelist|rateLimit)
316
- fix_pattern: Implement rate limiting and whitelist
317
- cwe: CWE-400
318
- example_vuln: function validatePaymasterUserOp() { // Any op pays }
319
- example_fix: // Rate limit per user and validate operation
320
- - id: SOL-31
321
- name: ERC-721A Overflow
322
- severity: HIGH
323
- category: NFT
324
- description: ERC721A quantity overflow in batch mint
325
- detection_pattern: _mint(?!.*maxBatch|quantity.*check)
326
- fix_pattern: Limit batch size to prevent overflow
327
- cwe: CWE-190
328
- example_vuln: function batchMint(uint quantity) { _mint(to, quantity); }
329
- example_fix: require(quantity <= MAX_BATCH); _mint(to, quantity);
330
- - id: SOL-32
331
- name: Governance Flash Loan
332
- severity: CRITICAL
333
- category: DAO
334
- description: Voting power acquired via flash loan for single block
335
- detection_pattern: snapshot(?!.*delay|timelock)
336
- fix_pattern: Use voting delay and snapshot before proposal
337
- cwe: CWE-362
338
- example_vuln: // Vote immediately after deposit\nfunction vote() { require(balance[msg.sender] > 0); }
339
- example_fix: // Snapshot voting power 1 block before
340
- - id: SOL-33
341
- name: EIP-712 Domain Separator Cache
342
- severity: MEDIUM
343
- category: Crypto
344
- description: Cached domain separator invalid after chain fork
345
- detection_pattern: DOMAIN_SEPARATOR(?!.*computed|block\.chainid)
346
- fix_pattern: Recompute domain separator if chainId changes
347
- cwe: CWE-294
348
- example_vuln: bytes32 public immutable DOMAIN_SEPARATOR;
349
- example_fix: 'function DOMAIN_SEPARATOR() public view returns (bytes32) { return block.chainid == chainIdCached ? cached : compute(); }'
350
- - id: SOL-34
351
- name: NFT Royalty Bypass
352
- severity: MEDIUM
353
- category: NFT
354
- description: ERC-2981 royalties not enforced on marketplace
355
- detection_pattern: royaltyInfo(?!.*enforce|operator)
356
- fix_pattern: Use operator filtering or on-chain enforcement
357
- cwe: CWE-284
358
- example_vuln: // Royalties optional\nfunction royaltyInfo() { return (receiver, amount); }
359
- example_fix: // Use OperatorFilterer to enforce
360
- - id: SOL-35
361
- name: Insufficient Randomness Commit
362
- severity: HIGH
363
- category: Logic
364
- description: Commit-reveal with predictable reveal
365
- detection_pattern: reveal(?!.*blockhash.*future|VRF)
366
- fix_pattern: Use Chainlink VRF or blockhash of future block
367
- cwe: CWE-330
368
- example_vuln: function reveal(bytes32 seed) { random = uint(keccak256(seed)); }
369
- example_fix: // Request randomness from Chainlink VRF
20
+ - id: SOL-01
21
+ name: Reentrancy Attack
22
+ severity: CRITICAL
23
+ category: Logic
24
+ description: External call before state update allows reentrancy
25
+ detection_pattern: (\.call|transfer|send)\{.*\}\(.*\).*state
26
+ fix_pattern: Use Checks-Effects-Interactions pattern or ReentrancyGuard
27
+ cwe: CWE-841
28
+ example_vuln: "function withdraw() { msg.sender.call{value: balance}(''); balance = 0; }"
29
+ example_fix: "function withdraw() { uint bal = balance; balance = 0; msg.sender.call{value: bal}(''); }"
30
+ - id: SOL-02
31
+ name: Integer Overflow Pre-0.8
32
+ severity: CRITICAL
33
+ category: Math
34
+ description: Arithmetic overflow in Solidity < 0.8 without SafeMath
35
+ detection_pattern: (\+|\-|\*)(?!.*SafeMath|.*unchecked).*pragma.*<.*0\.8
36
+ fix_pattern: Upgrade to Solidity 0.8+ or use SafeMath library
37
+ cwe: CWE-190
38
+ example_vuln: uint8 x = 255; x += 1; // Overflows to 0
39
+ example_fix: '// Solidity 0.8+: auto-reverts on overflow\nuint8 x = 255; x += 1; // Reverts'
40
+ - id: SOL-03
41
+ name: Unchecked Call Return
42
+ severity: HIGH
43
+ category: Logic
44
+ description: Call send or transfer return value not checked
45
+ detection_pattern: (\.call|\.send)(?!.*require|.*if)
46
+ fix_pattern: Always check return value of external calls
47
+ cwe: CWE-252
48
+ example_vuln: payable(addr).send(amount);
49
+ example_fix: require(payable(addr).send(amount), 'Transfer failed');
50
+ - id: SOL-04
51
+ name: Delegatecall Injection
52
+ severity: CRITICAL
53
+ category: Logic
54
+ description: Delegatecall to user-controlled address allows takeover
55
+ detection_pattern: delegatecall.*\(.*user|msg\.sender
56
+ fix_pattern: Never delegatecall to untrusted addresses validate target
57
+ cwe: CWE-284
58
+ example_vuln: contract.delegatecall(abi.encode(userFn));
59
+ example_fix: // Only delegatecall to trusted implementations
60
+ - id: SOL-05
61
+ name: Storage Collision
62
+ severity: CRITICAL
63
+ category: Upgrade
64
+ description: Proxy storage layout conflicts with implementation
65
+ detection_pattern: (Proxy|upgradeable)(?!.*ERC1967|storage.*layout)
66
+ fix_pattern: Use ERC1967 storage slots or unstructured storage pattern
67
+ cwe: CWE-665
68
+ example_vuln: // Implementation inherits from different base
69
+ example_fix: // Use EIP-1967 storage slots\nbytes32 constant SLOT = keccak256('eip1967.proxy.implementation');
70
+ - id: SOL-06
71
+ name: Uninitialized Storage
72
+ severity: HIGH
73
+ category: Memory
74
+ description: Storage variables used before initialization
75
+ detection_pattern: (address|uint).*storage(?!.*=|.*initialize)
76
+ fix_pattern: Always initialize storage variables explicitly
77
+ cwe: CWE-665
78
+ example_vuln: address public owner; // Never set
79
+ example_fix: constructor() { owner = msg.sender; }
80
+ - id: SOL-07
81
+ name: Tx.origin Authentication
82
+ severity: HIGH
83
+ category: Auth
84
+ description: Using tx.origin for authentication vulnerable to phishing
85
+ detection_pattern: tx\.origin\s*(==|!=)
86
+ fix_pattern: Use msg.sender not tx.origin for authentication
87
+ cwe: CWE-346
88
+ example_vuln: require(tx.origin == owner);
89
+ example_fix: require(msg.sender == owner);
90
+ - id: SOL-08
91
+ name: Block Timestamp Manipulation
92
+ severity: MEDIUM
93
+ category: Logic
94
+ description: Using block.timestamp for critical decisions
95
+ detection_pattern: block\.timestamp.*(?!logging|event).*random|winner
96
+ fix_pattern: Avoid block.timestamp for randomness or precise timing
97
+ cwe: CWE-330
98
+ example_vuln: winner = block.timestamp % participants.length;
99
+ example_fix: // Use Chainlink VRF for randomness
100
+ - id: SOL-09
101
+ name: Missing Access Control
102
+ severity: CRITICAL
103
+ category: Auth
104
+ description: Sensitive functions without proper access modifiers
105
+ detection_pattern: function.*(transfer|withdraw|mint)(?!.*onlyOwner|require.*msg\.sender)
106
+ fix_pattern: Add access control modifiers to sensitive functions
107
+ cwe: CWE-284
108
+ example_vuln: function mint(uint amount) public { _mint(msg.sender, amount); }
109
+ example_fix: function mint(uint amount) public onlyOwner { _mint(msg.sender, amount); }
110
+ - id: SOL-10
111
+ name: Front-Running Vulnerability
112
+ severity: HIGH
113
+ category: Logic
114
+ description: Transaction can be front-run by observing mempool
115
+ detection_pattern: (swap|buy|sell)(?!.*commit.*reveal|slippage)
116
+ fix_pattern: Use commit-reveal scheme or slippage protection
117
+ cwe: CWE-362
118
+ example_vuln: function swap(uint minOut) { ... }
119
+ example_fix: // Add deadline and slippage protection\nfunction swap(uint minOut, uint deadline) { require(block.timestamp <= deadline); }
120
+ - id: SOL-11
121
+ name: Denial of Service
122
+ severity: HIGH
123
+ category: DoS
124
+ description: Gas-heavy operations in loops on unbounded arrays
125
+ detection_pattern: for.*length(?!.*gas|limit)
126
+ fix_pattern: Add gas limits pagination or pull over push pattern
127
+ cwe: CWE-400
128
+ example_vuln: for (uint i = 0; i < users.length; i++) { users[i].transfer(1 ether); }
129
+ example_fix: "// Use pull pattern: users claim their own funds"
130
+ - id: SOL-12
131
+ name: Floating Pragma
132
+ severity: LOW
133
+ category: Config
134
+ description: Pragma version not locked to specific version
135
+ detection_pattern: pragma.*solidity.*\^|>=(?!.*<)
136
+ fix_pattern: Lock pragma to specific version for production
137
+ cwe: CWE-665
138
+ example_vuln: pragma solidity ^0.8.0;
139
+ example_fix: pragma solidity 0.8.19;
140
+ - id: SOL-13
141
+ name: Missing Events
142
+ severity: LOW
143
+ category: Audit
144
+ description: State changes without event emission
145
+ detection_pattern: (=|\+\+|\-\-)(?!.*emit).*state
146
+ fix_pattern: Emit events for all state-changing operations
147
+ cwe: CWE-778
148
+ example_vuln: owner = newOwner;
149
+ example_fix: emit OwnerChanged(owner, newOwner);\nowner = newOwner;
150
+ - id: SOL-14
151
+ name: Selfdestruct Vulnerability
152
+ severity: MEDIUM
153
+ category: Logic
154
+ description: Contract can be destroyed by unauthorized caller
155
+ detection_pattern: selfdestruct(?!.*onlyOwner)
156
+ fix_pattern: Add access control or remove selfdestruct
157
+ cwe: CWE-284
158
+ example_vuln: function kill() public { selfdestruct(payable(msg.sender)); }
159
+ example_fix: function kill() public onlyOwner { selfdestruct(payable(msg.sender)); }
160
+ - id: SOL-15
161
+ name: Signature Malleability
162
+ severity: HIGH
163
+ category: Crypto
164
+ description: ECDSA signature can be altered to produce valid variant
165
+ detection_pattern: ecrecover(?!.*nonce|used\[)
166
+ fix_pattern: Track used signatures implement replay protection
167
+ cwe: CWE-347
168
+ example_vuln: address signer = ecrecover(hash, v, r, s);
169
+ example_fix: require(!usedSignatures[sig]); usedSignatures[sig] = true;
170
+ - id: SOL-16
171
+ name: Flash Loan Attack
172
+ severity: CRITICAL
173
+ category: DeFi
174
+ description: Price or state manipulated within single transaction
175
+ detection_pattern: (getPrice|reserve|balance)(?!.*TWAP|oracle)
176
+ fix_pattern: Use TWAPs or trusted oracles for price data
177
+ cwe: CWE-362
178
+ example_vuln: uint price = reserve1 / reserve0; // Manipulable
179
+ example_fix: // Use Chainlink price feed\nuint price = priceFeed.latestRoundData();
180
+ - id: SOL-17
181
+ name: Precision Loss
182
+ severity: MEDIUM
183
+ category: Math
184
+ description: Integer division causes precision loss
185
+ detection_pattern: (/.*\*|\*/.*<)(?!.*1e18|WAD|RAY)
186
+ fix_pattern: Multiply before divide use fixed-point math libraries
187
+ cwe: CWE-682
188
+ example_vuln: uint result = (a / b) * c;
189
+ example_fix: uint result = (a * c) / b; // Or use WAD
190
+ - id: SOL-18
191
+ name: Missing Zero Address Check
192
+ severity: MEDIUM
193
+ category: Input
194
+ description: Address parameters not validated for zero address
195
+ detection_pattern: (address.*=|address.*param)(?!.*!=.*0|require)
196
+ fix_pattern: Always check for zero address on critical params
197
+ cwe: CWE-20
198
+ example_vuln: function setOwner(address _owner) { owner = _owner; }
199
+ example_fix: require(_owner != address(0)); owner = _owner;
200
+ - id: SOL-19
201
+ name: Unbounded Return Data
202
+ severity: MEDIUM
203
+ category: Gas
204
+ description: External call with unbounded return data causes OOG
205
+ detection_pattern: staticcall|call(?!.*gas.*limit)
206
+ fix_pattern: Use assembly to limit return data copy size
207
+ cwe: CWE-400
208
+ example_vuln: (bool success, bytes memory data) = addr.call(payload);
209
+ example_fix: // Use low-level call with gas limit
210
+ - id: SOL-20
211
+ name: Initializer Not Protected
212
+ severity: CRITICAL
213
+ category: Upgrade
214
+ description: Initializer can be called multiple times
215
+ detection_pattern: function.*initialize(?!.*initializer)
216
+ fix_pattern: Use OpenZeppelin's initializer modifier
217
+ cwe: CWE-665
218
+ example_vuln: function initialize(address _owner) public { owner = _owner; }
219
+ example_fix: function initialize(address _owner) public initializer { owner = _owner; }
220
+ - id: SOL-21
221
+ name: Cross-Chain Replay
222
+ severity: CRITICAL
223
+ category: Bridge
224
+ description: Signature valid on multiple chains without chain ID
225
+ detection_pattern: ecrecover(?!.*chainId|block\.chainid)
226
+ fix_pattern: Include block.chainid in signature data
227
+ cwe: CWE-294
228
+ example_vuln: bytes32 hash = keccak256(abi.encode(to, amount));
229
+ example_fix: bytes32 hash = keccak256(abi.encode(block.chainid, to, amount));
230
+ - id: SOL-22
231
+ name: Bridge Oracle Manipulation
232
+ severity: CRITICAL
233
+ category: Bridge
234
+ description: Bridge relies on single oracle for cross-chain messages
235
+ detection_pattern: oracle(?!.*multi|threshold|decentralized)
236
+ fix_pattern: Use multi-sig oracles or threshold signatures
237
+ cwe: CWE-346
238
+ example_vuln: function receiveMessage(bytes memory proof) { validateOracle(proof); }
239
+ example_fix: // Use threshold signatures with 2/3 consensus
240
+ - id: SOL-23
241
+ name: MEV Sandwich Attack
242
+ severity: HIGH
243
+ category: DeFi
244
+ description: Swap can be sandwiched by MEV bots
245
+ detection_pattern: swap(?!.*flashbots|private.*pool)
246
+ fix_pattern: Use private mempools or MEV protection services
247
+ cwe: CWE-362
248
+ example_vuln: // Public swap can be exploited\nfunction swap(uint amount) { ... }
249
+ example_fix: // Use Flashbots Protect or MEV-Share
250
+ - id: SOL-24
251
+ name: EIP-4337 Validation Gas
252
+ severity: HIGH
253
+ category: AA
254
+ description: Account abstraction validateUserOp gas not limited
255
+ detection_pattern: validateUserOp(?!.*gasLimit)
256
+ fix_pattern: Limit validation gas to prevent DoS
257
+ cwe: CWE-400
258
+ example_vuln: function validateUserOp(UserOperation op) { // Unbounded }
259
+ example_fix: // Limit validation to 200k gas
260
+ - id: SOL-25
261
+ name: ERC-4626 Inflation Attack
262
+ severity: CRITICAL
263
+ category: DeFi
264
+ description: Vault share inflation via first deposit frontrun
265
+ detection_pattern: deposit(?!.*virtualAssets|offset)
266
+ fix_pattern: Use virtual assets to prevent inflation
267
+ cwe: CWE-682
268
+ example_vuln: function deposit(uint assets) { shares = assets / totalAssets; }
269
+ example_fix: "// Add virtual offset: shares = assets / (totalAssets + 1)"
270
+ - id: SOL-26
271
+ name: Create2 Factory Hijack
272
+ severity: HIGH
273
+ category: Deploy
274
+ description: CREATE2 address can be hijacked with same salt
275
+ detection_pattern: create2(?!.*validate.*deployer)
276
+ fix_pattern: Validate deployer in salt or use access control
277
+ cwe: CWE-94
278
+ example_vuln: address deployed = Create2.deploy(salt, bytecode);
279
+ example_fix: // Include msg.sender in salt
280
+ - id: SOL-27
281
+ name: Permit2 Signature Reuse
282
+ severity: HIGH
283
+ category: DeFi
284
+ description: Permit2 signatures indefinitely valid without expiration
285
+ detection_pattern: permit(?!.*deadline|expiration)
286
+ fix_pattern: Always include deadline in permit signatures
287
+ cwe: CWE-613
288
+ example_vuln: // No expiration\npermit(owner, spender, value, v, r, s);
289
+ example_fix: permit(owner, spender, value, deadline, v, r, s);
290
+ - id: SOL-28
291
+ name: LayerZero Untrusted Path
292
+ severity: CRITICAL
293
+ category: Bridge
294
+ description: LayerZero message from untrusted source endpoint
295
+ detection_pattern: lzReceive(?!.*trustedRemote)
296
+ fix_pattern: Validate trustedRemoteLookup for source
297
+ cwe: CWE-284
298
+ example_vuln: function lzReceive(uint16 srcChainId) { process(); }
299
+ example_fix: require(trustedRemoteLookup[srcChainId] != bytes32(0));
300
+ - id: SOL-29
301
+ name: Diamond Facet Collision
302
+ severity: HIGH
303
+ category: Upgrade
304
+ description: EIP-2535 function selector collision between facets
305
+ detection_pattern: diamondCut(?!.*checkSelectors)
306
+ fix_pattern: Check for selector collisions during upgrades
307
+ cwe: CWE-694
308
+ example_vuln: // Selectors can collide\ndiamondCut(facets);
309
+ example_fix: // Use facet selector registry
310
+ - id: SOL-30
311
+ name: Account Abstraction Paymaster DoS
312
+ severity: HIGH
313
+ category: AA
314
+ description: Paymaster can be drained by malicious operations
315
+ detection_pattern: paymaster(?!.*whitelist|rateLimit)
316
+ fix_pattern: Implement rate limiting and whitelist
317
+ cwe: CWE-400
318
+ example_vuln: function validatePaymasterUserOp() { // Any op pays }
319
+ example_fix: // Rate limit per user and validate operation
320
+ - id: SOL-31
321
+ name: ERC-721A Overflow
322
+ severity: HIGH
323
+ category: NFT
324
+ description: ERC721A quantity overflow in batch mint
325
+ detection_pattern: _mint(?!.*maxBatch|quantity.*check)
326
+ fix_pattern: Limit batch size to prevent overflow
327
+ cwe: CWE-190
328
+ example_vuln: function batchMint(uint quantity) { _mint(to, quantity); }
329
+ example_fix: require(quantity <= MAX_BATCH); _mint(to, quantity);
330
+ - id: SOL-32
331
+ name: Governance Flash Loan
332
+ severity: CRITICAL
333
+ category: DAO
334
+ description: Voting power acquired via flash loan for single block
335
+ detection_pattern: snapshot(?!.*delay|timelock)
336
+ fix_pattern: Use voting delay and snapshot before proposal
337
+ cwe: CWE-362
338
+ example_vuln: // Vote immediately after deposit\nfunction vote() { require(balance[msg.sender] > 0); }
339
+ example_fix: // Snapshot voting power 1 block before
340
+ - id: SOL-33
341
+ name: EIP-712 Domain Separator Cache
342
+ severity: MEDIUM
343
+ category: Crypto
344
+ description: Cached domain separator invalid after chain fork
345
+ detection_pattern: DOMAIN_SEPARATOR(?!.*computed|block\.chainid)
346
+ fix_pattern: Recompute domain separator if chainId changes
347
+ cwe: CWE-294
348
+ example_vuln: bytes32 public immutable DOMAIN_SEPARATOR;
349
+ example_fix: "function DOMAIN_SEPARATOR() public view returns (bytes32) { return block.chainid == chainIdCached ? cached : compute(); }"
350
+ - id: SOL-34
351
+ name: NFT Royalty Bypass
352
+ severity: MEDIUM
353
+ category: NFT
354
+ description: ERC-2981 royalties not enforced on marketplace
355
+ detection_pattern: royaltyInfo(?!.*enforce|operator)
356
+ fix_pattern: Use operator filtering or on-chain enforcement
357
+ cwe: CWE-284
358
+ example_vuln: // Royalties optional\nfunction royaltyInfo() { return (receiver, amount); }
359
+ example_fix: // Use OperatorFilterer to enforce
360
+ - id: SOL-35
361
+ name: Insufficient Randomness Commit
362
+ severity: HIGH
363
+ category: Logic
364
+ description: Commit-reveal with predictable reveal
365
+ detection_pattern: reveal(?!.*blockhash.*future|VRF)
366
+ fix_pattern: Use Chainlink VRF or blockhash of future block
367
+ cwe: CWE-330
368
+ example_vuln: function reveal(bytes32 seed) { random = uint(keccak256(seed)); }
369
+ example_fix: // Request randomness from Chainlink VRF