@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,415 @@
1
+ metadata:
2
+ skill: security
3
+ domain: cwe_top25
4
+ version: 6.2.0
5
+ updated: '2026-02-05'
6
+ migrated_from: cwe-top25.csv
7
+ patterns_count: 25
8
+ columns:
9
+ - id
10
+ - name
11
+ - severity
12
+ - category
13
+ - rank_2024
14
+ - description
15
+ - detection_pattern
16
+ - fix_pattern
17
+ - languages
18
+ - example_vuln
19
+ - example_fix
20
+ patterns:
21
+ - id: CWE-79
22
+ name: Cross-site Scripting (XSS)
23
+ severity: CRITICAL
24
+ category: Injection
25
+ rank_2024: '1'
26
+ description: 'Rendering untrusted data in HTML without encoding. #1 in 2024 (was #2)'
27
+ detection_pattern: (innerHTML|document\\.write|dangerouslySetInnerHTML)
28
+ fix_pattern: HTML entity encoding, CSP headers, sanitize libraries
29
+ languages:
30
+ - javascript
31
+ - typescript
32
+ example_vuln: '// BAD: Direct HTML injection
33
+
34
+ element.innerHTML = userInput'
35
+ example_fix: '// GOOD: Text content or sanitize
36
+
37
+ element.textContent = userInput
38
+
39
+ // or: DOMPurify.sanitize(userInput)'
40
+ - id: CWE-787
41
+ name: Out-of-bounds Write
42
+ severity: CRITICAL
43
+ category: Memory
44
+ rank_2024: '2'
45
+ description: 'Writing data past buffer end. #2 in 2024 (was #1)'
46
+ detection_pattern: (strcpy|strcat|sprintf|gets\\()
47
+ fix_pattern: 'Use safe functions: strncpy, snprintf, fgets with size limits'
48
+ languages:
49
+ - c
50
+ - cpp
51
+ example_vuln: '// BAD: Buffer overflow
52
+
53
+ char buf[10]; strcpy(buf, userInput);'
54
+ example_fix: '// GOOD: Bounded copy
55
+
56
+ char buf[10]; strncpy(buf, userInput, sizeof(buf)-1); buf[sizeof(buf)-1] = ''\\0'';'
57
+ - id: CWE-89
58
+ name: SQL Injection
59
+ severity: CRITICAL
60
+ category: Injection
61
+ rank_2024: '3'
62
+ description: Constructing SQL queries from untrusted input without parameterization.
63
+ detection_pattern: (query.*\\+|execute.*\\+|SELECT.*\\$\\{)
64
+ fix_pattern: Parameterized queries, ORM, prepared statements
65
+ languages: all
66
+ example_vuln: '// BAD: String concatenation
67
+
68
+ db.query(`SELECT * FROM users WHERE name = ''${name}''`)'
69
+ example_fix: '// GOOD: Prepared statement
70
+
71
+ db.query(''SELECT * FROM users WHERE name = ?'', [name])'
72
+ - id: CWE-352
73
+ name: Cross-Site Request Forgery (CSRF)
74
+ severity: HIGH
75
+ category: Session
76
+ rank_2024: '4'
77
+ description: Forging requests from authenticated users. Jumped 5 positions in 2024.
78
+ detection_pattern: (form.*method.*post|fetch\\(.*method.*POST)
79
+ fix_pattern: CSRF tokens, SameSite cookies, double-submit cookies
80
+ languages: all
81
+ example_vuln: '// BAD: No CSRF protection
82
+
83
+ <form method=''POST'' action=''/transfer''>'
84
+ example_fix: '// GOOD: CSRF token
85
+
86
+ <input type=''hidden'' name=''csrf'' value=''{{token}}''>'
87
+ - id: CWE-22
88
+ name: Path Traversal
89
+ severity: HIGH
90
+ category: Injection
91
+ rank_2024: '5'
92
+ description: 'Using user input to access files outside intended directory. Moved to #5.'
93
+ detection_pattern: (readFile\\(|open\\(|include\\().*req\\.(params|query|body)
94
+ fix_pattern: Path normalization, jail to base directory, allowlisting
95
+ languages: all
96
+ example_vuln: '// BAD: Path traversal
97
+
98
+ fs.readFile(''/uploads/'' + req.query.file)'
99
+ example_fix: '// GOOD: Path normalization
100
+
101
+ const safePath = path.resolve(''/uploads'', path.basename(req.query.file))'
102
+ - id: CWE-125
103
+ name: Out-of-bounds Read
104
+ severity: HIGH
105
+ category: Memory
106
+ rank_2024: '6'
107
+ description: Reading data beyond buffer boundaries (information leak).
108
+ detection_pattern: (buffer\\[|array\\[|ptr\\+)
109
+ fix_pattern: Bounds checking, safe iterators, span/slice types
110
+ languages:
111
+ - c
112
+ - cpp
113
+ - rust
114
+ example_vuln: '// BAD: Array out of bounds
115
+
116
+ for(int i=0; i<=len; i++) buf[i]'
117
+ example_fix: '// GOOD: Proper bounds
118
+
119
+ for(int i=0; i<len; i++) buf[i]'
120
+ - id: CWE-78
121
+ name: OS Command Injection
122
+ severity: CRITICAL
123
+ category: Injection
124
+ rank_2024: '7'
125
+ description: Executing shell commands with untrusted input.
126
+ detection_pattern: (exec\\(|system\\(|popen\\(|shell_exec)
127
+ fix_pattern: Avoid shell, use safe APIs, input validation
128
+ languages: all
129
+ example_vuln: '// BAD: Shell command injection
130
+
131
+ exec(`rm -rf ${userPath}`)'
132
+ example_fix: '// GOOD: Use safe API
133
+
134
+ fs.rmSync(path.resolve(safeBaseDir, userPath), { recursive: true })'
135
+ - id: CWE-416
136
+ name: Use After Free
137
+ severity: CRITICAL
138
+ category: Memory
139
+ rank_2024: '8'
140
+ description: Accessing memory after it has been freed.
141
+ detection_pattern: (free\\(.*\\)|delete\\s+|\\.release\\(\\))
142
+ fix_pattern: Smart pointers, RAII, null after free
143
+ languages:
144
+ - c
145
+ - cpp
146
+ - rust
147
+ example_vuln: '// BAD: Use after free
148
+
149
+ free(ptr); printf(''%s'', ptr);'
150
+ example_fix: '// GOOD: Null after free
151
+
152
+ free(ptr); ptr = NULL;'
153
+ - id: CWE-862
154
+ name: Missing Authorization
155
+ severity: CRITICAL
156
+ category: AuthZ
157
+ rank_2024: '9'
158
+ description: Lack of proper checks to ensure users have necessary permissions.
159
+ detection_pattern: (app\\.(get|post|put|delete)\\()(?!.*authorize)
160
+ fix_pattern: Authorization middleware, RBAC/ABAC, deny by default
161
+ languages: all
162
+ example_vuln: '// BAD: No authz check
163
+
164
+ app.get(''/admin/users'', getUsers)'
165
+ example_fix: '// GOOD: Authorization middleware
166
+
167
+ app.get(''/admin/users'', requireRole(''admin''), getUsers)'
168
+ - id: CWE-434
169
+ name: Unrestricted File Upload
170
+ severity: HIGH
171
+ category: Injection
172
+ rank_2024: '10'
173
+ description: Allowing upload of executable files or scripts.
174
+ detection_pattern: (file.*upload|multer|formidable)
175
+ fix_pattern: File type validation, rename files, store outside webroot
176
+ languages: all
177
+ example_vuln: '// BAD: No file type check
178
+
179
+ app.post(''/upload'', multer().single(''file''))'
180
+ example_fix: '// GOOD: Validate MIME and extension
181
+
182
+ if (!ALLOWED_TYPES.includes(file.mimetype)) throw new Error(''Invalid type'')'
183
+ - id: CWE-94
184
+ name: Code Injection
185
+ severity: CRITICAL
186
+ category: Injection
187
+ rank_2024: '11'
188
+ description: Injecting and executing arbitrary code. Jumped 12 positions in 2024!
189
+ detection_pattern: (eval\\(|new Function\\(|vm\\.runInContext)
190
+ fix_pattern: Avoid eval, use safe parsers, sandbox execution
191
+ languages: all
192
+ example_vuln: '// BAD: Code injection
193
+
194
+ eval(userInput)'
195
+ example_fix: '// GOOD: Safe alternative
196
+
197
+ JSON.parse(userInput) // for data parsing'
198
+ - id: CWE-20
199
+ name: Improper Input Validation
200
+ severity: HIGH
201
+ category: Validation
202
+ rank_2024: '12'
203
+ description: Not validating user input for type, length, format, range.
204
+ detection_pattern: (parseInt\\(|Number\\(|JSON\\.parse\\()
205
+ fix_pattern: Schema validation (Zod, Joi), type checking, range validation
206
+ languages: all
207
+ example_vuln: '// BAD: No validation
208
+
209
+ const age = parseInt(req.body.age)'
210
+ example_fix: '// GOOD: Schema validation
211
+
212
+ const schema = z.object({ age: z.number().min(0).max(150) })'
213
+ - id: CWE-77
214
+ name: Command Injection
215
+ severity: CRITICAL
216
+ category: Injection
217
+ rank_2024: '13'
218
+ description: Improper neutralization of special elements in a command.
219
+ detection_pattern: (spawn\\(|execFile\\().*\\$
220
+ fix_pattern: Use arrays for args, avoid shell, sanitize input
221
+ languages: all
222
+ example_vuln: '// BAD: Command injection risk
223
+
224
+ spawn(''cmd'', `/c ${userInput}`)'
225
+ example_fix: '// GOOD: Separate args
226
+
227
+ spawn(''cmd'', [''/c'', sanitize(userInput)], { shell: false })'
228
+ - id: CWE-287
229
+ name: Improper Authentication
230
+ severity: CRITICAL
231
+ category: AuthN
232
+ rank_2024: '14'
233
+ description: Incorrect or insufficient authentication mechanisms.
234
+ detection_pattern: (password.*==|token.*===)
235
+ fix_pattern: Use timing-safe comparison, secure session, MFA
236
+ languages: all
237
+ example_vuln: '// BAD: Timing attack vulnerable
238
+
239
+ if (token === storedToken)'
240
+ example_fix: '// GOOD: Timing-safe compare
241
+
242
+ crypto.timingSafeEqual(Buffer.from(token), Buffer.from(storedToken))'
243
+ - id: CWE-269
244
+ name: Improper Privilege Management
245
+ severity: HIGH
246
+ category: AuthZ
247
+ rank_2024: '15'
248
+ description: Flaws in how privileges are assigned, managed, or enforced.
249
+ detection_pattern: (setRole|addPermission|elevate)
250
+ fix_pattern: Principle of least privilege, regular audits, separation of duties
251
+ languages: all
252
+ example_vuln: '// BAD: Overly broad permissions
253
+
254
+ user.role = ''superadmin'''
255
+ example_fix: '// GOOD: Minimal required permissions
256
+
257
+ user.permissions = [''read:own_data'', ''write:own_data'']'
258
+ - id: CWE-502
259
+ name: Deserialization of Untrusted Data
260
+ severity: CRITICAL
261
+ category: Injection
262
+ rank_2024: '16'
263
+ description: Deserializing data from untrusted sources without validation.
264
+ detection_pattern: (pickle\\.load|unserialize|ObjectInputStream|JSON\\.parse\\(.*body)
265
+ fix_pattern: Avoid native deserialization, use JSON, validate schema
266
+ languages: all
267
+ example_vuln: '// BAD: Unsafe deserialization (Python)
268
+
269
+ pickle.loads(user_data)'
270
+ example_fix: '// GOOD: Safe JSON with schema
271
+
272
+ data = json.loads(user_data); validate(data, schema)'
273
+ - id: CWE-200
274
+ name: Exposure of Sensitive Information
275
+ severity: MEDIUM
276
+ category: Disclosure
277
+ rank_2024: '17'
278
+ description: Sensitive data revealed to unauthorized actors.
279
+ detection_pattern: (console\\.log.*password|log.*secret|res\\.send.*error\\.stack)
280
+ fix_pattern: Sanitize logs, custom error pages, filter responses
281
+ languages: all
282
+ example_vuln: '// BAD: Expose stack trace
283
+
284
+ res.status(500).send(error.stack)'
285
+ example_fix: '// GOOD: Generic error
286
+
287
+ res.status(500).json({ error: ''Internal server error'' })'
288
+ - id: CWE-863
289
+ name: Incorrect Authorization
290
+ severity: HIGH
291
+ category: AuthZ
292
+ rank_2024: '18'
293
+ description: Authorization performed incorrectly, leading to unauthorized access.
294
+ detection_pattern: (if.*role.*!=|unless.*admin)
295
+ fix_pattern: Centralized authz, policy-based access, audit logs
296
+ languages: all
297
+ example_vuln: '// BAD: Inverted logic
298
+
299
+ if (user.role != ''admin'') allowAccess()'
300
+ example_fix: '// GOOD: Explicit check
301
+
302
+ if (user.role === ''admin'') allowAccess()'
303
+ - id: CWE-918
304
+ name: Server-Side Request Forgery (SSRF)
305
+ severity: HIGH
306
+ category: Injection
307
+ rank_2024: '19'
308
+ description: Server makes requests to attacker-controlled URLs.
309
+ detection_pattern: (fetch\\(|axios\\.|request\\().*user
310
+ fix_pattern: URL allowlisting, disable redirects, network segmentation
311
+ languages: all
312
+ example_vuln: '// BAD: Fetch user URL
313
+
314
+ fetch(req.query.url)'
315
+ example_fix: '// GOOD: Allowlist validation
316
+
317
+ if (!ALLOWED_HOSTS.includes(new URL(url).host)) throw new Error(''Blocked'')'
318
+ - id: CWE-119
319
+ name: Memory Buffer Bounds
320
+ severity: CRITICAL
321
+ category: Memory
322
+ rank_2024: '20'
323
+ description: Operations that read/write outside intended memory buffer.
324
+ detection_pattern: (memcpy|memmove|buffer\\[.*\\+)
325
+ fix_pattern: Bounds checking, AddressSanitizer, safe functions
326
+ languages:
327
+ - c
328
+ - cpp
329
+ example_vuln: '// BAD: No bounds check
330
+
331
+ memcpy(dest, src, len)'
332
+ example_fix: '// GOOD: Check bounds first
333
+
334
+ if (len <= sizeof(dest)) memcpy(dest, src, len)'
335
+ - id: CWE-476
336
+ name: NULL Pointer Dereference
337
+ severity: HIGH
338
+ category: Memory
339
+ rank_2024: '21'
340
+ description: Program attempts to use a pointer that has NULL value.
341
+ detection_pattern: (->|\\*ptr)(?!.*if.*null)
342
+ fix_pattern: Null checks, Optional types, smart pointers
343
+ languages:
344
+ - c
345
+ - cpp
346
+ - java
347
+ example_vuln: '// BAD: No null check
348
+
349
+ printf(''%s'', ptr->name);'
350
+ example_fix: '// GOOD: Check first
351
+
352
+ if (ptr != NULL) printf(''%s'', ptr->name);'
353
+ - id: CWE-798
354
+ name: Hard-coded Credentials
355
+ severity: CRITICAL
356
+ category: Secrets
357
+ rank_2024: '22'
358
+ description: Embedding credentials directly into code.
359
+ detection_pattern: (password.*=.*['\]|apiKey.*=.*['\"]|secret.*=.*['\"])"
360
+ fix_pattern: Environment variables, secrets manager, rotation
361
+ languages: all
362
+ example_vuln: '// BAD: Hardcoded secret
363
+
364
+ const API_KEY = ''sk-1234567890'''
365
+ example_fix: '// GOOD: Environment variable
366
+
367
+ const API_KEY = process.env.API_KEY'
368
+ - id: CWE-190
369
+ name: Integer Overflow
370
+ severity: HIGH
371
+ category: Math
372
+ rank_2024: '23'
373
+ description: Arithmetic creates value larger than max representable.
374
+ detection_pattern: (\\+\\+|\\+=|\\*=)(?!.*overflow)
375
+ fix_pattern: Safe math libraries, range checks, big integers
376
+ languages:
377
+ - c
378
+ - cpp
379
+ - java
380
+ example_vuln: '// BAD: Potential overflow
381
+
382
+ int total = a + b;'
383
+ example_fix: '// GOOD: Check overflow
384
+
385
+ if (a > INT_MAX - b) throw new Error(''Overflow'');'
386
+ - id: CWE-400
387
+ name: Uncontrolled Resource Consumption
388
+ severity: MEDIUM
389
+ category: DoS
390
+ rank_2024: '24'
391
+ description: Consuming excessive system resources (DoS).
392
+ detection_pattern: (while.*true|for.*;;|setTimeout.*0)
393
+ fix_pattern: Rate limiting, timeouts, resource quotas
394
+ languages: all
395
+ example_vuln: '// BAD: Unbounded recursion
396
+
397
+ function loop() { loop(); }'
398
+ example_fix: '// GOOD: With limit
399
+
400
+ function loop(depth = 0) { if (depth > 100) return; loop(depth + 1); }'
401
+ - id: CWE-306
402
+ name: Missing Authentication
403
+ severity: CRITICAL
404
+ category: AuthN
405
+ rank_2024: '25'
406
+ description: Critical function lacks proper authentication.
407
+ detection_pattern: (app\\.(get|post|put|delete)\\()(?!.*auth)
408
+ fix_pattern: Auth middleware on all protected routes
409
+ languages: all
410
+ example_vuln: '// BAD: No auth
411
+
412
+ app.delete(''/api/users/:id'', deleteUser)'
413
+ example_fix: '// GOOD: Auth middleware
414
+
415
+ app.delete(''/api/users/:id'', requireAuth, deleteUser)'
@@ -0,0 +1,295 @@
1
+ metadata:
2
+ skill: security
3
+ domain: c_security
4
+ version: 6.2.0
5
+ updated: '2026-02-05'
6
+ migrated_from: c-security.csv
7
+ patterns_count: 25
8
+ columns:
9
+ - id
10
+ - name
11
+ - severity
12
+ - category
13
+ - description
14
+ - detection_pattern
15
+ - fix_pattern
16
+ - cwe
17
+ - cve_reference
18
+ - example_vuln
19
+ - example_fix
20
+ patterns:
21
+ - id: C-01
22
+ name: Stack Buffer Overflow
23
+ severity: CRITICAL
24
+ category: Memory
25
+ description: Buffer on stack overwritten via user input leading to RCE
26
+ detection_pattern: (strcpy|sprintf|gets|scanf)\\((?!.*n)
27
+ fix_pattern: Use strncpy snprintf fgets scanf with width specifier
28
+ cwe: CWE-121
29
+ cve_reference: CVE-2025-0282
30
+ example_vuln: char buf[64]; strcpy(buf, user_input);
31
+ example_fix: char buf[64]; strncpy(buf, user_input, sizeof(buf)-1); buf[63] = '\\0';
32
+ - id: C-02
33
+ name: Heap Buffer Overflow
34
+ severity: CRITICAL
35
+ category: Memory
36
+ description: Buffer on heap overwritten allowing heap corruption RCE
37
+ detection_pattern: (malloc|realloc).*memcpy(?!.*size_check)
38
+ fix_pattern: Validate size before memcpy use bounded functions
39
+ cwe: CWE-122
40
+ cve_reference: CVE-2025-47436
41
+ example_vuln: char *buf = malloc(64); memcpy(buf, data, data_len);
42
+ example_fix: if (data_len > 64) return -1; memcpy(buf, data, data_len);
43
+ - id: C-03
44
+ name: Format String Vulnerability
45
+ severity: CRITICAL
46
+ category: Injection
47
+ description: User input passed directly to printf allows arbitrary read/write
48
+ detection_pattern: (printf|fprintf|sprintf|syslog)\\(.*input(?!.*%)
49
+ fix_pattern: Use format specifier never pass user input directly
50
+ cwe: CWE-134
51
+ cve_reference: n/a
52
+ example_vuln: printf(user_input);
53
+ example_fix: printf(\%s\"
54
+ - id: C-04
55
+ name: Integer Overflow
56
+ severity: HIGH
57
+ category: Math
58
+ description: Integer arithmetic without overflow check leads to small buffer
59
+ detection_pattern: (malloc|realloc)\\(.*\\*(?!.*overflow|check)
60
+ fix_pattern: Check for overflow before arithmetic use safe_mul
61
+ cwe: CWE-190
62
+ cve_reference: CVE-2024-7025
63
+ example_vuln: size_t size = width * height; char *buf = malloc(size);
64
+ example_fix: if (width > SIZE_MAX/height) return -1; size_t size = width * height;
65
+ - id: C-05
66
+ name: Off-by-One Error
67
+ severity: HIGH
68
+ category: Memory
69
+ description: Loop boundary error allows one byte overflow
70
+ detection_pattern: for.*\\<.*=.*len|while.*\\<=.*size
71
+ fix_pattern: Use strict < comparison verify buffer bounds
72
+ cwe: CWE-193
73
+ cve_reference: n/a
74
+ example_vuln: for (int i = 0; i <= len; i++) buf[i] = src[i];
75
+ example_fix: for (int i = 0; i < len; i++) buf[i] = src[i];
76
+ - id: C-06
77
+ name: Use After Free
78
+ severity: CRITICAL
79
+ category: Memory
80
+ description: Memory accessed after free causing crash or code execution
81
+ detection_pattern: free\\(.*\\).*\\n.*(?!.*=.*NULL)
82
+ fix_pattern: Set pointer to NULL after free check before use
83
+ cwe: CWE-416
84
+ cve_reference: n/a
85
+ example_vuln: free(ptr); process(ptr);
86
+ example_fix: free(ptr); ptr = NULL; if (ptr) process(ptr);
87
+ - id: C-07
88
+ name: Double Free
89
+ severity: CRITICAL
90
+ category: Memory
91
+ description: Memory freed twice causing heap corruption
92
+ detection_pattern: free\\(.*\\).*\\n.*free\\(.*same_ptr)
93
+ fix_pattern: Set pointer to NULL after free track allocation state
94
+ cwe: CWE-415
95
+ cve_reference: n/a
96
+ example_vuln: free(ptr); free(ptr);
97
+ example_fix: free(ptr); ptr = NULL;
98
+ - id: C-08
99
+ name: Null Pointer Dereference
100
+ severity: HIGH
101
+ category: Memory
102
+ description: Pointer dereferenced without null check
103
+ detection_pattern: \*\\w+(?!.*if.*!=.*NULL|!=.*NULL)
104
+ fix_pattern: Check pointer for NULL before dereference
105
+ cwe: CWE-476
106
+ cve_reference: n/a
107
+ example_vuln: return *data;
108
+ example_fix: if (data == NULL) return -1; return *data;
109
+ - id: C-09
110
+ name: Command Injection system
111
+ severity: CRITICAL
112
+ category: Injection
113
+ description: system() with user input allows command execution
114
+ detection_pattern: system\\(.*input|popen\\(.*user
115
+ fix_pattern: Use execve with argument array avoid shell
116
+ cwe: CWE-78
117
+ cve_reference: n/a
118
+ example_vuln: system(\cat \" + filename);"
119
+ example_fix: execl(\/bin/cat\"
120
+ - id: C-10
121
+ name: Path Traversal
122
+ severity: HIGH
123
+ category: File
124
+ description: User file path without validation allows directory escape
125
+ detection_pattern: fopen\\(.*input(?!.*realpath|canonical)
126
+ fix_pattern: Use realpath validate path is within allowed directory
127
+ cwe: CWE-22
128
+ cve_reference: n/a
129
+ example_vuln: fopen(user_path, \r\");"
130
+ example_fix: char *real = realpath(user_path, NULL); if (strncmp(real, base, strlen(base)) != 0) return -1;
131
+ - id: C-11
132
+ name: Uninitialized Variable
133
+ severity: HIGH
134
+ category: Memory
135
+ description: Variable used before initialization contains garbage
136
+ detection_pattern: (int|char|void\\*)\\s+\\w+;\\s*(?!.*=).*use
137
+ fix_pattern: Initialize all variables at declaration
138
+ cwe: CWE-457
139
+ cve_reference: n/a
140
+ example_vuln: int count; if (flag) count = 10; return count;
141
+ example_fix: int count = 0; if (flag) count = 10; return count;
142
+ - id: C-12
143
+ name: Race Condition File
144
+ severity: HIGH
145
+ category: Concurrency
146
+ description: TOCTOU race between check and use of file
147
+ detection_pattern: access\\(.*\\).*open\\(|stat\\(.*\\).*fopen
148
+ fix_pattern: Use atomic operations fopen directly with flags
149
+ cwe: CWE-367
150
+ cve_reference: n/a
151
+ example_vuln: if (access(file, R_OK) == 0) fopen(file, \r\");"
152
+ example_fix: FILE *f = fopen(file, \r\"); if (f == NULL) return -1;"
153
+ - id: C-13
154
+ name: Insecure Temporary File
155
+ severity: HIGH
156
+ category: File
157
+ description: mktemp creates predictable temporary file names
158
+ detection_pattern: mktemp\\((?!.*mkstemp)
159
+ fix_pattern: Use mkstemp or tmpfile for secure temp files
160
+ cwe: CWE-377
161
+ cve_reference: n/a
162
+ example_vuln: char *tmp = mktemp(template); fopen(tmp, \w\");"
163
+ example_fix: int fd = mkstemp(template); FILE *f = fdopen(fd, \w\");"
164
+ - id: C-14
165
+ name: Memory Leak
166
+ severity: MEDIUM
167
+ category: Memory
168
+ description: Allocated memory never freed causing resource exhaustion
169
+ detection_pattern: malloc|calloc(?!.*free)
170
+ fix_pattern: Ensure every malloc has corresponding free use RAII patterns
171
+ cwe: CWE-401
172
+ cve_reference: n/a
173
+ example_vuln: char *buf = malloc(1024); return result;
174
+ example_fix: char *buf = malloc(1024); /* ... */ free(buf); return result;
175
+ - id: C-15
176
+ name: Unbounded String Copy
177
+ severity: CRITICAL
178
+ category: Memory
179
+ description: String functions without length limit
180
+ detection_pattern: strncat.*sizeof(?!.*-1)|strcat\\(
181
+ fix_pattern: Use strncat with proper size accounting for null terminator
182
+ cwe: CWE-120
183
+ cve_reference: n/a
184
+ example_vuln: strncat(dest, src, sizeof(dest));
185
+ example_fix: strncat(dest, src, sizeof(dest) - strlen(dest) - 1);
186
+ - id: C-16
187
+ name: Signed Integer Overflow
188
+ severity: HIGH
189
+ category: Math
190
+ description: Signed integer overflow is undefined behavior
191
+ detection_pattern: (int|long).*\\+.*>.*MAX|signed.*overflow
192
+ fix_pattern: Use unsigned types or explicit overflow checks
193
+ cwe: CWE-190
194
+ cve_reference: n/a
195
+ example_vuln: int result = a + b; if (result < a) // Too late
196
+ example_fix: if (a > INT_MAX - b) return -1; int result = a + b;
197
+ - id: C-17
198
+ name: Improper Array Index
199
+ severity: HIGH
200
+ category: Memory
201
+ description: Array accessed with unchecked index
202
+ detection_pattern: \\[.*input\\]|\\[.*user(?!.*check|bound)
203
+ fix_pattern: Validate array index against bounds before access
204
+ cwe: CWE-129
205
+ cve_reference: n/a
206
+ example_vuln: return array[user_index];
207
+ example_fix: if (user_index >= array_size) return -1; return array[user_index];
208
+ - id: C-18
209
+ name: Signal Handler Race
210
+ severity: HIGH
211
+ category: Concurrency
212
+ description: Non-reentrant function called from signal handler
213
+ detection_pattern: signal.*handler.*printf|malloc.*signal_handler
214
+ fix_pattern: Use only async-signal-safe functions in handlers
215
+ cwe: CWE-364
216
+ cve_reference: n/a
217
+ example_vuln: void handler(int sig) { printf(\signal\"); }"
218
+ example_fix: void handler(int sig) { write(1, \signal\"
219
+ - id: C-19
220
+ name: Weak Random Number
221
+ severity: HIGH
222
+ category: Crypto
223
+ description: rand() used for security-sensitive values
224
+ detection_pattern: rand\\(\\).*token|srand.*time(?!.*secure)
225
+ fix_pattern: Use CSPRNG like /dev/urandom or arc4random
226
+ cwe: CWE-330
227
+ cve_reference: n/a
228
+ example_vuln: int token = rand();
229
+ example_fix: arc4random_buf(token, sizeof(token));
230
+ - id: C-20
231
+ name: Sensitive Data in Core
232
+ severity: HIGH
233
+ category: Information
234
+ description: Sensitive data may appear in core dumps
235
+ detection_pattern: password|secret.*malloc(?!.*mlock)
236
+ fix_pattern: Use mlock to prevent paging clear sensitive data
237
+ cwe: CWE-316
238
+ cve_reference: n/a
239
+ example_vuln: char *password = malloc(256);
240
+ example_fix: char *password = malloc(256); mlock(password, 256);
241
+ - id: C-21
242
+ name: va_arg Type Mismatch
243
+ severity: CRITICAL
244
+ category: Memory
245
+ description: va_arg used with wrong type causing undefined behavior
246
+ detection_pattern: va_arg\\(.*,\\s*\\w+(?!.*promoted)
247
+ fix_pattern: Match va_arg type with actual argument type
248
+ cwe: CWE-119
249
+ cve_reference: n/a
250
+ example_vuln: int val = va_arg(args, short); // Wrong
251
+ example_fix: int val = va_arg(args, int); // short promotes to int
252
+ - id: C-22
253
+ name: Uncontrolled Recursion
254
+ severity: MEDIUM
255
+ category: DoS
256
+ description: Recursive function without depth limit causes stack overflow
257
+ detection_pattern: \\w+\\(.*\\)\\s*\\{[^}]*\\w+\\((?!.*depth)
258
+ fix_pattern: Add depth parameter and limit max recursion depth
259
+ cwe: CWE-674
260
+ cve_reference: n/a
261
+ example_vuln: void parse(Node *n) { parse(n->child); }
262
+ example_fix: void parse(Node *n, int depth) { if (depth > MAX_DEPTH) return; parse(n->child, depth+1); }
263
+ - id: C-23
264
+ name: Dangerous Function gets
265
+ severity: CRITICAL
266
+ category: Memory
267
+ description: gets() has no bounds checking now deprecated
268
+ detection_pattern: gets\\(
269
+ fix_pattern: Replace with fgets() which has size limit
270
+ cwe: CWE-242
271
+ cve_reference: n/a
272
+ example_vuln: gets(buffer);
273
+ example_fix: fgets(buffer, sizeof(buffer), stdin);
274
+ - id: C-24
275
+ name: Missing Return Value Check
276
+ severity: HIGH
277
+ category: Error
278
+ description: malloc/realloc return value not checked for NULL
279
+ detection_pattern: (malloc|realloc)\\(.*\\)(?!.*if.*==.*NULL|!=.*NULL)
280
+ fix_pattern: Always check return value of memory allocation
281
+ cwe: CWE-252
282
+ cve_reference: n/a
283
+ example_vuln: char *p = malloc(size); *p = 'x';
284
+ example_fix: char *p = malloc(size); if (p == NULL) return -1; *p = 'x';
285
+ - id: C-25
286
+ name: Insecure Permissions
287
+ severity: MEDIUM
288
+ category: File
289
+ description: File created with world-readable permissions
290
+ detection_pattern: open\\(.*0777|fopen(?!.*fchmod)
291
+ fix_pattern: Use restrictive permissions 0600 for sensitive files
292
+ cwe: CWE-732
293
+ cve_reference: n/a
294
+ example_vuln: open(file, O_CREAT, 0777);
295
+ example_fix: open(file, O_CREAT, 0600);