@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,219 @@
1
+ metadata:
2
+ skill: security
3
+ domain: go_security
4
+ version: 6.2.0
5
+ updated: '2026-02-05'
6
+ migrated_from: go-security.csv
7
+ patterns_count: 20
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
19
+ patterns:
20
+ - id: GO-01
21
+ name: Unchecked Error Return
22
+ severity: HIGH
23
+ category: Error
24
+ description: Error return value ignored allowing silent failures
25
+ detection_pattern: err\\s*:?=.*\\n(?!.*if\\s+err|.*err\\s*!=)
26
+ fix_pattern: Always check error returns handle or propagate
27
+ cwe: CWE-252
28
+ example_vuln: result, _ := doSomething()
29
+ example_fix: result, err := doSomething()\nif err != nil { return err }
30
+ - id: GO-02
31
+ name: Race Condition
32
+ severity: CRITICAL
33
+ category: Concurrency
34
+ description: Concurrent map access or shared state without sync
35
+ detection_pattern: (map\\[.*\\].*go\\s+func|go\\s+func.*map\\[)(?!.*sync|mutex|atomic)
36
+ fix_pattern: Use sync.Mutex sync.Map or channels for shared state
37
+ cwe: CWE-362
38
+ example_vuln: var cache map[string]int\ngo func() { cache['key'] = val }()
39
+ example_fix: var mu sync.Mutex\nmu.Lock()\ncache['key'] = val\nmu.Unlock()
40
+ - id: GO-03
41
+ name: Command Injection
42
+ severity: CRITICAL
43
+ category: Injection
44
+ description: User input used in exec.Command without sanitization
45
+ detection_pattern: exec\\.Command\\(.*\\+|fmt\\.Sprintf.*exec\\.Command
46
+ fix_pattern: Use argument arrays never shell strings validate input
47
+ cwe: CWE-78
48
+ example_vuln: exec.Command('sh', '-c', 'echo ' + userInput)
49
+ example_fix: exec.Command('echo', userInput) // No shell
50
+ - id: GO-04
51
+ name: Path Traversal
52
+ severity: HIGH
53
+ category: File
54
+ description: User input in filepath.Join without sanitization
55
+ detection_pattern: filepath\\.Join.*req\\.|os\\.Open.*\\+|ioutil\\.ReadFile.*\\+
56
+ fix_pattern: Use filepath.Clean validate path is within allowed dir
57
+ cwe: CWE-22
58
+ example_vuln: filepath.Join(baseDir, req.URL.Query().Get('file'))
59
+ example_fix: clean := filepath.Clean(userPath)\nif !strings.HasPrefix(clean, baseDir) { return err }
60
+ - id: GO-05
61
+ name: SQL Injection
62
+ severity: CRITICAL
63
+ category: Injection
64
+ description: String concatenation in SQL queries
65
+ detection_pattern: (db\\.Query|db\\.Exec)\\(.*\\+|fmt\\.Sprintf.*Query
66
+ fix_pattern: Use parameterized queries with db.Query(query args...)
67
+ cwe: CWE-89
68
+ example_vuln: db.Query('SELECT * FROM users WHERE id = ' + id)
69
+ example_fix: db.Query('SELECT * FROM users WHERE id = ?', id)
70
+ - id: GO-06
71
+ name: Weak TLS Config
72
+ severity: HIGH
73
+ category: Crypto
74
+ description: TLS config allows weak versions or insecure settings
75
+ detection_pattern: MinVersion.*tls\\.VersionTLS1[01]|InsecureSkipVerify.*true
76
+ fix_pattern: Enforce TLS 1.2+ verify certificates
77
+ cwe: CWE-327
78
+ example_vuln: '&tls.Config{MinVersion: tls.VersionTLS10}'
79
+ example_fix: '&tls.Config{MinVersion: tls.VersionTLS12}'
80
+ - id: GO-07
81
+ name: Unsafe Pointer Use
82
+ severity: HIGH
83
+ category: Memory
84
+ description: Unsafe pointer operations risking memory corruption
85
+ detection_pattern: unsafe\\.Pointer|uintptr(?!.*reflect\\.SliceHeader)
86
+ fix_pattern: Avoid unsafe unless absolutely necessary add bounds checks
87
+ cwe: CWE-119
88
+ example_vuln: ptr := unsafe.Pointer(&data)\n*(*int)(ptr) = 42
89
+ example_fix: // Use safe alternatives or add extensive validation
90
+ - id: GO-08
91
+ name: Missing Timeout
92
+ severity: HIGH
93
+ category: Reliability
94
+ description: HTTP client or context without timeout
95
+ detection_pattern: http\\.DefaultClient|context\\.Background\\(\\)(?!.*WithTimeout)
96
+ fix_pattern: Always set timeouts on HTTP clients and contexts
97
+ cwe: CWE-400
98
+ example_vuln: resp, err := http.Get(url)
99
+ example_fix: ctx, cancel := context.WithTimeout(ctx, 10*time.Second)\nreq = req.WithContext(ctx)
100
+ - id: GO-09
101
+ name: Goroutine Leak
102
+ severity: MEDIUM
103
+ category: Memory
104
+ description: Goroutines started without cancellation mechanism
105
+ detection_pattern: go\\s+func\\(\\)(?!.*context|done|cancel)
106
+ fix_pattern: Use context for cancellation or done channels
107
+ cwe: CWE-400
108
+ example_vuln: go func() { for { process() } }()
109
+ example_fix: 'go func() { for { select { case <-ctx.Done(): return } } }()'
110
+ - id: GO-10
111
+ name: Template Injection
112
+ severity: HIGH
113
+ category: Injection
114
+ description: User input in HTML templates without escaping
115
+ detection_pattern: template\\.HTML\\(.*req|text/template.*user
116
+ fix_pattern: Use html/template package always escape user data
117
+ cwe: CWE-79
118
+ example_vuln: template.HTML(userInput)
119
+ example_fix: // html/template auto-escapes\ntmpl.Execute(w, data) // data is escaped
120
+ - id: GO-11
121
+ name: SSRF Via HTTP Client
122
+ severity: CRITICAL
123
+ category: Network
124
+ description: User-controlled URLs fetched without validation
125
+ detection_pattern: http\\.(Get|Post|Do).*req\\.(URL|Body|Query)
126
+ fix_pattern: Validate URLs against allowlist block internal IPs
127
+ cwe: CWE-918
128
+ example_vuln: http.Get(req.Query.Get('url'))
129
+ example_fix: url := req.Query.Get('url')\nif !isAllowed(url) { return }\nhttp.Get(url)
130
+ - id: GO-12
131
+ name: Crypto Rand Misuse
132
+ severity: HIGH
133
+ category: Crypto
134
+ description: Using math/rand instead of crypto/rand for security
135
+ detection_pattern: math/rand(?!.*seed)|rand\\.(Int|Read)(?!.*crypto)
136
+ fix_pattern: Use crypto/rand for security-sensitive random values
137
+ cwe: CWE-338
138
+ example_vuln: import 'math/rand'\ntoken := rand.Int()
139
+ example_fix: import 'crypto/rand'\nrand.Read(token)
140
+ - id: GO-13
141
+ name: Defer in Loop
142
+ severity: MEDIUM
143
+ category: Resource
144
+ description: Defer statement inside loop causing resource accumulation
145
+ detection_pattern: for.*\\{[^}]*defer
146
+ fix_pattern: Move defer outside loop or use explicit close
147
+ cwe: CWE-400
148
+ example_vuln: for _, f := range files { defer f.Close() }
149
+ example_fix: for _, f := range files { f.Close() }
150
+ - id: GO-14
151
+ name: Missing Input Validation
152
+ severity: HIGH
153
+ category: Input
154
+ description: No validation on struct fields from HTTP request
155
+ detection_pattern: json\\.Unmarshal.*req\\.Body(?!.*valid)
156
+ fix_pattern: Use validator package validate before processing
157
+ cwe: CWE-20
158
+ example_vuln: json.Unmarshal(body, &req)
159
+ example_fix: json.Unmarshal(body, &req)\nif err := validate.Struct(req); err != nil { return err }
160
+ - id: GO-15
161
+ name: Hardcoded Credentials
162
+ severity: CRITICAL
163
+ category: Secrets
164
+ description: Passwords or API keys hardcoded in source
165
+ detection_pattern: (password|apikey|secret)\\s*[:=]\\s*['\][^'\"]+['\"]"
166
+ fix_pattern: Use environment variables or secrets manager
167
+ cwe: CWE-798
168
+ example_vuln: dbPassword := 'mypassword123'
169
+ example_fix: dbPassword := os.Getenv('DB_PASSWORD')
170
+ - id: GO-16
171
+ name: Integer Overflow
172
+ severity: HIGH
173
+ category: Math
174
+ description: Integer operations without overflow check
175
+ detection_pattern: \\+\\+|\\+=|\\*=(?!.*overflow|check)
176
+ fix_pattern: Use math.MaxInt checks or safe math libraries
177
+ cwe: CWE-190
178
+ example_vuln: total := a + b // May overflow
179
+ example_fix: if a > math.MaxInt64-b { return ErrOverflow }\ntotal := a + b
180
+ - id: GO-17
181
+ name: Missing CSRF Protection
182
+ severity: HIGH
183
+ category: Web
184
+ description: Form handlers without CSRF token validation
185
+ detection_pattern: http\\.HandleFunc.*/.*POST(?!.*csrf)
186
+ fix_pattern: Implement CSRF tokens for all state-changing requests
187
+ cwe: CWE-352
188
+ example_vuln: http.HandleFunc('/transfer', transferHandler)
189
+ example_fix: // Use gorilla/csrf middleware\nhttp.Handle('/transfer', csrf.Protect(key)(handler))
190
+ - id: GO-18
191
+ name: Open Redirect
192
+ severity: MEDIUM
193
+ category: Web
194
+ description: Redirect destination from user input without validation
195
+ detection_pattern: http\\.Redirect.*req\\.(URL|Query|Form)
196
+ fix_pattern: Validate redirect URLs against allowlist
197
+ cwe: CWE-601
198
+ example_vuln: http.Redirect(w, r, r.Query.Get('next'), 302)
199
+ example_fix: next := r.Query.Get('next')\nif !isInternal(next) { next = '/' }\nhttp.Redirect(w, r, next, 302)
200
+ - id: GO-19
201
+ name: Nil Pointer Dereference
202
+ severity: HIGH
203
+ category: Runtime
204
+ description: Pointer usage without nil check
205
+ detection_pattern: (\\*\\w+)\\.(\\w+)(?<!if.*!=.*nil.*\\{)
206
+ fix_pattern: Check for nil before dereferencing pointers
207
+ cwe: CWE-476
208
+ example_vuln: user.Name // user may be nil
209
+ example_fix: if user == nil { return ErrNotFound }\nname := user.Name
210
+ - id: GO-20
211
+ name: Sync Once Misuse
212
+ severity: MEDIUM
213
+ category: Concurrency
214
+ description: sync.Once with closure over wrong variable
215
+ detection_pattern: sync\\.Once.*Do.*func.*\\{.*rangeVar
216
+ fix_pattern: Capture loop variable correctly in closure
217
+ cwe: CWE-362
218
+ example_vuln: for _, v := range items { once.Do(func() { use(v) }) }
219
+ example_fix: for _, v := range items { v := v; once.Do(func() { use(v) }) }
@@ -0,0 +1,295 @@
1
+ metadata:
2
+ skill: security
3
+ domain: java_security
4
+ version: 6.2.0
5
+ updated: '2026-02-05'
6
+ migrated_from: java-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: JV-01
22
+ name: Unsafe Deserialization
23
+ severity: CRITICAL
24
+ category: Deserialization
25
+ description: ObjectInputStream deserializes untrusted data leading to RCE
26
+ detection_pattern: ObjectInputStream(?!.*SerialKiller|whitelist)
27
+ fix_pattern: Use look-ahead deserialization with class whitelist
28
+ cwe: CWE-502
29
+ cve_reference: CVE-2024-28212
30
+ example_vuln: new ObjectInputStream(untrusted).readObject()
31
+ example_fix: ObjectInputFilter filter = ...; ois.setObjectInputFilter(filter);
32
+ - id: JV-02
33
+ name: JNDI Injection
34
+ severity: CRITICAL
35
+ category: Injection
36
+ description: InitialContext.lookup with user input allows RCE via LDAP/RMI
37
+ detection_pattern: InitialContext.*lookup.*input(?!.*allowlist)
38
+ fix_pattern: Restrict JNDI protocols and factory classes
39
+ cwe: CWE-74
40
+ cve_reference: CVE-2022-44228,CVE-2024-22319
41
+ example_vuln: ctx.lookup(userInput)
42
+ example_fix: '// Restrict to java: naming\nif (!url.startsWith(\java:\")) throw new SecurityException();"'
43
+ - id: JV-03
44
+ name: JNDI iiop Bypass
45
+ severity: CRITICAL
46
+ category: Injection
47
+ description: JNDI injection via iiop/corbaname bypasses blacklists
48
+ detection_pattern: 'lookup.*iiop:|lookup.*corbaname:'
49
+ fix_pattern: Disable iiop corbaname iiopname protocols
50
+ cwe: CWE-74
51
+ cve_reference: CVE-2025-64428
52
+ example_vuln: ctx.lookup(\iiop://evil\" + input)"
53
+ example_fix: // Block all non-java protocols\nSystem.setProperty(\jdk.jndi.object.factoriesFilter\"
54
+ - id: JV-04
55
+ name: Spring SpEL Injection
56
+ severity: CRITICAL
57
+ category: Injection
58
+ description: SpEL parseExpression with user input leads to RCE
59
+ detection_pattern: SpelExpressionParser.*parseExpression.*input
60
+ fix_pattern: Use SimpleEvaluationContext or avoid SpEL with user input
61
+ cwe: CWE-917
62
+ cve_reference: n/a
63
+ example_vuln: new SpelExpressionParser().parseExpression(input)
64
+ example_fix: StandardEvaluationContext ctx = new StandardEvaluationContext();\nctx.setRootObject(safeData); // No user input in expression
65
+ - id: JV-05
66
+ name: Spring Authorization Bypass
67
+ severity: HIGH
68
+ category: Authorization
69
+ description: Inherited method annotations not detected in complex hierarchies
70
+ detection_pattern: '@PreAuthorize.*extends.*\\<.*\\>(?!.*6\\.4\\.10)'
71
+ fix_pattern: Upgrade Spring Security 6.4.10+ or 6.5.4+
72
+ cwe: CWE-863
73
+ cve_reference: CVE-2025-41248,CVE-2025-41249
74
+ example_vuln: '@PreAuthorize on parent method with unbounded generic'
75
+ example_fix: // Upgrade Spring Security to 6.4.10+ or 6.5.4+
76
+ - id: JV-06
77
+ name: Log4j Message Lookup
78
+ severity: CRITICAL
79
+ category: Injection
80
+ description: Log4j 2.x allows JNDI lookups in log messages
81
+ detection_pattern: log\\.(info|error|debug).*\\$\\{(?!.*2\\.17)
82
+ fix_pattern: Upgrade Log4j 2.17+ and set log4j2.formatMsgNoLookups=true
83
+ cwe: CWE-917
84
+ cve_reference: CVE-2021-44228,CVE-2021-45046
85
+ example_vuln: 'log.error(\User: \" + userInput) // Contains ${jndi:ldap://}"'
86
+ example_fix: 'log.error(\User: {}\"'
87
+ - id: JV-07
88
+ name: XML External Entity
89
+ severity: CRITICAL
90
+ category: Injection
91
+ description: DocumentBuilder allows external entity resolution
92
+ detection_pattern: DocumentBuilderFactory(?!.*setFeature.*false)
93
+ fix_pattern: Disable external entities and DTD processing
94
+ cwe: CWE-611
95
+ cve_reference: n/a
96
+ example_vuln: factory.newDocumentBuilder().parse(xmlInput)
97
+ example_fix: factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);\nfactory.setFeature(\http://apache.org/xml/features/disallow-doctype-decl\"
98
+ - id: JV-08
99
+ name: XXE SAXParser
100
+ severity: CRITICAL
101
+ category: Injection
102
+ description: SAXParser allows XXE via external entities
103
+ detection_pattern: SAXParserFactory(?!.*setFeature.*disallow-doctype)
104
+ fix_pattern: Disable DTD processing in SAXParserFactory
105
+ cwe: CWE-611
106
+ cve_reference: n/a
107
+ example_vuln: SAXParserFactory.newInstance().newSAXParser().parse(xml)
108
+ example_fix: factory.setFeature(\http://apache.org/xml/features/disallow-doctype-decl\"
109
+ - id: JV-09
110
+ name: SQL Injection Statement
111
+ severity: CRITICAL
112
+ category: Injection
113
+ description: Statement.execute with string concatenation
114
+ detection_pattern: Statement.*execute.*\\+.*input|createStatement.*\\+
115
+ fix_pattern: Use PreparedStatement with parameterized queries
116
+ cwe: CWE-89
117
+ cve_reference: n/a
118
+ example_vuln: stmt.execute(\SELECT * WHERE id=\" + id)"
119
+ example_fix: PreparedStatement ps = conn.prepareStatement(\SELECT * WHERE id=?\");\nps.setInt(1
120
+ - id: JV-10
121
+ name: SSRF RestTemplate
122
+ severity: HIGH
123
+ category: Network
124
+ description: RestTemplate with user URL allows SSRF
125
+ detection_pattern: RestTemplate.*getForObject.*input(?!.*allowlist)
126
+ fix_pattern: Validate URLs against allowlist block internal IPs
127
+ cwe: CWE-918
128
+ cve_reference: n/a
129
+ example_vuln: restTemplate.getForObject(userUrl, String.class)
130
+ example_fix: if (isAllowedUrl(userUrl)) restTemplate.getForObject(userUrl, String.class);
131
+ - id: JV-11
132
+ name: Path Traversal Files
133
+ severity: HIGH
134
+ category: File
135
+ description: File constructor with user input allows path traversal
136
+ detection_pattern: new\\s+File.*input(?!.*normalize|canonicalize)
137
+ fix_pattern: Use Path.normalize() and validate against base directory
138
+ cwe: CWE-22
139
+ cve_reference: n/a
140
+ example_vuln: new File(base + userInput)
141
+ example_fix: Path path = Paths.get(base, userInput).normalize();\nif (!path.startsWith(base)) throw new SecurityException();
142
+ - id: JV-12
143
+ name: Insecure Random
144
+ severity: HIGH
145
+ category: Cryptography
146
+ description: java.util.Random used for security-sensitive values
147
+ detection_pattern: java\\.util\\.Random(?!.*SecureRandom).*token|session
148
+ fix_pattern: Use java.security.SecureRandom for cryptographic purposes
149
+ cwe: CWE-330
150
+ cve_reference: n/a
151
+ example_vuln: new Random().nextLong() // For token
152
+ example_fix: new SecureRandom().nextLong()
153
+ - id: JV-13
154
+ name: Hardcoded Credentials
155
+ severity: HIGH
156
+ category: Secrets
157
+ description: Password or secret hardcoded in source code
158
+ detection_pattern: (password|apiKey|secret)\\s*=\\s*\[^\"]+\""
159
+ fix_pattern: Use environment variables or secrets manager
160
+ cwe: CWE-798
161
+ cve_reference: n/a
162
+ example_vuln: String apiKey = \sk-1234567890\";"
163
+ example_fix: String apiKey = System.getenv(\API_KEY\");"
164
+ - id: JV-14
165
+ name: Weak Password Hash
166
+ severity: HIGH
167
+ category: Cryptography
168
+ description: MD5 or SHA1 used for password hashing
169
+ detection_pattern: MessageDigest.*getInstance.*(MD5|SHA-1).*password
170
+ fix_pattern: Use bcrypt scrypt or PBKDF2 with sufficient iterations
171
+ cwe: CWE-327
172
+ cve_reference: n/a
173
+ example_vuln: MessageDigest.getInstance(\MD5\").digest(password.getBytes())"
174
+ example_fix: BCrypt.hashpw(password, BCrypt.gensalt(12))
175
+ - id: JV-15
176
+ name: Timing Attack BCrypt
177
+ severity: MEDIUM
178
+ category: Authentication
179
+ description: BCrypt comparison bypassed with long passwords 72+ chars
180
+ detection_pattern: BCryptPasswordEncoder(?!.*truncate|length)
181
+ fix_pattern: Check password length before BCrypt or upgrade Spring Security 6.4.10+
182
+ cwe: CWE-208
183
+ cve_reference: CVE-2025-22234
184
+ example_vuln: // Password > 72 chars bypasses timing protection
185
+ example_fix: if (password.length() > 72) throw new IllegalArgumentException();
186
+ - id: JV-16
187
+ name: Insecure Cookie
188
+ severity: HIGH
189
+ category: Session
190
+ description: Cookie without Secure/HttpOnly flags
191
+ detection_pattern: new\\s+Cookie(?!.*setSecure|setHttpOnly)
192
+ fix_pattern: Set Secure HttpOnly and SameSite attributes
193
+ cwe: CWE-614
194
+ cve_reference: n/a
195
+ example_vuln: Cookie c = new Cookie(\session\"
196
+ example_fix: token);"
197
+ - id: JV-17
198
+ name: OGNL Injection Struts
199
+ severity: CRITICAL
200
+ category: Injection
201
+ description: OGNL expression evaluation with user input
202
+ detection_pattern: OgnlContext.*getValue.*input|Ognl.*getValue
203
+ fix_pattern: Upgrade Struts disable OGNL in user-facing code
204
+ cwe: CWE-917
205
+ cve_reference: CVE-2017-5638
206
+ example_vuln: Ognl.getValue(userExpression, context)
207
+ example_fix: // Struts 2.5.30+ with excludedPatterns
208
+ - id: JV-18
209
+ name: Spring Kafka Deser
210
+ severity: HIGH
211
+ category: Deserialization
212
+ description: Improper ErrorHandlingDeserializer config allows RCE
213
+ detection_pattern: ErrorHandlingDeserializer(?!.*checkHeaders|trusted)
214
+ fix_pattern: Configure trusted packages or disable exception header deser
215
+ cwe: CWE-502
216
+ cve_reference: CVE-2023-34040
217
+ example_vuln: '@KafkaListener with default ErrorHandlingDeserializer'
218
+ example_fix: spring.kafka.consumer.properties.spring.deserializer.key.delegate.class=StringDeserializer
219
+ - id: JV-19
220
+ name: DoS Spring Security
221
+ severity: HIGH
222
+ category: DoS
223
+ description: Spring Security 6.1/6.2 vulnerable to DoS with MVC
224
+ detection_pattern: Spring.*MVC.*Security\\.6\\.(1\\.[0-5]|2\\.[0-1])
225
+ fix_pattern: Upgrade Spring Framework 6.0.16+ or Spring Security 6.2.2+
226
+ cwe: CWE-400
227
+ cve_reference: CVE-2024-22233
228
+ example_vuln: // Affected versions
229
+ example_fix: // Upgrade to Spring Security 6.2.2+
230
+ - id: JV-20
231
+ name: JWT Algorithm Confusion
232
+ severity: CRITICAL
233
+ category: Authentication
234
+ description: JWT verification without algorithm restriction
235
+ detection_pattern: Jwts\\.parser(?!.*setSigningKey.*Algorithm)
236
+ fix_pattern: Explicitly specify allowed algorithms in JWT parser
237
+ cwe: CWE-347
238
+ cve_reference: n/a
239
+ example_vuln: Jwts.parser().setSigningKey(key).parse(token)
240
+ example_fix: Jwts.parserBuilder().setSigningKey(key).setAllowedClockSkewSeconds(0).requireAlgorithm(\HS256\").build();"
241
+ - id: JV-21
242
+ name: SSRF WebClient
243
+ severity: HIGH
244
+ category: Network
245
+ description: WebClient with user URL allows SSRF
246
+ detection_pattern: WebClient.*uri.*input(?!.*validate)
247
+ fix_pattern: Validate URLs block internal networks
248
+ cwe: CWE-918
249
+ cve_reference: n/a
250
+ example_vuln: webClient.get().uri(userUrl).retrieve()
251
+ example_fix: if (isExternalUrl(userUrl)) webClient.get().uri(userUrl).retrieve();
252
+ - id: JV-22
253
+ name: Reflection Injection
254
+ severity: HIGH
255
+ category: Injection
256
+ description: Class.forName with user input allows instantiation of dangerous classes
257
+ detection_pattern: Class\\.forName.*input(?!.*allowlist)
258
+ fix_pattern: Whitelist allowed classes for reflection
259
+ cwe: CWE-470
260
+ cve_reference: n/a
261
+ example_vuln: Class.forName(userInput).newInstance()
262
+ example_fix: if (ALLOWED_CLASSES.contains(userInput)) Class.forName(userInput).newInstance();
263
+ - id: JV-23
264
+ name: LDAP Injection
265
+ severity: HIGH
266
+ category: Injection
267
+ description: LDAP filter with unsanitized user input
268
+ detection_pattern: search.*filter.*\\+.*input(?!.*escape)
269
+ fix_pattern: Use parameterized LDAP filters or escape special characters
270
+ cwe: CWE-90
271
+ cve_reference: n/a
272
+ example_vuln: ctx.search(\ou=users\"
273
+ example_fix: \"(uid=\" + input + \")\")"
274
+ - id: JV-24
275
+ name: Zip Slip
276
+ severity: HIGH
277
+ category: File
278
+ description: Zip extraction without validating entry names allows path traversal
279
+ detection_pattern: ZipInputStream.*getNextEntry(?!.*normalize|canonical)
280
+ fix_pattern: Validate zip entry names against destination directory
281
+ cwe: CWE-22
282
+ cve_reference: n/a
283
+ example_vuln: new File(destDir, entry.getName())
284
+ example_fix: Path dest = destDir.resolve(entry.getName()).normalize();\nif (!dest.startsWith(destDir)) throw new SecurityException();
285
+ - id: JV-25
286
+ name: Server-Side Request Forgery URL
287
+ severity: HIGH
288
+ category: Network
289
+ description: java.net.URL with user input allows SSRF
290
+ detection_pattern: new\\s+URL.*input.*openConnection(?!.*validate)
291
+ fix_pattern: Validate URL protocol host and port against allowlist
292
+ cwe: CWE-918
293
+ cve_reference: n/a
294
+ example_vuln: new URL(userInput).openConnection()
295
+ example_fix: URL url = new URL(userInput);\nif (isAllowed(url.getHost())) url.openConnection();